{"ground_truth": ["", "bool", "A15SDOptimizer", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "(", "STI", ".", "isCortexA15", "(", ")", "&&", "STI", ".", "hasNEON", "(", ")", ")", ")", "return", "false", ";", "TII", "=", "STI", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Running on function \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "DeadInstr", ".", "clear", "(", ")", ";", "Replacements", ".", "clear", "(", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "for", "(", "MachineBasicBlock", "::", "iterator", "MI", "=", "MFI", "->", "begin", "(", ")", ",", "ME", "=", "MFI", "->", "end", "(", ")", ";", "MI", "!=", "ME", ";", ")", "{", "Modified", "|=", "runOnInstruction", "(", "MI", "++", ")", ";", "}", "}", "for", "(", "std", "::", "set", "<", "MachineInstr", "*", ">", "::", "iterator", "I", "=", "DeadInstr", ".", "begin", "(", ")", ",", "E", "=", "DeadInstr", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "(", "*", "I", ")", "->", "eraseFromParent", "(", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"Running on function \"", "\"\\n\""], "File": "A15SDOptimizer (2)1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9497, "Length": 218} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM A15 S->D optimizer\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM A15 S->D optimizer\""], "File": "A15SDOptimizer (2)", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9498, "Length": 13} {"ground_truth": ["", "bool", "A15SDOptimizer", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Fn", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "Fn", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Running on function \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "DeadInstr", ".", "clear", "(", ")", ";", "Replacements", ".", "clear", "(", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "for", "(", "MachineBasicBlock", "::", "iterator", "MI", "=", "MFI", "->", "begin", "(", ")", ",", "ME", "=", "MFI", "->", "end", "(", ")", ";", "MI", "!=", "ME", ";", ")", "{", "Modified", "|=", "runOnInstruction", "(", "MI", "++", ")", ";", "}", "}", "for", "(", "std", "::", "set", "<", "MachineInstr", "*", ">", "::", "iterator", "I", "=", "DeadInstr", ".", "begin", "(", ")", ",", "E", "=", "DeadInstr", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "(", "*", "I", ")", "->", "eraseFromParent", "(", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"Running on function \"", "\"\\n\""], "File": "A15SDOptimizer (2)", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9499, "Length": 200} {"ground_truth": ["", "bool", "A15SDOptimizer", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "skipFunction", "(", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "STI", "=", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "(", "STI", ".", "useSplatVFPToNeon", "(", ")", "&&", "STI", ".", "hasNEON", "(", ")", ")", ")", "return", "false", ";", "TII", "=", "STI", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Running on function \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "DeadInstr", ".", "clear", "(", ")", ";", "Replacements", ".", "clear", "(", ")", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "{", "for", "(", "MachineInstr", "&", "MI", ":", "MBB", ")", "{", "Modified", "|=", "runOnInstruction", "(", "&", "MI", ")", ";", "}", "}", "for", "(", "MachineInstr", "*", "MI", ":", "DeadInstr", ")", "{", "MI", "->", "eraseFromParent", "(", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"Running on function \"", "\"\\n\""], "File": "A15SDOptimizer13", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9500, "Length": 165} {"ground_truth": ["", "bool", "A15SDOptimizer", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "skipFunction", "(", "*", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "STI", "=", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "(", "STI", ".", "isCortexA15", "(", ")", "&&", "STI", ".", "hasNEON", "(", ")", ")", ")", "return", "false", ";", "TII", "=", "STI", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Running on function \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "DeadInstr", ".", "clear", "(", ")", ";", "Replacements", ".", "clear", "(", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "for", "(", "MachineBasicBlock", "::", "iterator", "MI", "=", "MFI", "->", "begin", "(", ")", ",", "ME", "=", "MFI", "->", "end", "(", ")", ";", "MI", "!=", "ME", ";", ")", "{", "Modified", "|=", "runOnInstruction", "(", "&", "*", "MI", "++", ")", ";", "}", "}", "for", "(", "std", "::", "set", "<", "MachineInstr", "*", ">", "::", "iterator", "I", "=", "DeadInstr", ".", "begin", "(", ")", ",", "E", "=", "DeadInstr", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "(", "*", "I", ")", "->", "eraseFromParent", "(", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"Running on function \"", "\"\\n\""], "File": "A15SDOptimizer14", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9501, "Length": 235} {"ground_truth": ["", "bool", "A15SDOptimizer", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "skipFunction", "(", "*", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "STI", "=", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "(", "STI", ".", "isCortexA15", "(", ")", "&&", "STI", ".", "hasNEON", "(", ")", ")", ")", "return", "false", ";", "TII", "=", "STI", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Running on function \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "DeadInstr", ".", "clear", "(", ")", ";", "Replacements", ".", "clear", "(", ")", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "{", "for", "(", "MachineInstr", "&", "MI", ":", "MBB", ")", "{", "Modified", "|=", "runOnInstruction", "(", "&", "MI", ")", ";", "}", "}", "for", "(", "MachineInstr", "*", "MI", ":", "DeadInstr", ")", "{", "MI", "->", "eraseFromParent", "(", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"Running on function \"", "\"\\n\""], "File": "A15SDOptimizer18", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9502, "Length": 166} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM A15 S->D optimizer\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM A15 S->D optimizer\""], "File": "A15SDOptimizer1", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9503, "Length": 11} {"ground_truth": ["", "bool", "A15SDOptimizer", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "skipFunction", "(", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "STI", "=", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "(", "STI", ".", "isCortexA15", "(", ")", "&&", "STI", ".", "hasNEON", "(", ")", ")", ")", "return", "false", ";", "TII", "=", "STI", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Running on function \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "DeadInstr", ".", "clear", "(", ")", ";", "Replacements", ".", "clear", "(", ")", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "{", "for", "(", "MachineInstr", "&", "MI", ":", "MBB", ")", "{", "Modified", "|=", "runOnInstruction", "(", "&", "MI", ")", ";", "}", "}", "for", "(", "MachineInstr", "*", "MI", ":", "DeadInstr", ")", "{", "MI", "->", "eraseFromParent", "(", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"Running on function \"", "\"\\n\""], "File": "A15SDOptimizer1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9504, "Length": 165} {"ground_truth": ["", "bool", "A15SDOptimizer", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "skipFunction", "(", "*", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "STI", "=", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "(", "STI", ".", "isCortexA15", "(", ")", "&&", "STI", ".", "hasNEON", "(", ")", ")", ")", "return", "false", ";", "TII", "=", "STI", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Running on function \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "DeadInstr", ".", "clear", "(", ")", ";", "Replacements", ".", "clear", "(", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "for", "(", "MachineBasicBlock", "::", "iterator", "MI", "=", "MFI", "->", "begin", "(", ")", ",", "ME", "=", "MFI", "->", "end", "(", ")", ";", "MI", "!=", "ME", ";", ")", "{", "Modified", "|=", "runOnInstruction", "(", "MI", "++", ")", ";", "}", "}", "for", "(", "std", "::", "set", "<", "MachineInstr", "*", ">", "::", "iterator", "I", "=", "DeadInstr", ".", "begin", "(", ")", ",", "E", "=", "DeadInstr", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "(", "*", "I", ")", "->", "eraseFromParent", "(", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"Running on function \"", "\"\\n\""], "File": "A15SDOptimizer20", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9505, "Length": 233} {"ground_truth": ["", "bool", "A15SDOptimizer", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "skipFunction", "(", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "STI", "=", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "(", "STI", ".", "isCortexA15", "(", ")", "&&", "STI", ".", "hasNEON", "(", ")", ")", ")", "return", "false", ";", "TII", "=", "STI", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Running on function \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "DeadInstr", ".", "clear", "(", ")", ";", "Replacements", ".", "clear", "(", ")", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "{", "for", "(", "MachineInstr", "&", "MI", ":", "MBB", ")", "{", "Modified", "|=", "runOnInstruction", "(", "&", "MI", ")", ";", "}", "}", "for", "(", "MachineInstr", "*", "MI", ":", "DeadInstr", ")", "{", "MI", "->", "eraseFromParent", "(", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"Running on function \"", "\"\\n\""], "File": "A15SDOptimizer21", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9506, "Length": 165} {"ground_truth": ["", "bool", "A15SDOptimizer", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "Fn", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Running on function \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "DeadInstr", ".", "clear", "(", ")", ";", "Replacements", ".", "clear", "(", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "for", "(", "MachineBasicBlock", "::", "iterator", "MI", "=", "MFI", "->", "begin", "(", ")", ",", "ME", "=", "MFI", "->", "end", "(", ")", ";", "MI", "!=", "ME", ";", ")", "{", "Modified", "|=", "runOnInstruction", "(", "MI", "++", ")", ";", "}", "}", "for", "(", "std", "::", "set", "<", "MachineInstr", "*", ">", "::", "iterator", "I", "=", "DeadInstr", ".", "begin", "(", ")", ",", "E", "=", "DeadInstr", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "(", "*", "I", ")", "->", "eraseFromParent", "(", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"Running on function \"", "\"\\n\""], "File": "A15SDOptimizer28", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9507, "Length": 200} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"ARM A15 S->D optimizer\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM A15 S->D optimizer\""], "File": "A15SDOptimizer2", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9508, "Length": 13} {"ground_truth": ["", "StringRef", "ARMALFWriter", "::", "getPassName", "(", ")", "const", "{", "return", "\"ARMALFWriter\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "ARM", "\"ARMALFWriter\""], "File": "ARMALFWriter", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9509, "Length": 12} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCFixup", "&", "Fixup", ",", "char", "*", "Data", ",", "unsigned", "DataSize", ",", "uint64_t", "Value", ",", "bool", "IsPCRel", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "Value", "=", "adjustFixupValue", "(", "Fixup", ",", "Value", ",", "IsPCRel", ",", "nullptr", ",", "IsLittleEndian", ",", "true", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "DataSize", "&&", "\"Invalid fixup offset!\"", ")", ";", "unsigned", "FullSizeBytes", ";", "if", "(", "!", "IsLittleEndian", ")", "{", "FullSizeBytes", "=", "getFixupKindContainerSizeBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "assert", "(", "(", "Offset", "+", "FullSizeBytes", ")", "<=", "DataSize", "&&", "\"Invalid fixup size!\"", ")", ";", "assert", "(", "NumBytes", "<=", "FullSizeBytes", "&&", "\"Invalid fixup size!\"", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "{", "unsigned", "Idx", "=", "IsLittleEndian", "?", "i", ":", "(", "FullSizeBytes", "-", "1", "-", "i", ")", ";", "Data", "[", "Offset", "+", "Idx", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "\"Invalid fixup size!\"", "\"Invalid fixup size!\"", "0", "1", "8", "0xff"], "File": "ARMAsmBackend (2)1", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9510, "Length": 178} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "fixupNeedsRelaxation", "(", "const", "MCFixup", "&", "Fixup", ",", "uint64_t", "Value", ",", "const", "MCRelaxableFragment", "*", "DF", ",", "const", "MCAsmLayout", "&", "Layout", ")", "const", "{", "return", "reasonForFixupRelaxation", "(", "Fixup", ",", "Value", ")", ";", "}", ""], "natrual_language": ["Simple", "predicate", "for", "targets", "where", "!", "Resolved", "implies", "requiring", "relaxation", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmBackend (2)1", "Func": "fixupNeedsRelaxation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9511, "Length": 34} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "handleAssemblerFlag", "(", "MCAssemblerFlag", "Flag", ")", "{", "switch", "(", "Flag", ")", "{", "default", ":", "break", ";", "case", "MCAF_Code16", ":", "setIsThumb", "(", "true", ")", ";", "break", ";", "case", "MCAF_Code32", ":", "setIsThumb", "(", "false", ")", ";", "break", ";", "}", "}", ""], "natrual_language": ["Handle", "any", "target-specific", "assembler", "flags", ".", "By", "default", ",", "do", "nothing", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmBackend (2)1", "Func": "handleAssemblerFlag", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9512, "Length": 40} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "relaxInstruction", "(", "const", "MCInst", "&", "Inst", ",", "MCInst", "&", "Res", ")", "const", "{", "unsigned", "RelaxedOp", "=", "getRelaxedOpcode", "(", "Inst", ".", "getOpcode", "(", ")", ")", ";", "if", "(", "RelaxedOp", "==", "Inst", ".", "getOpcode", "(", ")", ")", "{", "SmallString", "<", "256", ">", "Tmp", ";", "raw_svector_ostream", "OS", "(", "Tmp", ")", ";", "Inst", ".", "dump_pretty", "(", "OS", ")", ";", "OS", "<<", "\"\\n\"", ";", "report_fatal_error", "(", "\"unexpected instruction to relax: \"", "+", "OS", ".", "str", "(", ")", ")", ";", "}", "if", "(", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tCBZ", "||", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tCBNZ", ")", "&&", "RelaxedOp", "==", "ARM", "::", "tHINT", ")", "{", "Res", ".", "setOpcode", "(", "RelaxedOp", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "0", ")", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "14", ")", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "createReg", "(", "0", ")", ")", ";", "return", ";", "}", "Res", "=", "Inst", ";", "Res", ".", "setOpcode", "(", "RelaxedOp", ")", ";", "}", ""], "natrual_language": ["Relax", "the", "instruction", "in", "the", "given", "fragment", "to", "the", "next", "wider", "instruction", "."], "TS_V_token": ["ARM", "ARM", "256", "\"\\n\"", "\"unexpected instruction to relax: \"", "ARM::tCBZ", "ARM::tCBNZ", "ARM::tHINT", "0", "14", "0"], "File": "ARMAsmBackend (2)1", "Func": "relaxInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9513, "Length": 163} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "writeNopData", "(", "uint64_t", "Count", ",", "MCObjectWriter", "*", "OW", ")", "const", "{", "const", "uint16_t", "Thumb1_16bitNopEncoding", "=", "0x46c0", ";", "const", "uint16_t", "Thumb2_16bitNopEncoding", "=", "0xbf00", ";", "const", "uint32_t", "ARMv4_NopEncoding", "=", "0xe1a00000", ";", "const", "uint32_t", "ARMv6T2_NopEncoding", "=", "0xe320f000", ";", "if", "(", "isThumb", "(", ")", ")", "{", "const", "uint16_t", "nopEncoding", "=", "hasNOP", "(", ")", "?", "Thumb2_16bitNopEncoding", ":", "Thumb1_16bitNopEncoding", ";", "uint64_t", "NumNops", "=", "Count", "/", "2", ";", "for", "(", "uint64_t", "i", "=", "0", ";", "i", "!=", "NumNops", ";", "++", "i", ")", "OW", "->", "write16", "(", "nopEncoding", ")", ";", "if", "(", "Count", "&", "1", ")", "OW", "->", "write8", "(", "0", ")", ";", "return", "true", ";", "}", "const", "uint32_t", "nopEncoding", "=", "hasNOP", "(", ")", "?", "ARMv6T2_NopEncoding", ":", "ARMv4_NopEncoding", ";", "uint64_t", "NumNops", "=", "Count", "/", "4", ";", "for", "(", "uint64_t", "i", "=", "0", ";", "i", "!=", "NumNops", ";", "++", "i", ")", "OW", "->", "write32", "(", "nopEncoding", ")", ";", "switch", "(", "Count", "%", "4", ")", "{", "default", ":", "break", ";", "case", "1", ":", "OW", "->", "write8", "(", "0", ")", ";", "break", ";", "case", "2", ":", "OW", "->", "write16", "(", "0", ")", ";", "break", ";", "case", "3", ":", "OW", "->", "write16", "(", "0", ")", ";", "OW", "->", "write8", "(", "0xa0", ")", ";", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Write", "an", "(", "optimal", ")", "nop", "sequence", "of", "Count", "bytes", "to", "the", "given", "output", "."], "TS_V_token": ["ARM", "ARM", "0x46c0", "0xbf00", "ARM", "0xe1a00000", "ARM", "0xe320f000", "2", "0", "1", "0", "ARM", "ARM", "4", "0", "4", "1", "0", "2", "0", "3", "0", "0xa0"], "File": "ARMAsmBackend (2)1", "Func": "writeNopData", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9514, "Length": 201} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCAssembler", "&", "Asm", ",", "const", "MCFixup", "&", "Fixup", ",", "const", "MCValue", "&", "Target", ",", "MutableArrayRef", "<", "char", ">", "Data", ",", "uint64_t", "Value", ",", "bool", "IsResolved", ",", "const", "MCSubtargetInfo", "*", "STI", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "MCContext", "&", "Ctx", "=", "Asm", ".", "getContext", "(", ")", ";", "Value", "=", "adjustFixupValue", "(", "Asm", ",", "Fixup", ",", "Target", ",", "Value", ",", "IsResolved", ",", "Ctx", ",", "STI", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup offset!\"", ")", ";", "unsigned", "FullSizeBytes", ";", "if", "(", "Endian", "==", "support", "::", "big", ")", "{", "FullSizeBytes", "=", "getFixupKindContainerSizeBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "assert", "(", "(", "Offset", "+", "FullSizeBytes", ")", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup size!\"", ")", ";", "assert", "(", "NumBytes", "<=", "FullSizeBytes", "&&", "\"Invalid fixup size!\"", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "{", "unsigned", "Idx", "=", "Endian", "==", "support", "::", "little", "?", "i", ":", "(", "FullSizeBytes", "-", "1", "-", "i", ")", ";", "Data", "[", "Offset", "+", "Idx", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "support::big", "\"Invalid fixup size!\"", "\"Invalid fixup size!\"", "0", "support::little", "1", "8", "0xff"], "File": "ARMAsmBackend (2)2", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9515, "Length": 219} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "mayNeedRelaxation", "(", "const", "MCInst", "&", "Inst", ",", "const", "MCSubtargetInfo", "&", "STI", ")", "const", "{", "if", "(", "getRelaxedOpcode", "(", "Inst", ".", "getOpcode", "(", ")", ",", "STI", ")", "!=", "Inst", ".", "getOpcode", "(", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Check", "whether", "the", "given", "instruction", "may", "need", "relaxation", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmBackend (2)2", "Func": "mayNeedRelaxation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9516, "Length": 43} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "relaxInstruction", "(", "const", "MCInst", "&", "Inst", ",", "const", "MCSubtargetInfo", "&", "STI", ",", "MCInst", "&", "Res", ")", "const", "{", "unsigned", "RelaxedOp", "=", "getRelaxedOpcode", "(", "Inst", ".", "getOpcode", "(", ")", ",", "STI", ")", ";", "if", "(", "RelaxedOp", "==", "Inst", ".", "getOpcode", "(", ")", ")", "{", "SmallString", "<", "256", ">", "Tmp", ";", "raw_svector_ostream", "OS", "(", "Tmp", ")", ";", "Inst", ".", "dump_pretty", "(", "OS", ")", ";", "OS", "<<", "\"\\n\"", ";", "report_fatal_error", "(", "\"unexpected instruction to relax: \"", "+", "OS", ".", "str", "(", ")", ")", ";", "}", "if", "(", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tCBZ", "||", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tCBNZ", ")", "&&", "RelaxedOp", "==", "ARM", "::", "tHINT", ")", "{", "Res", ".", "setOpcode", "(", "RelaxedOp", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "0", ")", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "14", ")", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "createReg", "(", "0", ")", ")", ";", "return", ";", "}", "Res", "=", "Inst", ";", "Res", ".", "setOpcode", "(", "RelaxedOp", ")", ";", "}", ""], "natrual_language": ["Relax", "the", "instruction", "in", "the", "given", "fragment", "to", "the", "next", "wider", "instruction", "."], "TS_V_token": ["ARM", "ARM", "256", "\"\\n\"", "\"unexpected instruction to relax: \"", "ARM::tCBZ", "ARM::tCBNZ", "ARM::tHINT", "0", "14", "0"], "File": "ARMAsmBackend (2)2", "Func": "relaxInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9517, "Length": 170} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "shouldForceRelocation", "(", "const", "MCAssembler", "&", "Asm", ",", "const", "MCFixup", "&", "Fixup", ",", "const", "MCValue", "&", "Target", ")", "{", "const", "MCSymbolRefExpr", "*", "A", "=", "Target", ".", "getSymA", "(", ")", ";", "const", "MCSymbol", "*", "Sym", "=", "A", "?", "&", "A", "->", "getSymbol", "(", ")", ":", "nullptr", ";", "const", "unsigned", "FixupKind", "=", "Fixup", ".", "getKind", "(", ")", ";", "if", "(", "(", "unsigned", ")", "Fixup", ".", "getKind", "(", ")", "==", "ARM", "::", "fixup_arm_thumb_bl", ")", "{", "assert", "(", "Sym", "&&", "\"How did we resolve this?\"", ")", ";", "if", "(", "Sym", "->", "isExternal", "(", ")", ")", "return", "true", ";", "}", "if", "(", "Sym", "&&", "Sym", "->", "isELF", "(", ")", ")", "{", "unsigned", "Type", "=", "cast", "<", "MCSymbolELF", ">", "(", "Sym", ")", "->", "getType", "(", ")", ";", "if", "(", "(", "Type", "==", "ELF", "::", "STT_FUNC", "||", "Type", "==", "ELF", "::", "STT_GNU_IFUNC", ")", ")", "{", "if", "(", "Asm", ".", "isThumbFunc", "(", "Sym", ")", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_uncondbranch", ")", ")", "return", "true", ";", "if", "(", "!", "Asm", ".", "isThumbFunc", "(", "Sym", ")", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_br", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_bl", "||", "FixupKind", "==", "ARM", "::", "fixup_t2_condbranch", "||", "FixupKind", "==", "ARM", "::", "fixup_t2_uncondbranch", ")", ")", "return", "true", ";", "}", "}", "if", "(", "A", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_blx", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_blx", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_uncondbl", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_condbl", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Hook", "to", "check", "if", "a", "relocation", "is", "needed", "for", "some", "target", "specific", "reason", "."], "TS_V_token": ["ARM", "ARM", "ARM::fixup_arm_thumb_bl", "\"How did we resolve this?\"", "ARM::fixup_arm_uncondbranch", "ARM::fixup_arm_thumb_br", "ARM::fixup_arm_thumb_bl", "ARM::fixup_t2_condbranch", "ARM::fixup_t2_uncondbranch", "ARM::fixup_arm_thumb_blx", "ARM::fixup_arm_blx", "ARM::fixup_arm_uncondbl", "ARM::fixup_arm_condbl"], "File": "ARMAsmBackend (2)2", "Func": "shouldForceRelocation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9518, "Length": 234} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "writeNopData", "(", "raw_ostream", "&", "OS", ",", "uint64_t", "Count", ")", "const", "{", "const", "uint16_t", "Thumb1_16bitNopEncoding", "=", "0x46c0", ";", "const", "uint16_t", "Thumb2_16bitNopEncoding", "=", "0xbf00", ";", "const", "uint32_t", "ARMv4_NopEncoding", "=", "0xe1a00000", ";", "const", "uint32_t", "ARMv6T2_NopEncoding", "=", "0xe320f000", ";", "if", "(", "isThumb", "(", ")", ")", "{", "const", "uint16_t", "nopEncoding", "=", "hasNOP", "(", ")", "?", "Thumb2_16bitNopEncoding", ":", "Thumb1_16bitNopEncoding", ";", "uint64_t", "NumNops", "=", "Count", "/", "2", ";", "for", "(", "uint64_t", "i", "=", "0", ";", "i", "!=", "NumNops", ";", "++", "i", ")", "support", "::", "endian", "::", "write", "(", "OS", ",", "nopEncoding", ",", "Endian", ")", ";", "if", "(", "Count", "&", "1", ")", "OS", "<<", "'\\0'", ";", "return", "true", ";", "}", "const", "uint32_t", "nopEncoding", "=", "hasNOP", "(", ")", "?", "ARMv6T2_NopEncoding", ":", "ARMv4_NopEncoding", ";", "uint64_t", "NumNops", "=", "Count", "/", "4", ";", "for", "(", "uint64_t", "i", "=", "0", ";", "i", "!=", "NumNops", ";", "++", "i", ")", "support", "::", "endian", "::", "write", "(", "OS", ",", "nopEncoding", ",", "Endian", ")", ";", "switch", "(", "Count", "%", "4", ")", "{", "default", ":", "break", ";", "case", "1", ":", "OS", "<<", "'\\0'", ";", "break", ";", "case", "2", ":", "OS", ".", "write", "(", "\"\\0\\0\"", ",", "2", ")", ";", "break", ";", "case", "3", ":", "OS", ".", "write", "(", "\"\\0\\0\\xa0\"", ",", "3", ")", ";", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Write", "an", "(", "optimal", ")", "nop", "sequence", "of", "Count", "bytes", "to", "the", "given", "output", "."], "TS_V_token": ["ARM", "ARM", "0x46c0", "0xbf00", "ARM", "0xe1a00000", "ARM", "0xe320f000", "2", "0", "support::endian", "1", "ARM", "ARM", "4", "0", "support::endian", "4", "1", "2", "\"\\0\\0\"", "2", "3", "\"\\0\\0\\xa0\"", "3"], "File": "ARMAsmBackend (2)2", "Func": "writeNopData", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9519, "Length": 204} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCFixup", "&", "Fixup", ",", "char", "*", "Data", ",", "unsigned", "DataSize", ",", "uint64_t", "Value", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "Value", "=", "adjustFixupValue", "(", "Fixup", ",", "Value", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "DataSize", "&&", "\"Invalid fixup offset!\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "Data", "[", "Offset", "+", "i", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "0", "8", "0xff"], "File": "ARMAsmBackend (2)", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9520, "Length": 107} {"ground_truth": ["", "MCObjectWriter", "*", "createObjectWriter", "(", "raw_ostream", "&", "OS", ")", "const", "{", "return", "createARMMachObjectWriter", "(", "OS", ",", "false", ",", "object", "::", "mach", "::", "CTM_ARM", ",", "Subtype", ")", ";", "}", ""], "natrual_language": ["Create", "a", "new", "MCObjectWriter", "instance", "for", "use", "by", "the", "assembler", "backend", "to", "emit", "the", "final", "object", "file", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmBackend (2)", "Func": "createObjectWriter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9521, "Length": 27} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "fixupNeedsRelaxation", "(", "const", "MCFixup", "&", "Fixup", ",", "uint64_t", "Value", ",", "const", "MCRelaxableFragment", "*", "DF", ",", "const", "MCAsmLayout", "&", "Layout", ")", "const", "{", "switch", "(", "(", "unsigned", ")", "Fixup", ".", "getKind", "(", ")", ")", "{", "case", "ARM", "::", "fixup_arm_thumb_br", ":", "{", "int64_t", "Offset", "=", "int64_t", "(", "Value", ")", "-", "4", ";", "return", "Offset", ">", "2046", "||", "Offset", "<", "-", "2048", ";", "}", "case", "ARM", "::", "fixup_arm_thumb_bcc", ":", "{", "int64_t", "Offset", "=", "int64_t", "(", "Value", ")", "-", "4", ";", "return", "Offset", ">", "254", "||", "Offset", "<", "-", "256", ";", "}", "case", "ARM", "::", "fixup_thumb_adr_pcrel_10", ":", "case", "ARM", "::", "fixup_arm_thumb_cp", ":", "{", "int64_t", "Offset", "=", "int64_t", "(", "Value", ")", "-", "4", ";", "return", "Offset", ">", "1020", "||", "Offset", "<", "0", "||", "Offset", "&", "3", ";", "}", "}", "llvm_unreachable", "(", "\"Unexpected fixup kind in fixupNeedsRelaxation()!\"", ")", ";", "}", ""], "natrual_language": ["Simple", "predicate", "for", "targets", "where", "!", "Resolved", "implies", "requiring", "relaxation", "."], "TS_V_token": ["ARM", "ARM", "ARM::fixup_arm_thumb_br", "4", "2046", "2048", "ARM::fixup_arm_thumb_bcc", "4", "254", "256", "ARM::fixup_thumb_adr_pcrel_10", "ARM::fixup_arm_thumb_cp", "4", "1020", "0", "3", "\"Unexpected fixup kind in fixupNeedsRelaxation()!\""], "File": "ARMAsmBackend (2)", "Func": "fixupNeedsRelaxation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9522, "Length": 133} {"ground_truth": ["", "const", "MCFixupKindInfo", "&", "getFixupKindInfo", "(", "MCFixupKind", "Kind", ")", "const", "{", "const", "static", "MCFixupKindInfo", "Infos", "[", "ARM", "::", "NumTargetFixupKinds", "]", "=", "{", "{", "\"fixup_arm_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_pcrel_10_unscaled\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_thumb_adr_pcrel_10\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_condbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_uncondbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_condbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_uncondbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_br\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_uncondbl\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_condbl\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_blx\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bl\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_blx\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cb\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cp\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_thumb_bcc\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "}", ";", "if", "(", "Kind", "<", "FirstTargetFixupKind", ")", "return", "MCAsmBackend", "::", "getFixupKindInfo", "(", "Kind", ")", ";", "assert", "(", "unsigned", "(", "Kind", "-", "FirstTargetFixupKind", ")", "<", "getNumFixupKinds", "(", ")", "&&", "\"Invalid kind!\"", ")", ";", "return", "Infos", "[", "Kind", "-", "FirstTargetFixupKind", "]", ";", "}", ""], "natrual_language": ["Get", "information", "on", "a", "fixup", "kind", "."], "TS_V_token": ["ARM", "ARM::NumTargetFixupKinds", "\"fixup_arm_ldst_pcrel_12\"", "0", "32", "\"fixup_t2_ldst_pcrel_12\"", "0", "32", "\"fixup_arm_pcrel_10_unscaled\"", "0", "32", "\"fixup_arm_pcrel_10\"", "0", "32", "\"fixup_t2_pcrel_10\"", "0", "32", "\"fixup_thumb_adr_pcrel_10\"", "0", "8", "\"fixup_arm_adr_pcrel_12\"", "0", "32", "\"fixup_t2_adr_pcrel_12\"", "0", "32", "\"fixup_arm_condbranch\"", "0", "24", "\"fixup_arm_uncondbranch\"", "0", "24", "\"fixup_t2_condbranch\"", "0", "32", "\"fixup_t2_uncondbranch\"", "0", "32", "\"fixup_arm_thumb_br\"", "0", "16", "\"fixup_arm_uncondbl\"", "0", "24", "\"fixup_arm_condbl\"", "0", "24", "\"fixup_arm_blx\"", "0", "24", "\"fixup_arm_thumb_bl\"", "0", "32", "\"fixup_arm_thumb_blx\"", "0", "32", "\"fixup_arm_thumb_cb\"", "0", "16", "\"fixup_arm_thumb_cp\"", "0", "8", "\"fixup_arm_thumb_bcc\"", "0", "8", "\"fixup_arm_movt_hi16\"", "0", "20", "0", "\"fixup_arm_movw_lo16\"", "0", "20", "0", "\"fixup_t2_movt_hi16\"", "0", "20", "0", "\"fixup_t2_movw_lo16\"", "0", "20", "0", "\"fixup_arm_movt_hi16_pcrel\"", "0", "20", "\"fixup_arm_movw_lo16_pcrel\"", "0", "20", "\"fixup_t2_movt_hi16_pcrel\"", "0", "20", "\"fixup_t2_movw_lo16_pcrel\"", "0", "20", "\"Invalid kind!\""], "File": "ARMAsmBackend (2)", "Func": "getFixupKindInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9523, "Length": 422} {"ground_truth": ["", "unsigned", "getNumFixupKinds", "(", ")", "const", "{", "return", "ARM", "::", "NumTargetFixupKinds", ";", "}", ""], "natrual_language": ["Get", "the", "number", "of", "target", "specific", "fixup", "kinds", "."], "TS_V_token": ["ARM", "ARM::NumTargetFixupKinds"], "File": "ARMAsmBackend (2)", "Func": "getNumFixupKinds", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9524, "Length": 12} {"ground_truth": ["", "unsigned", "getPointerSize", "(", ")", "const", "{", "return", "4", ";", "}", ""], "natrual_language": ["Layout", "pointer", "size", "in", "bytes", ",", "rounded", "up", "to", "a", "whole", "number", "of", "bytes", "."], "TS_V_token": ["ARM", "4"], "File": "ARMAsmBackend (2)", "Func": "getPointerSize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9525, "Length": 10} {"ground_truth": ["", "void", "handleAssemblerFlag", "(", "MCAssemblerFlag", "Flag", ")", "{", "switch", "(", "Flag", ")", "{", "default", ":", "break", ";", "case", "MCAF_Code16", ":", "setIsThumb", "(", "true", ")", ";", "break", ";", "case", "MCAF_Code32", ":", "setIsThumb", "(", "false", ")", ";", "break", ";", "}", "}", ""], "natrual_language": ["Handle", "any", "target-specific", "assembler", "flags", ".", "By", "default", ",", "do", "nothing", "."], "TS_V_token": ["ARM"], "File": "ARMAsmBackend (2)", "Func": "handleAssemblerFlag", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9526, "Length": 38} {"ground_truth": ["", "bool", "isThumb", "(", ")", "const", "{", "return", "isThumbMode", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "is", "Thumb", "(", "little", "and", "big", "endian", ")", "."], "TS_V_token": ["ARM"], "File": "ARMAsmBackend (2)", "Func": "isThumb", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9527, "Length": 10} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "mayNeedRelaxation", "(", "const", "MCInst", "&", "Inst", ")", "const", "{", "if", "(", "getRelaxedOpcode", "(", "Inst", ".", "getOpcode", "(", ")", ")", "!=", "Inst", ".", "getOpcode", "(", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Check", "whether", "the", "given", "instruction", "may", "need", "relaxation", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmBackend (2)", "Func": "mayNeedRelaxation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9528, "Length": 36} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "relaxInstruction", "(", "const", "MCInst", "&", "Inst", ",", "MCInst", "&", "Res", ")", "const", "{", "unsigned", "RelaxedOp", "=", "getRelaxedOpcode", "(", "Inst", ".", "getOpcode", "(", ")", ")", ";", "if", "(", "RelaxedOp", "==", "Inst", ".", "getOpcode", "(", ")", ")", "{", "SmallString", "<", "256", ">", "Tmp", ";", "raw_svector_ostream", "OS", "(", "Tmp", ")", ";", "Inst", ".", "dump_pretty", "(", "OS", ")", ";", "OS", "<<", "\"\\n\"", ";", "report_fatal_error", "(", "\"unexpected instruction to relax: \"", "+", "OS", ".", "str", "(", ")", ")", ";", "}", "Res", "=", "Inst", ";", "Res", ".", "setOpcode", "(", "RelaxedOp", ")", ";", "}", ""], "natrual_language": ["Relax", "the", "instruction", "in", "the", "given", "fragment", "to", "the", "next", "wider", "instruction", "."], "TS_V_token": ["ARM", "ARM", "256", "\"\\n\"", "\"unexpected instruction to relax: \""], "File": "ARMAsmBackend (2)", "Func": "relaxInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9529, "Length": 86} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "writeNopData", "(", "uint64_t", "Count", ",", "MCObjectWriter", "*", "OW", ")", "const", "{", "const", "uint16_t", "Thumb1_16bitNopEncoding", "=", "0x46c0", ";", "const", "uint16_t", "Thumb2_16bitNopEncoding", "=", "0xbf00", ";", "const", "uint32_t", "ARMv4_NopEncoding", "=", "0xe1a00000", ";", "const", "uint32_t", "ARMv6T2_NopEncoding", "=", "0xe320f000", ";", "if", "(", "isThumb", "(", ")", ")", "{", "const", "uint16_t", "nopEncoding", "=", "hasNOP", "(", ")", "?", "Thumb2_16bitNopEncoding", ":", "Thumb1_16bitNopEncoding", ";", "uint64_t", "NumNops", "=", "Count", "/", "2", ";", "for", "(", "uint64_t", "i", "=", "0", ";", "i", "!=", "NumNops", ";", "++", "i", ")", "OW", "->", "Write16", "(", "nopEncoding", ")", ";", "if", "(", "Count", "&", "1", ")", "OW", "->", "Write8", "(", "0", ")", ";", "return", "true", ";", "}", "const", "uint32_t", "nopEncoding", "=", "hasNOP", "(", ")", "?", "ARMv6T2_NopEncoding", ":", "ARMv4_NopEncoding", ";", "uint64_t", "NumNops", "=", "Count", "/", "4", ";", "for", "(", "uint64_t", "i", "=", "0", ";", "i", "!=", "NumNops", ";", "++", "i", ")", "OW", "->", "Write32", "(", "nopEncoding", ")", ";", "switch", "(", "Count", "%", "4", ")", "{", "default", ":", "break", ";", "case", "1", ":", "OW", "->", "Write8", "(", "0", ")", ";", "break", ";", "case", "2", ":", "OW", "->", "Write16", "(", "0", ")", ";", "break", ";", "case", "3", ":", "OW", "->", "Write16", "(", "0", ")", ";", "OW", "->", "Write8", "(", "0xa0", ")", ";", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Write", "an", "(", "optimal", ")", "nop", "sequence", "of", "Count", "bytes", "to", "the", "given", "output", "."], "TS_V_token": ["ARM", "ARM", "0x46c0", "0xbf00", "ARM", "0xe1a00000", "ARM", "0xe320f000", "2", "0", "1", "0", "ARM", "ARM", "4", "0", "4", "1", "0", "2", "0", "3", "0", "0xa0"], "File": "ARMAsmBackend (2)", "Func": "writeNopData", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9530, "Length": 201} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCAssembler", "&", "Asm", ",", "const", "MCFixup", "&", "Fixup", ",", "const", "MCValue", "&", "Target", ",", "MutableArrayRef", "<", "char", ">", "Data", ",", "uint64_t", "Value", ",", "bool", "IsResolved", ",", "const", "MCSubtargetInfo", "*", "STI", ")", "const", "{", "unsigned", "Kind", "=", "Fixup", ".", "getKind", "(", ")", ";", "if", "(", "Kind", ">=", "FirstLiteralRelocationKind", ")", "return", ";", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Kind", ")", ";", "MCContext", "&", "Ctx", "=", "Asm", ".", "getContext", "(", ")", ";", "Value", "=", "adjustFixupValue", "(", "Asm", ",", "Fixup", ",", "Target", ",", "Value", ",", "IsResolved", ",", "Ctx", ",", "STI", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup offset!\"", ")", ";", "unsigned", "FullSizeBytes", ";", "if", "(", "Endian", "==", "support", "::", "big", ")", "{", "FullSizeBytes", "=", "getFixupKindContainerSizeBytes", "(", "Kind", ")", ";", "assert", "(", "(", "Offset", "+", "FullSizeBytes", ")", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup size!\"", ")", ";", "assert", "(", "NumBytes", "<=", "FullSizeBytes", "&&", "\"Invalid fixup size!\"", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "{", "unsigned", "Idx", "=", "Endian", "==", "support", "::", "little", "?", "i", ":", "(", "FullSizeBytes", "-", "1", "-", "i", ")", ";", "Data", "[", "Offset", "+", "Idx", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "support::big", "\"Invalid fixup size!\"", "\"Invalid fixup size!\"", "0", "support::little", "1", "8", "0xff"], "File": "ARMAsmBackend10", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9531, "Length": 228} {"ground_truth": ["", "Optional", "<", "MCFixupKind", ">", "ARMAsmBackend", "::", "getFixupKind", "(", "StringRef", "Name", ")", "const", "{", "if", "(", "!", "STI", ".", "getTargetTriple", "(", ")", ".", "isOSBinFormatELF", "(", ")", ")", "return", "None", ";", "unsigned", "Type", "=", "llvm", "::", "StringSwitch", "<", "unsigned", ">", "(", "Name", ")", ".", "Default", "(", "-", "1u", ")", ";", "if", "(", "Type", "==", "-", "1u", ")", "return", "None", ";", "return", "static_cast", "<", "MCFixupKind", ">", "(", "FirstLiteralRelocationKind", "+", "Type", ")", ";", "}", ""], "natrual_language": ["getFixupKind", "-", "Get", "the", "fixup", "kind", "of", "this", "expression", "."], "TS_V_token": ["ARM", "ARM", "1u", "1u"], "File": "ARMAsmBackend10", "Func": "getFixupKind", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9532, "Length": 70} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "shouldForceRelocation", "(", "const", "MCAssembler", "&", "Asm", ",", "const", "MCFixup", "&", "Fixup", ",", "const", "MCValue", "&", "Target", ")", "{", "const", "MCSymbolRefExpr", "*", "A", "=", "Target", ".", "getSymA", "(", ")", ";", "const", "MCSymbol", "*", "Sym", "=", "A", "?", "&", "A", "->", "getSymbol", "(", ")", ":", "nullptr", ";", "const", "unsigned", "FixupKind", "=", "Fixup", ".", "getKind", "(", ")", ";", "if", "(", "FixupKind", ">=", "FirstLiteralRelocationKind", ")", "return", "true", ";", "if", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_bl", ")", "{", "assert", "(", "Sym", "&&", "\"How did we resolve this?\"", ")", ";", "if", "(", "Sym", "->", "isExternal", "(", ")", ")", "return", "true", ";", "}", "if", "(", "Sym", "&&", "Sym", "->", "isELF", "(", ")", ")", "{", "unsigned", "Type", "=", "cast", "<", "MCSymbolELF", ">", "(", "Sym", ")", "->", "getType", "(", ")", ";", "if", "(", "(", "Type", "==", "ELF", "::", "STT_FUNC", "||", "Type", "==", "ELF", "::", "STT_GNU_IFUNC", ")", ")", "{", "if", "(", "Asm", ".", "isThumbFunc", "(", "Sym", ")", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_uncondbranch", ")", ")", "return", "true", ";", "if", "(", "!", "Asm", ".", "isThumbFunc", "(", "Sym", ")", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_br", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_bl", "||", "FixupKind", "==", "ARM", "::", "fixup_t2_condbranch", "||", "FixupKind", "==", "ARM", "::", "fixup_t2_uncondbranch", ")", ")", "return", "true", ";", "}", "}", "if", "(", "A", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_blx", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_blx", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_uncondbl", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_condbl", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Hook", "to", "check", "if", "a", "relocation", "is", "needed", "for", "some", "target", "specific", "reason", "."], "TS_V_token": ["ARM", "ARM", "ARM::fixup_arm_thumb_bl", "\"How did we resolve this?\"", "ARM::fixup_arm_uncondbranch", "ARM::fixup_arm_thumb_br", "ARM::fixup_arm_thumb_bl", "ARM::fixup_t2_condbranch", "ARM::fixup_t2_uncondbranch", "ARM::fixup_arm_thumb_blx", "ARM::fixup_arm_blx", "ARM::fixup_arm_uncondbl", "ARM::fixup_arm_condbl"], "File": "ARMAsmBackend10", "Func": "shouldForceRelocation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9533, "Length": 236} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCFixup", "&", "Fixup", ",", "char", "*", "Data", ",", "unsigned", "DataSize", ",", "uint64_t", "Value", ",", "bool", "IsPCRel", ",", "MCContext", "&", "Ctx", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "Value", "=", "adjustFixupValue", "(", "Fixup", ",", "Value", ",", "IsPCRel", ",", "Ctx", ",", "IsLittleEndian", ",", "true", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "DataSize", "&&", "\"Invalid fixup offset!\"", ")", ";", "unsigned", "FullSizeBytes", ";", "if", "(", "!", "IsLittleEndian", ")", "{", "FullSizeBytes", "=", "getFixupKindContainerSizeBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "assert", "(", "(", "Offset", "+", "FullSizeBytes", ")", "<=", "DataSize", "&&", "\"Invalid fixup size!\"", ")", ";", "assert", "(", "NumBytes", "<=", "FullSizeBytes", "&&", "\"Invalid fixup size!\"", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "{", "unsigned", "Idx", "=", "IsLittleEndian", "?", "i", ":", "(", "FullSizeBytes", "-", "1", "-", "i", ")", ";", "Data", "[", "Offset", "+", "Idx", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "\"Invalid fixup size!\"", "\"Invalid fixup size!\"", "0", "1", "8", "0xff"], "File": "ARMAsmBackend11", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9534, "Length": 182} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "relaxInstruction", "(", "const", "MCInst", "&", "Inst", ",", "const", "MCSubtargetInfo", "&", "STI", ",", "MCInst", "&", "Res", ")", "const", "{", "unsigned", "RelaxedOp", "=", "getRelaxedOpcode", "(", "Inst", ".", "getOpcode", "(", ")", ")", ";", "if", "(", "RelaxedOp", "==", "Inst", ".", "getOpcode", "(", ")", ")", "{", "SmallString", "<", "256", ">", "Tmp", ";", "raw_svector_ostream", "OS", "(", "Tmp", ")", ";", "Inst", ".", "dump_pretty", "(", "OS", ")", ";", "OS", "<<", "\"\\n\"", ";", "report_fatal_error", "(", "\"unexpected instruction to relax: \"", "+", "OS", ".", "str", "(", ")", ")", ";", "}", "if", "(", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tCBZ", "||", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tCBNZ", ")", "&&", "RelaxedOp", "==", "ARM", "::", "tHINT", ")", "{", "Res", ".", "setOpcode", "(", "RelaxedOp", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "0", ")", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "14", ")", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "createReg", "(", "0", ")", ")", ";", "return", ";", "}", "Res", "=", "Inst", ";", "Res", ".", "setOpcode", "(", "RelaxedOp", ")", ";", "}", ""], "natrual_language": ["Relax", "the", "instruction", "in", "the", "given", "fragment", "to", "the", "next", "wider", "instruction", "."], "TS_V_token": ["ARM", "ARM", "256", "\"\\n\"", "\"unexpected instruction to relax: \"", "ARM::tCBZ", "ARM::tCBNZ", "ARM::tHINT", "0", "14", "0"], "File": "ARMAsmBackend11", "Func": "relaxInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9535, "Length": 168} {"ground_truth": ["", "void", "DarwinARMAsmBackend", "::", "applyFixup", "(", "const", "MCFixup", "&", "Fixup", ",", "char", "*", "Data", ",", "unsigned", "DataSize", ",", "uint64_t", "Value", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "Value", "=", "adjustFixupValue", "(", "Fixup", ",", "Value", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "DataSize", "&&", "\"Invalid fixup offset!\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "Data", "[", "Offset", "+", "i", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "0", "8", "0xff"], "File": "ARMAsmBackend13", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9536, "Length": 107} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "fixupNeedsRelaxation", "(", "const", "MCFixup", "&", "Fixup", ",", "uint64_t", "Value", ",", "const", "MCInstFragment", "*", "DF", ",", "const", "MCAsmLayout", "&", "Layout", ")", "const", "{", "switch", "(", "(", "unsigned", ")", "Fixup", ".", "getKind", "(", ")", ")", "{", "case", "ARM", "::", "fixup_arm_thumb_br", ":", "{", "int64_t", "Offset", "=", "int64_t", "(", "Value", ")", "-", "4", ";", "return", "Offset", ">", "2046", "||", "Offset", "<", "-", "2048", ";", "}", "case", "ARM", "::", "fixup_arm_thumb_bcc", ":", "{", "int64_t", "Offset", "=", "int64_t", "(", "Value", ")", "-", "4", ";", "return", "Offset", ">", "254", "||", "Offset", "<", "-", "256", ";", "}", "case", "ARM", "::", "fixup_thumb_adr_pcrel_10", ":", "case", "ARM", "::", "fixup_arm_thumb_cp", ":", "{", "int64_t", "Offset", "=", "int64_t", "(", "Value", ")", "-", "4", ";", "return", "Offset", ">", "1020", "||", "Offset", "<", "0", "||", "Offset", "&", "3", ";", "}", "}", "llvm_unreachable", "(", "\"Unexpected fixup kind in fixupNeedsRelaxation()!\"", ")", ";", "}", ""], "natrual_language": ["Simple", "predicate", "for", "targets", "where", "!", "Resolved", "implies", "requiring", "relaxation", "."], "TS_V_token": ["ARM", "ARM", "ARM::fixup_arm_thumb_br", "4", "2046", "2048", "ARM::fixup_arm_thumb_bcc", "4", "254", "256", "ARM::fixup_thumb_adr_pcrel_10", "ARM::fixup_arm_thumb_cp", "4", "1020", "0", "3", "\"Unexpected fixup kind in fixupNeedsRelaxation()!\""], "File": "ARMAsmBackend13", "Func": "fixupNeedsRelaxation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9537, "Length": 133} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "writeNopData", "(", "uint64_t", "Count", ",", "MCObjectWriter", "*", "OW", ")", "const", "{", "const", "uint16_t", "Thumb1_16bitNopEncoding", "=", "0x46c0", ";", "const", "uint16_t", "Thumb2_16bitNopEncoding", "=", "0xbf00", ";", "const", "uint32_t", "ARMv4_NopEncoding", "=", "0xe1a0000", ";", "const", "uint32_t", "ARMv6T2_NopEncoding", "=", "0xe320f000", ";", "if", "(", "isThumb", "(", ")", ")", "{", "const", "uint16_t", "nopEncoding", "=", "hasNOP", "(", ")", "?", "Thumb2_16bitNopEncoding", ":", "Thumb1_16bitNopEncoding", ";", "uint64_t", "NumNops", "=", "Count", "/", "2", ";", "for", "(", "uint64_t", "i", "=", "0", ";", "i", "!=", "NumNops", ";", "++", "i", ")", "OW", "->", "Write16", "(", "nopEncoding", ")", ";", "if", "(", "Count", "&", "1", ")", "OW", "->", "Write8", "(", "0", ")", ";", "return", "true", ";", "}", "const", "uint32_t", "nopEncoding", "=", "hasNOP", "(", ")", "?", "ARMv6T2_NopEncoding", ":", "ARMv4_NopEncoding", ";", "uint64_t", "NumNops", "=", "Count", "/", "4", ";", "for", "(", "uint64_t", "i", "=", "0", ";", "i", "!=", "NumNops", ";", "++", "i", ")", "OW", "->", "Write32", "(", "nopEncoding", ")", ";", "switch", "(", "Count", "%", "4", ")", "{", "default", ":", "break", ";", "case", "1", ":", "OW", "->", "Write8", "(", "0", ")", ";", "break", ";", "case", "2", ":", "OW", "->", "Write16", "(", "0", ")", ";", "break", ";", "case", "3", ":", "OW", "->", "Write16", "(", "0", ")", ";", "OW", "->", "Write8", "(", "0xa0", ")", ";", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Write", "an", "(", "optimal", ")", "nop", "sequence", "of", "Count", "bytes", "to", "the", "given", "output", "."], "TS_V_token": ["ARM", "ARM", "0x46c0", "0xbf00", "ARM", "0xe1a0000", "ARM", "0xe320f000", "2", "0", "1", "0", "ARM", "ARM", "4", "0", "4", "1", "0", "2", "0", "3", "0", "0xa0"], "File": "ARMAsmBackend13", "Func": "writeNopData", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9538, "Length": 201} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCFixup", "&", "Fixup", ",", "char", "*", "Data", ",", "unsigned", "DataSize", ",", "uint64_t", "Value", ",", "bool", "IsPCRel", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "Value", "=", "adjustFixupValue", "(", "Fixup", ",", "Value", ",", "IsPCRel", ",", "nullptr", ",", "IsLittleEndian", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "DataSize", "&&", "\"Invalid fixup offset!\"", ")", ";", "unsigned", "FullSizeBytes", ";", "if", "(", "!", "IsLittleEndian", ")", "{", "FullSizeBytes", "=", "getFixupKindContainerSizeBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "assert", "(", "(", "Offset", "+", "FullSizeBytes", ")", "<=", "DataSize", "&&", "\"Invalid fixup size!\"", ")", ";", "assert", "(", "NumBytes", "<=", "FullSizeBytes", "&&", "\"Invalid fixup size!\"", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "{", "unsigned", "Idx", "=", "IsLittleEndian", "?", "i", ":", "(", "FullSizeBytes", "-", "1", "-", "i", ")", ";", "Data", "[", "Offset", "+", "Idx", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "\"Invalid fixup size!\"", "\"Invalid fixup size!\"", "0", "1", "8", "0xff"], "File": "ARMAsmBackend14", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9539, "Length": 176} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "fixupNeedsRelaxation", "(", "const", "MCFixup", "&", "Fixup", ",", "uint64_t", "Value", ",", "const", "MCRelaxableFragment", "*", "DF", ",", "const", "MCAsmLayout", "&", "Layout", ")", "const", "{", "switch", "(", "(", "unsigned", ")", "Fixup", ".", "getKind", "(", ")", ")", "{", "case", "ARM", "::", "fixup_arm_thumb_br", ":", "{", "int64_t", "Offset", "=", "int64_t", "(", "Value", ")", "-", "4", ";", "return", "Offset", ">", "2046", "||", "Offset", "<", "-", "2048", ";", "}", "case", "ARM", "::", "fixup_arm_thumb_bcc", ":", "{", "int64_t", "Offset", "=", "int64_t", "(", "Value", ")", "-", "4", ";", "return", "Offset", ">", "254", "||", "Offset", "<", "-", "256", ";", "}", "case", "ARM", "::", "fixup_thumb_adr_pcrel_10", ":", "case", "ARM", "::", "fixup_arm_thumb_cp", ":", "{", "int64_t", "Offset", "=", "int64_t", "(", "Value", ")", "-", "4", ";", "return", "Offset", ">", "1020", "||", "Offset", "<", "0", "||", "Offset", "&", "3", ";", "}", "case", "ARM", "::", "fixup_arm_thumb_cb", ":", "int64_t", "Offset", "=", "(", "Value", "&", "~", "1", ")", ";", "return", "Offset", "==", "2", ";", "}", "llvm_unreachable", "(", "\"Unexpected fixup kind in fixupNeedsRelaxation()!\"", ")", ";", "}", ""], "natrual_language": ["Simple", "predicate", "for", "targets", "where", "!", "Resolved", "implies", "requiring", "relaxation", "."], "TS_V_token": ["ARM", "ARM", "ARM::fixup_arm_thumb_br", "4", "2046", "2048", "ARM::fixup_arm_thumb_bcc", "4", "254", "256", "ARM::fixup_thumb_adr_pcrel_10", "ARM::fixup_arm_thumb_cp", "4", "1020", "0", "3", "ARM::fixup_arm_thumb_cb", "1", "2", "\"Unexpected fixup kind in fixupNeedsRelaxation()!\""], "File": "ARMAsmBackend14", "Func": "fixupNeedsRelaxation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9540, "Length": 153} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "relaxInstruction", "(", "const", "MCInst", "&", "Inst", ",", "MCInst", "&", "Res", ")", "const", "{", "unsigned", "RelaxedOp", "=", "getRelaxedOpcode", "(", "Inst", ".", "getOpcode", "(", ")", ")", ";", "if", "(", "RelaxedOp", "==", "Inst", ".", "getOpcode", "(", ")", ")", "{", "SmallString", "<", "256", ">", "Tmp", ";", "raw_svector_ostream", "OS", "(", "Tmp", ")", ";", "Inst", ".", "dump_pretty", "(", "OS", ")", ";", "OS", "<<", "\"\\n\"", ";", "report_fatal_error", "(", "\"unexpected instruction to relax: \"", "+", "OS", ".", "str", "(", ")", ")", ";", "}", "if", "(", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tCBZ", "||", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tCBNZ", ")", "&&", "RelaxedOp", "==", "ARM", "::", "tHINT", ")", "{", "Res", ".", "setOpcode", "(", "RelaxedOp", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "CreateImm", "(", "0", ")", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "CreateImm", "(", "14", ")", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "CreateReg", "(", "0", ")", ")", ";", "return", ";", "}", "Res", "=", "Inst", ";", "Res", ".", "setOpcode", "(", "RelaxedOp", ")", ";", "}", ""], "natrual_language": ["Relax", "the", "instruction", "in", "the", "given", "fragment", "to", "the", "next", "wider", "instruction", "."], "TS_V_token": ["ARM", "ARM", "256", "\"\\n\"", "\"unexpected instruction to relax: \"", "ARM::tCBZ", "ARM::tCBNZ", "ARM::tHINT", "0", "14", "0"], "File": "ARMAsmBackend14", "Func": "relaxInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9541, "Length": 163} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "writeNopData", "(", "uint64_t", "Count", ",", "MCObjectWriter", "*", "OW", ")", "const", "{", "const", "uint16_t", "Thumb1_16bitNopEncoding", "=", "0x46c0", ";", "const", "uint16_t", "Thumb2_16bitNopEncoding", "=", "0xbf00", ";", "const", "uint32_t", "ARMv4_NopEncoding", "=", "0xe1a00000", ";", "const", "uint32_t", "ARMv6T2_NopEncoding", "=", "0xe320f000", ";", "if", "(", "isThumb", "(", ")", ")", "{", "const", "uint16_t", "nopEncoding", "=", "hasNOP", "(", ")", "?", "Thumb2_16bitNopEncoding", ":", "Thumb1_16bitNopEncoding", ";", "uint64_t", "NumNops", "=", "Count", "/", "2", ";", "for", "(", "uint64_t", "i", "=", "0", ";", "i", "!=", "NumNops", ";", "++", "i", ")", "OW", "->", "Write16", "(", "nopEncoding", ")", ";", "if", "(", "Count", "&", "1", ")", "OW", "->", "Write8", "(", "0", ")", ";", "return", "true", ";", "}", "const", "uint32_t", "nopEncoding", "=", "hasNOP", "(", ")", "?", "ARMv6T2_NopEncoding", ":", "ARMv4_NopEncoding", ";", "uint64_t", "NumNops", "=", "Count", "/", "4", ";", "for", "(", "uint64_t", "i", "=", "0", ";", "i", "!=", "NumNops", ";", "++", "i", ")", "OW", "->", "Write32", "(", "nopEncoding", ")", ";", "switch", "(", "Count", "%", "4", ")", "{", "default", ":", "break", ";", "case", "1", ":", "OW", "->", "Write8", "(", "0", ")", ";", "break", ";", "case", "2", ":", "OW", "->", "Write16", "(", "0", ")", ";", "break", ";", "case", "3", ":", "OW", "->", "Write16", "(", "0", ")", ";", "OW", "->", "Write8", "(", "0xa0", ")", ";", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Write", "an", "(", "optimal", ")", "nop", "sequence", "of", "Count", "bytes", "to", "the", "given", "output", "."], "TS_V_token": ["ARM", "ARM", "0x46c0", "0xbf00", "ARM", "0xe1a00000", "ARM", "0xe320f000", "2", "0", "1", "0", "ARM", "ARM", "4", "0", "4", "1", "0", "2", "0", "3", "0", "0xa0"], "File": "ARMAsmBackend14", "Func": "writeNopData", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9542, "Length": 201} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCAssembler", "&", "Asm", ",", "const", "MCFixup", "&", "Fixup", ",", "const", "MCValue", "&", "Target", ",", "MutableArrayRef", "<", "char", ">", "Data", ",", "uint64_t", "Value", ",", "bool", "IsResolved", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "MCContext", "&", "Ctx", "=", "Asm", ".", "getContext", "(", ")", ";", "Value", "=", "adjustFixupValue", "(", "Asm", ",", "Fixup", ",", "Target", ",", "Value", ",", "IsResolved", ",", "Ctx", ",", "IsLittleEndian", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup offset!\"", ")", ";", "unsigned", "FullSizeBytes", ";", "if", "(", "!", "IsLittleEndian", ")", "{", "FullSizeBytes", "=", "getFixupKindContainerSizeBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "assert", "(", "(", "Offset", "+", "FullSizeBytes", ")", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup size!\"", ")", ";", "assert", "(", "NumBytes", "<=", "FullSizeBytes", "&&", "\"Invalid fixup size!\"", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "{", "unsigned", "Idx", "=", "IsLittleEndian", "?", "i", ":", "(", "FullSizeBytes", "-", "1", "-", "i", ")", ";", "Data", "[", "Offset", "+", "Idx", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "\"Invalid fixup size!\"", "\"Invalid fixup size!\"", "0", "1", "8", "0xff"], "File": "ARMAsmBackend15", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9543, "Length": 207} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "shouldForceRelocation", "(", "const", "MCAssembler", "&", "Asm", ",", "const", "MCFixup", "&", "Fixup", ",", "const", "MCValue", "&", "Target", ")", "{", "const", "MCSymbolRefExpr", "*", "A", "=", "Target", ".", "getSymA", "(", ")", ";", "const", "MCSymbol", "*", "Sym", "=", "A", "?", "&", "A", "->", "getSymbol", "(", ")", ":", "nullptr", ";", "const", "unsigned", "FixupKind", "=", "Fixup", ".", "getKind", "(", ")", ";", "if", "(", "(", "unsigned", ")", "Fixup", ".", "getKind", "(", ")", "==", "ARM", "::", "fixup_arm_thumb_bl", ")", "{", "assert", "(", "Sym", "&&", "\"How did we resolve this?\"", ")", ";", "if", "(", "Sym", "->", "isExternal", "(", ")", ")", "return", "true", ";", "}", "if", "(", "Sym", "&&", "Sym", "->", "isELF", "(", ")", ")", "{", "unsigned", "Type", "=", "dyn_cast", "<", "MCSymbolELF", ">", "(", "Sym", ")", "->", "getType", "(", ")", ";", "if", "(", "(", "Type", "==", "ELF", "::", "STT_FUNC", "||", "Type", "==", "ELF", "::", "STT_GNU_IFUNC", ")", ")", "{", "if", "(", "Asm", ".", "isThumbFunc", "(", "Sym", ")", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_uncondbranch", ")", ")", "return", "true", ";", "if", "(", "!", "Asm", ".", "isThumbFunc", "(", "Sym", ")", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_br", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_bl", "||", "FixupKind", "==", "ARM", "::", "fixup_t2_condbranch", "||", "FixupKind", "==", "ARM", "::", "fixup_t2_uncondbranch", ")", ")", "return", "true", ";", "}", "}", "if", "(", "A", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_blx", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_blx", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_uncondbl", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_condbl", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Hook", "to", "check", "if", "a", "relocation", "is", "needed", "for", "some", "target", "specific", "reason", "."], "TS_V_token": ["ARM", "ARM", "ARM::fixup_arm_thumb_bl", "\"How did we resolve this?\"", "ARM::fixup_arm_uncondbranch", "ARM::fixup_arm_thumb_br", "ARM::fixup_arm_thumb_bl", "ARM::fixup_t2_condbranch", "ARM::fixup_t2_uncondbranch", "ARM::fixup_arm_thumb_blx", "ARM::fixup_arm_blx", "ARM::fixup_arm_uncondbl", "ARM::fixup_arm_condbl"], "File": "ARMAsmBackend15", "Func": "shouldForceRelocation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9544, "Length": 234} {"ground_truth": ["", "MCObjectWriter", "*", "createObjectWriter", "(", "raw_ostream", "&", "OS", ")", "const", "{", "return", "createMachObjectWriter", "(", "new", "ARMMachObjectWriter", "(", "false", ",", "object", "::", "mach", "::", "CTM_ARM", ",", "object", "::", "mach", "::", "CSARM_V7", ")", ",", "OS", ",", "true", ")", ";", "}", ""], "natrual_language": ["Create", "a", "new", "MCObjectWriter", "instance", "for", "use", "by", "the", "assembler", "backend", "to", "emit", "the", "final", "object", "file", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMAsmBackend18", "Func": "createObjectWriter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9545, "Length": 37} {"ground_truth": ["", "const", "MCFixupKindInfo", "&", "getFixupKindInfo", "(", "MCFixupKind", "Kind", ")", "const", "{", "const", "static", "MCFixupKindInfo", "Infos", "[", "ARM", "::", "NumTargetFixupKinds", "]", "=", "{", "{", "\"fixup_arm_ldst_pcrel_12\"", ",", "1", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_pcrel_10\"", ",", "1", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_thumb_adr_pcrel_10\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_adr_pcrel_12\"", ",", "1", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_condbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_uncondbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_condbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_uncondbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_br\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bl\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_blx\"", ",", "7", ",", "21", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cb\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cp\"", ",", "1", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bcc\"", ",", "1", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "}", ";", "if", "(", "Kind", "<", "FirstTargetFixupKind", ")", "return", "TargetAsmBackend", "::", "getFixupKindInfo", "(", "Kind", ")", ";", "assert", "(", "unsigned", "(", "Kind", "-", "FirstTargetFixupKind", ")", "<", "getNumFixupKinds", "(", ")", "&&", "\"Invalid kind!\"", ")", ";", "return", "Infos", "[", "Kind", "-", "FirstTargetFixupKind", "]", ";", "}", ""], "natrual_language": ["Get", "information", "on", "a", "fixup", "kind", "."], "TS_V_token": ["ARM", "ARM::NumTargetFixupKinds", "\"fixup_arm_ldst_pcrel_12\"", "1", "24", "\"fixup_t2_ldst_pcrel_12\"", "0", "32", "\"fixup_arm_pcrel_10\"", "1", "24", "\"fixup_t2_pcrel_10\"", "0", "32", "\"fixup_thumb_adr_pcrel_10\"", "0", "8", "\"fixup_arm_adr_pcrel_12\"", "1", "24", "\"fixup_t2_adr_pcrel_12\"", "0", "32", "\"fixup_arm_condbranch\"", "0", "24", "\"fixup_arm_uncondbranch\"", "0", "24", "\"fixup_t2_condbranch\"", "0", "32", "\"fixup_t2_uncondbranch\"", "0", "32", "\"fixup_arm_thumb_br\"", "0", "16", "\"fixup_arm_thumb_bl\"", "0", "32", "\"fixup_arm_thumb_blx\"", "7", "21", "\"fixup_arm_thumb_cb\"", "0", "16", "\"fixup_arm_thumb_cp\"", "1", "8", "\"fixup_arm_thumb_bcc\"", "1", "8", "\"fixup_arm_movt_hi16\"", "0", "20", "0", "\"fixup_arm_movw_lo16\"", "0", "20", "0", "\"fixup_t2_movt_hi16\"", "0", "20", "0", "\"fixup_t2_movw_lo16\"", "0", "20", "0", "\"fixup_arm_movt_hi16_pcrel\"", "0", "20", "\"fixup_arm_movw_lo16_pcrel\"", "0", "20", "\"fixup_t2_movt_hi16_pcrel\"", "0", "20", "\"fixup_t2_movw_lo16_pcrel\"", "0", "20", "\"Invalid kind!\""], "File": "ARMAsmBackend18", "Func": "getFixupKindInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9546, "Length": 370} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCAssembler", "&", "Asm", ",", "const", "MCFixup", "&", "Fixup", ",", "const", "MCValue", "&", "Target", ",", "MutableArrayRef", "<", "char", ">", "Data", ",", "uint64_t", "Value", ",", "bool", "IsPCRel", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "MCContext", "&", "Ctx", "=", "Asm", ".", "getContext", "(", ")", ";", "Value", "=", "adjustFixupValue", "(", "Asm", ",", "Fixup", ",", "Target", ",", "Value", ",", "IsPCRel", ",", "Ctx", ",", "IsLittleEndian", ",", "true", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup offset!\"", ")", ";", "unsigned", "FullSizeBytes", ";", "if", "(", "!", "IsLittleEndian", ")", "{", "FullSizeBytes", "=", "getFixupKindContainerSizeBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "assert", "(", "(", "Offset", "+", "FullSizeBytes", ")", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup size!\"", ")", ";", "assert", "(", "NumBytes", "<=", "FullSizeBytes", "&&", "\"Invalid fixup size!\"", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "{", "unsigned", "Idx", "=", "IsLittleEndian", "?", "i", ":", "(", "FullSizeBytes", "-", "1", "-", "i", ")", ";", "Data", "[", "Offset", "+", "Idx", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "\"Invalid fixup size!\"", "\"Invalid fixup size!\"", "0", "1", "8", "0xff"], "File": "ARMAsmBackend19", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9547, "Length": 209} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCAssembler", "&", "Asm", ",", "const", "MCFixup", "&", "Fixup", ",", "const", "MCValue", "&", "Target", ",", "MutableArrayRef", "<", "char", ">", "Data", ",", "uint64_t", "Value", ",", "bool", "IsResolved", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "MCContext", "&", "Ctx", "=", "Asm", ".", "getContext", "(", ")", ";", "Value", "=", "adjustFixupValue", "(", "Asm", ",", "Fixup", ",", "Target", ",", "Value", ",", "IsResolved", ",", "Ctx", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup offset!\"", ")", ";", "unsigned", "FullSizeBytes", ";", "if", "(", "Endian", "==", "support", "::", "big", ")", "{", "FullSizeBytes", "=", "getFixupKindContainerSizeBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "assert", "(", "(", "Offset", "+", "FullSizeBytes", ")", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup size!\"", ")", ";", "assert", "(", "NumBytes", "<=", "FullSizeBytes", "&&", "\"Invalid fixup size!\"", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "{", "unsigned", "Idx", "=", "Endian", "==", "support", "::", "little", "?", "i", ":", "(", "FullSizeBytes", "-", "1", "-", "i", ")", ";", "Data", "[", "Offset", "+", "Idx", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "support::big", "\"Invalid fixup size!\"", "\"Invalid fixup size!\"", "0", "support::little", "1", "8", "0xff"], "File": "ARMAsmBackend21", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9548, "Length": 212} {"ground_truth": ["", "MCObjectWriter", "*", "createObjectWriter", "(", "raw_ostream", "&", "OS", ")", "const", "override", "{", "return", "createARMMachObjectWriter", "(", "OS", ",", "false", ",", "MachO", "::", "CPU_TYPE_ARM", ",", "Subtype", ")", ";", "}", ""], "natrual_language": ["Create", "a", "new", "MCObjectWriter", "instance", "for", "use", "by", "the", "assembler", "backend", "to", "emit", "the", "final", "object", "file", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmBackend23", "Func": "createObjectWriter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9549, "Length": 26} {"ground_truth": ["", "const", "MCFixupKindInfo", "&", "getFixupKindInfo", "(", "MCFixupKind", "Kind", ")", "const", "override", "{", "const", "static", "MCFixupKindInfo", "Infos", "[", "ARM", "::", "NumTargetFixupKinds", "]", "=", "{", "{", "\"fixup_arm_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_pcrel_10_unscaled\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_thumb_adr_pcrel_10\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_condbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_uncondbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_condbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_uncondbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_br\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_uncondbl\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_condbl\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_blx\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bl\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_blx\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cb\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cp\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_thumb_bcc\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "}", ";", "if", "(", "Kind", "<", "FirstTargetFixupKind", ")", "return", "MCAsmBackend", "::", "getFixupKindInfo", "(", "Kind", ")", ";", "assert", "(", "unsigned", "(", "Kind", "-", "FirstTargetFixupKind", ")", "<", "getNumFixupKinds", "(", ")", "&&", "\"Invalid kind!\"", ")", ";", "return", "Infos", "[", "Kind", "-", "FirstTargetFixupKind", "]", ";", "}", ""], "natrual_language": ["Get", "information", "on", "a", "fixup", "kind", "."], "TS_V_token": ["ARM", "ARM::NumTargetFixupKinds", "\"fixup_arm_ldst_pcrel_12\"", "0", "32", "\"fixup_t2_ldst_pcrel_12\"", "0", "32", "\"fixup_arm_pcrel_10_unscaled\"", "0", "32", "\"fixup_arm_pcrel_10\"", "0", "32", "\"fixup_t2_pcrel_10\"", "0", "32", "\"fixup_thumb_adr_pcrel_10\"", "0", "8", "\"fixup_arm_adr_pcrel_12\"", "0", "32", "\"fixup_t2_adr_pcrel_12\"", "0", "32", "\"fixup_arm_condbranch\"", "0", "24", "\"fixup_arm_uncondbranch\"", "0", "24", "\"fixup_t2_condbranch\"", "0", "32", "\"fixup_t2_uncondbranch\"", "0", "32", "\"fixup_arm_thumb_br\"", "0", "16", "\"fixup_arm_uncondbl\"", "0", "24", "\"fixup_arm_condbl\"", "0", "24", "\"fixup_arm_blx\"", "0", "24", "\"fixup_arm_thumb_bl\"", "0", "32", "\"fixup_arm_thumb_blx\"", "0", "32", "\"fixup_arm_thumb_cb\"", "0", "16", "\"fixup_arm_thumb_cp\"", "0", "8", "\"fixup_arm_thumb_bcc\"", "0", "8", "\"fixup_arm_movt_hi16\"", "0", "20", "0", "\"fixup_arm_movw_lo16\"", "0", "20", "0", "\"fixup_t2_movt_hi16\"", "0", "20", "0", "\"fixup_t2_movw_lo16\"", "0", "20", "0", "\"fixup_arm_movt_hi16_pcrel\"", "0", "20", "\"fixup_arm_movw_lo16_pcrel\"", "0", "20", "\"fixup_t2_movt_hi16_pcrel\"", "0", "20", "\"fixup_t2_movw_lo16_pcrel\"", "0", "20", "\"Invalid kind!\""], "File": "ARMAsmBackend23", "Func": "getFixupKindInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9550, "Length": 423} {"ground_truth": ["", "void", "handleAssemblerFlag", "(", "MCAssemblerFlag", "Flag", ")", "override", "{", "switch", "(", "Flag", ")", "{", "default", ":", "break", ";", "case", "MCAF_Code16", ":", "setIsThumb", "(", "true", ")", ";", "break", ";", "case", "MCAF_Code32", ":", "setIsThumb", "(", "false", ")", ";", "break", ";", "}", "}", ""], "natrual_language": ["Handle", "any", "target-specific", "assembler", "flags", ".", "By", "default", ",", "do", "nothing", "."], "TS_V_token": ["ARM"], "File": "ARMAsmBackend23", "Func": "handleAssemblerFlag", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9551, "Length": 39} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "relaxInstruction", "(", "MCInst", "&", "Inst", ",", "const", "MCSubtargetInfo", "&", "STI", ")", "const", "{", "unsigned", "RelaxedOp", "=", "getRelaxedOpcode", "(", "Inst", ".", "getOpcode", "(", ")", ",", "STI", ")", ";", "if", "(", "RelaxedOp", "==", "Inst", ".", "getOpcode", "(", ")", ")", "{", "SmallString", "<", "256", ">", "Tmp", ";", "raw_svector_ostream", "OS", "(", "Tmp", ")", ";", "Inst", ".", "dump_pretty", "(", "OS", ")", ";", "OS", "<<", "\"\\n\"", ";", "report_fatal_error", "(", "\"unexpected instruction to relax: \"", "+", "OS", ".", "str", "(", ")", ")", ";", "}", "if", "(", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tCBZ", "||", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tCBNZ", ")", "&&", "RelaxedOp", "==", "ARM", "::", "tHINT", ")", "{", "MCInst", "Res", ";", "Res", ".", "setOpcode", "(", "RelaxedOp", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "0", ")", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "14", ")", ")", ";", "Res", ".", "addOperand", "(", "MCOperand", "::", "createReg", "(", "0", ")", ")", ";", "Inst", "=", "std", "::", "move", "(", "Res", ")", ";", "return", ";", "}", "Inst", ".", "setOpcode", "(", "RelaxedOp", ")", ";", "}", ""], "natrual_language": ["Relax", "the", "instruction", "in", "the", "given", "fragment", "to", "the", "next", "wider", "instruction", "."], "TS_V_token": ["ARM", "ARM", "256", "\"\\n\"", "\"unexpected instruction to relax: \"", "ARM::tCBZ", "ARM::tCBNZ", "ARM::tHINT", "0", "14", "0"], "File": "ARMAsmBackend26", "Func": "relaxInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9552, "Length": 173} {"ground_truth": ["", "Optional", "<", "MCFixupKind", ">", "ARMAsmBackend", "::", "getFixupKind", "(", "StringRef", "Name", ")", "const", "{", "if", "(", "STI", ".", "getTargetTriple", "(", ")", ".", "isOSBinFormatELF", "(", ")", "&&", "Name", "==", "\"R_ARM_NONE\"", ")", "return", "FK_NONE", ";", "return", "MCAsmBackend", "::", "getFixupKind", "(", "Name", ")", ";", "}", ""], "natrual_language": ["getFixupKind", "-", "Get", "the", "fixup", "kind", "of", "this", "expression", "."], "TS_V_token": ["ARM", "ARM", "\"R_ARM_NONE\""], "File": "ARMAsmBackend27", "Func": "getFixupKind", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9553, "Length": 41} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "shouldForceRelocation", "(", "const", "MCAssembler", "&", "Asm", ",", "const", "MCFixup", "&", "Fixup", ",", "const", "MCValue", "&", "Target", ")", "{", "const", "MCSymbolRefExpr", "*", "A", "=", "Target", ".", "getSymA", "(", ")", ";", "const", "MCSymbol", "*", "Sym", "=", "A", "?", "&", "A", "->", "getSymbol", "(", ")", ":", "nullptr", ";", "const", "unsigned", "FixupKind", "=", "Fixup", ".", "getKind", "(", ")", ";", "if", "(", "FixupKind", "==", "FK_NONE", ")", "return", "true", ";", "if", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_bl", ")", "{", "assert", "(", "Sym", "&&", "\"How did we resolve this?\"", ")", ";", "if", "(", "Sym", "->", "isExternal", "(", ")", ")", "return", "true", ";", "}", "if", "(", "Sym", "&&", "Sym", "->", "isELF", "(", ")", ")", "{", "unsigned", "Type", "=", "cast", "<", "MCSymbolELF", ">", "(", "Sym", ")", "->", "getType", "(", ")", ";", "if", "(", "(", "Type", "==", "ELF", "::", "STT_FUNC", "||", "Type", "==", "ELF", "::", "STT_GNU_IFUNC", ")", ")", "{", "if", "(", "Asm", ".", "isThumbFunc", "(", "Sym", ")", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_uncondbranch", ")", ")", "return", "true", ";", "if", "(", "!", "Asm", ".", "isThumbFunc", "(", "Sym", ")", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_br", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_bl", "||", "FixupKind", "==", "ARM", "::", "fixup_t2_condbranch", "||", "FixupKind", "==", "ARM", "::", "fixup_t2_uncondbranch", ")", ")", "return", "true", ";", "}", "}", "if", "(", "A", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_blx", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_blx", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_uncondbl", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_condbl", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Hook", "to", "check", "if", "a", "relocation", "is", "needed", "for", "some", "target", "specific", "reason", "."], "TS_V_token": ["ARM", "ARM", "ARM::fixup_arm_thumb_bl", "\"How did we resolve this?\"", "ARM::fixup_arm_uncondbranch", "ARM::fixup_arm_thumb_br", "ARM::fixup_arm_thumb_bl", "ARM::fixup_t2_condbranch", "ARM::fixup_t2_uncondbranch", "ARM::fixup_arm_thumb_blx", "ARM::fixup_arm_blx", "ARM::fixup_arm_uncondbl", "ARM::fixup_arm_condbl"], "File": "ARMAsmBackend27", "Func": "shouldForceRelocation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9554, "Length": 236} {"ground_truth": ["", "MCObjectWriter", "*", "createObjectWriter", "(", "raw_ostream", "&", "OS", ")", "const", "{", "return", "createMachObjectWriter", "(", "OS", ",", "false", ",", "object", "::", "mach", "::", "CTM_ARM", ",", "object", "::", "mach", "::", "CSARM_V7", ",", "true", ")", ";", "}", ""], "natrual_language": ["Create", "a", "new", "MCObjectWriter", "instance", "for", "use", "by", "the", "assembler", "backend", "to", "emit", "the", "final", "object", "file", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmBackend28", "Func": "createObjectWriter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9555, "Length": 33} {"ground_truth": ["", "virtual", "const", "MCObjectFormat", "&", "getObjectFormat", "(", ")", "const", "{", "return", "Format", ";", "}", ""], "natrual_language": ["Get", "the", "object", "format", "for", "this", "triple", "."], "TS_V_token": ["ARM"], "File": "ARMAsmBackend28", "Func": "getObjectFormat", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9556, "Length": 13} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCAssembler", "&", "Asm", ",", "const", "MCFixup", "&", "Fixup", ",", "const", "MCValue", "&", "Target", ",", "MutableArrayRef", "<", "char", ">", "Data", ",", "uint64_t", "Value", ",", "bool", "IsResolved", ",", "const", "MCSubtargetInfo", "*", "STI", ")", "const", "{", "unsigned", "Kind", "=", "Fixup", ".", "getKind", "(", ")", ";", "if", "(", "Kind", ">=", "FirstLiteralRelocationKind", ")", "return", ";", "MCContext", "&", "Ctx", "=", "Asm", ".", "getContext", "(", ")", ";", "Value", "=", "adjustFixupValue", "(", "Asm", ",", "Fixup", ",", "Target", ",", "Value", ",", "IsResolved", ",", "Ctx", ",", "STI", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "const", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Kind", ")", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup offset!\"", ")", ";", "unsigned", "FullSizeBytes", ";", "if", "(", "Endian", "==", "support", "::", "big", ")", "{", "FullSizeBytes", "=", "getFixupKindContainerSizeBytes", "(", "Kind", ")", ";", "assert", "(", "(", "Offset", "+", "FullSizeBytes", ")", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup size!\"", ")", ";", "assert", "(", "NumBytes", "<=", "FullSizeBytes", "&&", "\"Invalid fixup size!\"", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "{", "unsigned", "Idx", "=", "Endian", "==", "support", "::", "little", "?", "i", ":", "(", "FullSizeBytes", "-", "1", "-", "i", ")", ";", "Data", "[", "Offset", "+", "Idx", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "support::big", "\"Invalid fixup size!\"", "\"Invalid fixup size!\"", "0", "support::little", "1", "8", "0xff"], "File": "ARMAsmBackend33", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9557, "Length": 229} {"ground_truth": ["", "Optional", "<", "MCFixupKind", ">", "ARMAsmBackendELF", "::", "getFixupKind", "(", "StringRef", "Name", ")", "const", "{", "unsigned", "Type", "=", "llvm", "::", "StringSwitch", "<", "unsigned", ">", "(", "Name", ")", ".", "Case", "(", "\"BFD_RELOC_NONE\"", ",", "ELF", "::", "R_ARM_NONE", ")", ".", "Case", "(", "\"BFD_RELOC_8\"", ",", "ELF", "::", "R_ARM_ABS8", ")", ".", "Case", "(", "\"BFD_RELOC_16\"", ",", "ELF", "::", "R_ARM_ABS16", ")", ".", "Case", "(", "\"BFD_RELOC_32\"", ",", "ELF", "::", "R_ARM_ABS32", ")", ".", "Default", "(", "-", "1u", ")", ";", "if", "(", "Type", "==", "-", "1u", ")", "return", "None", ";", "return", "static_cast", "<", "MCFixupKind", ">", "(", "FirstLiteralRelocationKind", "+", "Type", ")", ";", "}", ""], "natrual_language": ["getFixupKind", "-", "Get", "the", "fixup", "kind", "of", "this", "expression", "."], "TS_V_token": ["ARM", "ARM", "\"BFD_RELOC_NONE\"", "ARM", "\"BFD_RELOC_8\"", "ARM", "\"BFD_RELOC_16\"", "ARM", "\"BFD_RELOC_32\"", "ARM", "1u", "1u"], "File": "ARMAsmBackend33", "Func": "getFixupKind", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9558, "Length": 90} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "writeNopData", "(", "raw_ostream", "&", "OS", ",", "uint64_t", "Count", ",", "const", "MCSubtargetInfo", "*", "STI", ")", "const", "{", "const", "uint16_t", "Thumb1_16bitNopEncoding", "=", "0x46c0", ";", "const", "uint16_t", "Thumb2_16bitNopEncoding", "=", "0xbf00", ";", "const", "uint32_t", "ARMv4_NopEncoding", "=", "0xe1a00000", ";", "const", "uint32_t", "ARMv6T2_NopEncoding", "=", "0xe320f000", ";", "if", "(", "isThumb", "(", ")", ")", "{", "const", "uint16_t", "nopEncoding", "=", "hasNOP", "(", "STI", ")", "?", "Thumb2_16bitNopEncoding", ":", "Thumb1_16bitNopEncoding", ";", "uint64_t", "NumNops", "=", "Count", "/", "2", ";", "for", "(", "uint64_t", "i", "=", "0", ";", "i", "!=", "NumNops", ";", "++", "i", ")", "support", "::", "endian", "::", "write", "(", "OS", ",", "nopEncoding", ",", "Endian", ")", ";", "if", "(", "Count", "&", "1", ")", "OS", "<<", "'\\0'", ";", "return", "true", ";", "}", "const", "uint32_t", "nopEncoding", "=", "hasNOP", "(", "STI", ")", "?", "ARMv6T2_NopEncoding", ":", "ARMv4_NopEncoding", ";", "uint64_t", "NumNops", "=", "Count", "/", "4", ";", "for", "(", "uint64_t", "i", "=", "0", ";", "i", "!=", "NumNops", ";", "++", "i", ")", "support", "::", "endian", "::", "write", "(", "OS", ",", "nopEncoding", ",", "Endian", ")", ";", "switch", "(", "Count", "%", "4", ")", "{", "default", ":", "break", ";", "case", "1", ":", "OS", "<<", "'\\0'", ";", "break", ";", "case", "2", ":", "OS", ".", "write", "(", "\"\\0\\0\"", ",", "2", ")", ";", "break", ";", "case", "3", ":", "OS", ".", "write", "(", "\"\\0\\0\\xa0\"", ",", "3", ")", ";", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Write", "an", "(", "optimal", ")", "nop", "sequence", "of", "Count", "bytes", "to", "the", "given", "output", "."], "TS_V_token": ["ARM", "ARM", "0x46c0", "0xbf00", "ARM", "0xe1a00000", "ARM", "0xe320f000", "2", "0", "support::endian", "1", "ARM", "ARM", "4", "0", "support::endian", "4", "1", "2", "\"\\0\\0\"", "2", "3", "\"\\0\\0\\xa0\"", "3"], "File": "ARMAsmBackend33", "Func": "writeNopData", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9559, "Length": 211} {"ground_truth": ["", "Optional", "<", "MCFixupKind", ">", "ARMAsmBackend", "::", "getFixupKind", "(", "StringRef", "Name", ")", "const", "{", "if", "(", "!", "STI", ".", "getTargetTriple", "(", ")", ".", "isOSBinFormatELF", "(", ")", ")", "return", "None", ";", "unsigned", "Type", "=", "llvm", "::", "StringSwitch", "<", "unsigned", ">", "(", "Name", ")", ".", "Case", "(", "\"BFD_RELOC_NONE\"", ",", "ELF", "::", "R_ARM_NONE", ")", ".", "Case", "(", "\"BFD_RELOC_8\"", ",", "ELF", "::", "R_ARM_ABS8", ")", ".", "Case", "(", "\"BFD_RELOC_16\"", ",", "ELF", "::", "R_ARM_ABS16", ")", ".", "Case", "(", "\"BFD_RELOC_32\"", ",", "ELF", "::", "R_ARM_ABS32", ")", ".", "Default", "(", "-", "1u", ")", ";", "if", "(", "Type", "==", "-", "1u", ")", "return", "None", ";", "return", "static_cast", "<", "MCFixupKind", ">", "(", "FirstLiteralRelocationKind", "+", "Type", ")", ";", "}", ""], "natrual_language": ["getFixupKind", "-", "Get", "the", "fixup", "kind", "of", "this", "expression", "."], "TS_V_token": ["ARM", "ARM", "\"BFD_RELOC_NONE\"", "ARM", "\"BFD_RELOC_8\"", "ARM", "\"BFD_RELOC_16\"", "ARM", "\"BFD_RELOC_32\"", "ARM", "1u", "1u"], "File": "ARMAsmBackend35", "Func": "getFixupKind", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9560, "Length": 106} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCFixup", "&", "Fixup", ",", "char", "*", "Data", ",", "unsigned", "DataSize", ",", "uint64_t", "Value", ",", "bool", "IsPCRel", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "Value", "=", "adjustFixupValue", "(", "Fixup", ",", "Value", ",", "IsPCRel", ",", "nullptr", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "DataSize", "&&", "\"Invalid fixup offset!\"", ")", ";", "unsigned", "FullSizeBytes", ";", "if", "(", "!", "IsLittleEndian", ")", "FullSizeBytes", "=", "getFixupKindContainerSizeBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "{", "unsigned", "Idx", "=", "IsLittleEndian", "?", "i", ":", "(", "FullSizeBytes", "-", "1", "-", "i", ")", ";", "Data", "[", "Offset", "+", "Idx", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "0", "1", "8", "0xff"], "File": "ARMAsmBackend40", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9561, "Length": 150} {"ground_truth": ["", "MCObjectWriter", "*", "createObjectWriter", "(", "raw_ostream", "&", "OS", ")", "const", "override", "{", "return", "createARMELFObjectWriter", "(", "OS", ",", "OSABI", ",", "isLittle", "(", ")", ")", ";", "}", ""], "natrual_language": ["Create", "a", "new", "MCObjectWriter", "instance", "for", "use", "by", "the", "assembler", "backend", "to", "emit", "the", "final", "object", "file", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmBackend40", "Func": "createObjectWriter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9562, "Length": 24} {"ground_truth": ["", "void", "DarwinARMAsmBackend", "::", "applyFixup", "(", "const", "MCFixup", "&", "Fixup", ",", "char", "*", "Data", ",", "unsigned", "DataSize", ",", "uint64_t", "Value", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "Value", "=", "adjustFixupValue", "(", "Fixup", ".", "getKind", "(", ")", ",", "Value", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "DataSize", "&&", "\"Invalid fixup offset!\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "Data", "[", "Offset", "+", "i", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "0", "8", "0xff"], "File": "ARMAsmBackend46", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9563, "Length": 111} {"ground_truth": ["", "const", "MCFixupKindInfo", "&", "getFixupKindInfo", "(", "MCFixupKind", "Kind", ")", "const", "{", "const", "static", "MCFixupKindInfo", "Infos", "[", "ARM", "::", "NumTargetFixupKinds", "]", "=", "{", "{", "\"fixup_arm_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_pcrel_10_unscaled\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_thumb_adr_pcrel_10\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_condbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_uncondbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_condbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_uncondbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_br\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_uncondbl\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_condbl\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_blx\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bl\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_blx\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cb\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cp\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bcc\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "}", ";", "if", "(", "Kind", "<", "FirstTargetFixupKind", ")", "return", "MCAsmBackend", "::", "getFixupKindInfo", "(", "Kind", ")", ";", "assert", "(", "unsigned", "(", "Kind", "-", "FirstTargetFixupKind", ")", "<", "getNumFixupKinds", "(", ")", "&&", "\"Invalid kind!\"", ")", ";", "return", "Infos", "[", "Kind", "-", "FirstTargetFixupKind", "]", ";", "}", ""], "natrual_language": ["Get", "information", "on", "a", "fixup", "kind", "."], "TS_V_token": ["ARM", "ARM::NumTargetFixupKinds", "\"fixup_arm_ldst_pcrel_12\"", "0", "32", "\"fixup_t2_ldst_pcrel_12\"", "0", "32", "\"fixup_arm_pcrel_10_unscaled\"", "0", "32", "\"fixup_arm_pcrel_10\"", "0", "32", "\"fixup_t2_pcrel_10\"", "0", "32", "\"fixup_thumb_adr_pcrel_10\"", "0", "8", "\"fixup_arm_adr_pcrel_12\"", "0", "32", "\"fixup_t2_adr_pcrel_12\"", "0", "32", "\"fixup_arm_condbranch\"", "0", "24", "\"fixup_arm_uncondbranch\"", "0", "24", "\"fixup_t2_condbranch\"", "0", "32", "\"fixup_t2_uncondbranch\"", "0", "32", "\"fixup_arm_thumb_br\"", "0", "16", "\"fixup_arm_uncondbl\"", "0", "24", "\"fixup_arm_condbl\"", "0", "24", "\"fixup_arm_blx\"", "0", "24", "\"fixup_arm_thumb_bl\"", "0", "32", "\"fixup_arm_thumb_blx\"", "0", "32", "\"fixup_arm_thumb_cb\"", "0", "16", "\"fixup_arm_thumb_cp\"", "0", "8", "\"fixup_arm_thumb_bcc\"", "0", "8", "\"fixup_arm_movt_hi16\"", "0", "20", "0", "\"fixup_arm_movw_lo16\"", "0", "20", "0", "\"fixup_t2_movt_hi16\"", "0", "20", "0", "\"fixup_t2_movw_lo16\"", "0", "20", "0", "\"fixup_arm_movt_hi16_pcrel\"", "0", "20", "\"fixup_arm_movw_lo16_pcrel\"", "0", "20", "\"fixup_t2_movt_hi16_pcrel\"", "0", "20", "\"fixup_t2_movw_lo16_pcrel\"", "0", "20", "\"Invalid kind!\""], "File": "ARMAsmBackend46", "Func": "getFixupKindInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9564, "Length": 418} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "fixupNeedsRelaxation", "(", "const", "MCFixup", "&", "Fixup", ",", "uint64_t", "Value", ",", "const", "MCInstFragment", "*", "DF", ",", "const", "MCAsmLayout", "&", "Layout", ")", "const", "{", "switch", "(", "(", "unsigned", ")", "Fixup", ".", "getKind", "(", ")", ")", "{", "case", "ARM", "::", "fixup_arm_thumb_bcc", ":", "{", "int64_t", "Offset", "=", "int64_t", "(", "Value", ")", "-", "4", ";", "return", "Offset", ">", "254", "||", "Offset", "<", "-", "256", ";", "}", "case", "ARM", "::", "fixup_thumb_adr_pcrel_10", ":", "case", "ARM", "::", "fixup_arm_thumb_cp", ":", "{", "int64_t", "Offset", "=", "int64_t", "(", "Value", ")", "-", "4", ";", "return", "Offset", ">", "1020", "||", "Offset", "<", "0", "||", "Offset", "&", "3", ";", "}", "}", "llvm_unreachable", "(", "\"Unexpected fixup kind in fixupNeedsRelaxation()!\"", ")", ";", "}", ""], "natrual_language": ["Simple", "predicate", "for", "targets", "where", "!", "Resolved", "implies", "requiring", "relaxation", "."], "TS_V_token": ["ARM", "ARM", "ARM::fixup_arm_thumb_bcc", "4", "254", "256", "ARM::fixup_thumb_adr_pcrel_10", "ARM::fixup_arm_thumb_cp", "4", "1020", "0", "3", "\"Unexpected fixup kind in fixupNeedsRelaxation()!\""], "File": "ARMAsmBackend49", "Func": "fixupNeedsRelaxation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9565, "Length": 106} {"ground_truth": ["", "const", "MCFixupKindInfo", "&", "getFixupKindInfo", "(", "MCFixupKind", "Kind", ")", "const", "{", "const", "static", "MCFixupKindInfo", "Infos", "[", "ARM", "::", "NumTargetFixupKinds", "]", "=", "{", "{", "\"fixup_arm_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_pcrel_10_unscaled\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_thumb_adr_pcrel_10\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_condbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_uncondbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_condbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_uncondbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_br\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bl\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_blx\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cb\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cp\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bcc\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "}", ";", "if", "(", "Kind", "<", "FirstTargetFixupKind", ")", "return", "MCAsmBackend", "::", "getFixupKindInfo", "(", "Kind", ")", ";", "assert", "(", "unsigned", "(", "Kind", "-", "FirstTargetFixupKind", ")", "<", "getNumFixupKinds", "(", ")", "&&", "\"Invalid kind!\"", ")", ";", "return", "Infos", "[", "Kind", "-", "FirstTargetFixupKind", "]", ";", "}", ""], "natrual_language": ["Get", "information", "on", "a", "fixup", "kind", "."], "TS_V_token": ["ARM", "ARM::NumTargetFixupKinds", "\"fixup_arm_ldst_pcrel_12\"", "0", "32", "\"fixup_t2_ldst_pcrel_12\"", "0", "32", "\"fixup_arm_pcrel_10_unscaled\"", "0", "32", "\"fixup_arm_pcrel_10\"", "0", "32", "\"fixup_t2_pcrel_10\"", "0", "32", "\"fixup_thumb_adr_pcrel_10\"", "0", "8", "\"fixup_arm_adr_pcrel_12\"", "0", "32", "\"fixup_t2_adr_pcrel_12\"", "0", "32", "\"fixup_arm_condbranch\"", "0", "24", "\"fixup_arm_uncondbranch\"", "0", "24", "\"fixup_t2_condbranch\"", "0", "32", "\"fixup_t2_uncondbranch\"", "0", "32", "\"fixup_arm_thumb_br\"", "0", "16", "\"fixup_arm_thumb_bl\"", "0", "32", "\"fixup_arm_thumb_blx\"", "0", "32", "\"fixup_arm_thumb_cb\"", "0", "16", "\"fixup_arm_thumb_cp\"", "0", "8", "\"fixup_arm_thumb_bcc\"", "0", "8", "\"fixup_arm_movt_hi16\"", "0", "20", "0", "\"fixup_arm_movw_lo16\"", "0", "20", "0", "\"fixup_t2_movt_hi16\"", "0", "20", "0", "\"fixup_t2_movw_lo16\"", "0", "20", "0", "\"fixup_arm_movt_hi16_pcrel\"", "0", "20", "\"fixup_arm_movw_lo16_pcrel\"", "0", "20", "\"fixup_t2_movt_hi16_pcrel\"", "0", "20", "\"fixup_t2_movw_lo16_pcrel\"", "0", "20", "\"Invalid kind!\""], "File": "ARMAsmBackend49", "Func": "getFixupKindInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9566, "Length": 382} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCFixup", "&", "Fixup", ",", "MutableArrayRef", "<", "char", ">", "Data", ",", "uint64_t", "Value", ",", "bool", "IsPCRel", ",", "MCContext", "&", "Ctx", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "Value", "=", "adjustFixupValue", "(", "Fixup", ",", "Value", ",", "IsPCRel", ",", "Ctx", ",", "IsLittleEndian", ",", "true", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup offset!\"", ")", ";", "unsigned", "FullSizeBytes", ";", "if", "(", "!", "IsLittleEndian", ")", "{", "FullSizeBytes", "=", "getFixupKindContainerSizeBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "assert", "(", "(", "Offset", "+", "FullSizeBytes", ")", "<=", "Data", ".", "size", "(", ")", "&&", "\"Invalid fixup size!\"", ")", ";", "assert", "(", "NumBytes", "<=", "FullSizeBytes", "&&", "\"Invalid fixup size!\"", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "{", "unsigned", "Idx", "=", "IsLittleEndian", "?", "i", ":", "(", "FullSizeBytes", "-", "1", "-", "i", ")", ";", "Data", "[", "Offset", "+", "Idx", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "\"Invalid fixup size!\"", "\"Invalid fixup size!\"", "0", "1", "8", "0xff"], "File": "ARMAsmBackend4", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9567, "Length": 189} {"ground_truth": ["", "void", "ARMAsmBackend", "::", "applyFixup", "(", "const", "MCFixup", "&", "Fixup", ",", "char", "*", "Data", ",", "unsigned", "DataSize", ",", "uint64_t", "Value", ",", "bool", "IsPCRel", ")", "const", "{", "unsigned", "NumBytes", "=", "getFixupKindNumBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "Value", "=", "adjustFixupValue", "(", "Fixup", ",", "Value", ",", "IsPCRel", ",", "nullptr", ",", "IsLittleEndian", ")", ";", "if", "(", "!", "Value", ")", "return", ";", "unsigned", "Offset", "=", "Fixup", ".", "getOffset", "(", ")", ";", "assert", "(", "Offset", "+", "NumBytes", "<=", "DataSize", "&&", "\"Invalid fixup offset!\"", ")", ";", "unsigned", "FullSizeBytes", ";", "if", "(", "!", "IsLittleEndian", ")", "FullSizeBytes", "=", "getFixupKindContainerSizeBytes", "(", "Fixup", ".", "getKind", "(", ")", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumBytes", ";", "++", "i", ")", "{", "unsigned", "Idx", "=", "IsLittleEndian", "?", "i", ":", "(", "FullSizeBytes", "-", "1", "-", "i", ")", ";", "Data", "[", "Offset", "+", "Idx", "]", "|=", "uint8_t", "(", "(", "Value", ">>", "(", "i", "*", "8", ")", ")", "&", "0xff", ")", ";", "}", "}", ""], "natrual_language": ["Apply", "the", "Value", "for", "given", "Fixup", "into", "the", "provided", "data", "fragment", ",", "at", "the", "offset", "specified", "by", "the", "fixup", "and", "following", "the", "fixup", "kind", "as", "appropriate", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fixup offset!\"", "0", "1", "8", "0xff"], "File": "ARMAsmBackend52", "Func": "applyFixup", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9568, "Length": 152} {"ground_truth": ["", "bool", "ARMAsmBackend", "::", "shouldForceRelocation", "(", "const", "MCAssembler", "&", "Asm", ",", "const", "MCFixup", "&", "Fixup", ",", "const", "MCValue", "&", "Target", ")", "{", "const", "MCSymbolRefExpr", "*", "A", "=", "Target", ".", "getSymA", "(", ")", ";", "const", "MCSymbol", "*", "Sym", "=", "A", "?", "&", "A", "->", "getSymbol", "(", ")", ":", "nullptr", ";", "const", "unsigned", "FixupKind", "=", "Fixup", ".", "getKind", "(", ")", ";", "if", "(", "FixupKind", "==", "FK_NONE", ")", "return", "true", ";", "if", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_bl", ")", "{", "assert", "(", "Sym", "&&", "\"How did we resolve this?\"", ")", ";", "if", "(", "Sym", "->", "isExternal", "(", ")", ")", "return", "true", ";", "}", "if", "(", "Sym", "&&", "Sym", "->", "isELF", "(", ")", ")", "{", "unsigned", "Type", "=", "cast", "<", "MCSymbolELF", ">", "(", "Sym", ")", "->", "getType", "(", ")", ";", "if", "(", "(", "Type", "==", "ELF", "::", "STT_FUNC", "||", "Type", "==", "ELF", "::", "STT_GNU_IFUNC", ")", ")", "{", "if", "(", "Asm", ".", "isThumbFunc", "(", "Sym", ")", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_uncondbranch", ")", ")", "return", "true", ";", "if", "(", "!", "Asm", ".", "isThumbFunc", "(", "Sym", ")", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_br", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_bl", "||", "FixupKind", "==", "ARM", "::", "fixup_t2_condbranch", "||", "FixupKind", "==", "ARM", "::", "fixup_t2_uncondbranch", ")", ")", "return", "true", ";", "}", "}", "if", "(", "A", "&&", "(", "FixupKind", "==", "ARM", "::", "fixup_arm_thumb_blx", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_blx", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_uncondbl", "||", "FixupKind", "==", "ARM", "::", "fixup_arm_condbl", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Hook", "to", "check", "if", "a", "relocation", "is", "needed", "for", "some", "target", "specific", "reason", "."], "TS_V_token": ["ARM", "ARM", "ARM::fixup_arm_thumb_bl", "\"How did we resolve this?\"", "ARM::fixup_arm_uncondbranch", "ARM::fixup_arm_thumb_br", "ARM::fixup_arm_thumb_bl", "ARM::fixup_t2_condbranch", "ARM::fixup_t2_uncondbranch", "ARM::fixup_arm_thumb_blx", "ARM::fixup_arm_blx", "ARM::fixup_arm_uncondbl", "ARM::fixup_arm_condbl"], "File": "ARMAsmBackend53", "Func": "shouldForceRelocation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9569, "Length": 236} {"ground_truth": ["", "MCObjectWriter", "*", "createObjectWriter", "(", "raw_ostream", "&", "OS", ")", "const", "{", "return", "createARMMachObjectWriter", "(", "OS", ",", "false", ",", "MachO", "::", "CPU_TYPE_ARM", ",", "Subtype", ")", ";", "}", ""], "natrual_language": ["Create", "a", "new", "MCObjectWriter", "instance", "for", "use", "by", "the", "assembler", "backend", "to", "emit", "the", "final", "object", "file", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmBackend68", "Func": "createObjectWriter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9570, "Length": 25} {"ground_truth": ["", "const", "MCFixupKindInfo", "&", "getFixupKindInfo", "(", "MCFixupKind", "Kind", ")", "const", "{", "const", "static", "MCFixupKindInfo", "Infos", "[", "ARM", "::", "NumTargetFixupKinds", "]", "=", "{", "{", "\"fixup_arm_ldst_pcrel_12\"", ",", "1", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_pcrel_10\"", ",", "1", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_thumb_adr_pcrel_10\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_adr_pcrel_12\"", ",", "1", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_condbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_uncondbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_condbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_uncondbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_br\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bl\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_blx\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cb\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cp\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bcc\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "}", ";", "if", "(", "Kind", "<", "FirstTargetFixupKind", ")", "return", "MCAsmBackend", "::", "getFixupKindInfo", "(", "Kind", ")", ";", "assert", "(", "unsigned", "(", "Kind", "-", "FirstTargetFixupKind", ")", "<", "getNumFixupKinds", "(", ")", "&&", "\"Invalid kind!\"", ")", ";", "return", "Infos", "[", "Kind", "-", "FirstTargetFixupKind", "]", ";", "}", ""], "natrual_language": ["Get", "information", "on", "a", "fixup", "kind", "."], "TS_V_token": ["ARM", "ARM::NumTargetFixupKinds", "\"fixup_arm_ldst_pcrel_12\"", "1", "24", "\"fixup_t2_ldst_pcrel_12\"", "0", "32", "\"fixup_arm_pcrel_10\"", "1", "24", "\"fixup_t2_pcrel_10\"", "0", "32", "\"fixup_thumb_adr_pcrel_10\"", "0", "8", "\"fixup_arm_adr_pcrel_12\"", "1", "24", "\"fixup_t2_adr_pcrel_12\"", "0", "32", "\"fixup_arm_condbranch\"", "0", "24", "\"fixup_arm_uncondbranch\"", "0", "24", "\"fixup_t2_condbranch\"", "0", "32", "\"fixup_t2_uncondbranch\"", "0", "32", "\"fixup_arm_thumb_br\"", "0", "16", "\"fixup_arm_thumb_bl\"", "0", "32", "\"fixup_arm_thumb_blx\"", "0", "32", "\"fixup_arm_thumb_cb\"", "0", "16", "\"fixup_arm_thumb_cp\"", "0", "8", "\"fixup_arm_thumb_bcc\"", "0", "8", "\"fixup_arm_movt_hi16\"", "0", "20", "0", "\"fixup_arm_movw_lo16\"", "0", "20", "0", "\"fixup_t2_movt_hi16\"", "0", "20", "0", "\"fixup_t2_movw_lo16\"", "0", "20", "0", "\"fixup_arm_movt_hi16_pcrel\"", "0", "20", "\"fixup_arm_movw_lo16_pcrel\"", "0", "20", "\"fixup_t2_movt_hi16_pcrel\"", "0", "20", "\"fixup_t2_movw_lo16_pcrel\"", "0", "20", "\"Invalid kind!\""], "File": "ARMAsmBackend69", "Func": "getFixupKindInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9571, "Length": 370} {"ground_truth": ["", "const", "MCFixupKindInfo", "&", "getFixupKindInfo", "(", "MCFixupKind", "Kind", ")", "const", "{", "const", "static", "MCFixupKindInfo", "Infos", "[", "ARM", "::", "NumTargetFixupKinds", "]", "=", "{", "{", "\"fixup_arm_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_thumb_adr_pcrel_10\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_condbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_uncondbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_condbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_uncondbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_br\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bl\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_blx\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cb\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cp\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bcc\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "}", ";", "if", "(", "Kind", "<", "FirstTargetFixupKind", ")", "return", "MCAsmBackend", "::", "getFixupKindInfo", "(", "Kind", ")", ";", "assert", "(", "unsigned", "(", "Kind", "-", "FirstTargetFixupKind", ")", "<", "getNumFixupKinds", "(", ")", "&&", "\"Invalid kind!\"", ")", ";", "return", "Infos", "[", "Kind", "-", "FirstTargetFixupKind", "]", ";", "}", ""], "natrual_language": ["Get", "information", "on", "a", "fixup", "kind", "."], "TS_V_token": ["ARM", "ARM::NumTargetFixupKinds", "\"fixup_arm_ldst_pcrel_12\"", "0", "32", "\"fixup_t2_ldst_pcrel_12\"", "0", "32", "\"fixup_arm_pcrel_10\"", "0", "32", "\"fixup_t2_pcrel_10\"", "0", "32", "\"fixup_thumb_adr_pcrel_10\"", "0", "8", "\"fixup_arm_adr_pcrel_12\"", "0", "32", "\"fixup_t2_adr_pcrel_12\"", "0", "32", "\"fixup_arm_condbranch\"", "0", "24", "\"fixup_arm_uncondbranch\"", "0", "24", "\"fixup_t2_condbranch\"", "0", "32", "\"fixup_t2_uncondbranch\"", "0", "32", "\"fixup_arm_thumb_br\"", "0", "16", "\"fixup_arm_thumb_bl\"", "0", "32", "\"fixup_arm_thumb_blx\"", "0", "32", "\"fixup_arm_thumb_cb\"", "0", "16", "\"fixup_arm_thumb_cp\"", "0", "8", "\"fixup_arm_thumb_bcc\"", "0", "8", "\"fixup_arm_movt_hi16\"", "0", "20", "0", "\"fixup_arm_movw_lo16\"", "0", "20", "0", "\"fixup_t2_movt_hi16\"", "0", "20", "0", "\"fixup_t2_movw_lo16\"", "0", "20", "0", "\"fixup_arm_movt_hi16_pcrel\"", "0", "20", "\"fixup_arm_movw_lo16_pcrel\"", "0", "20", "\"fixup_t2_movt_hi16_pcrel\"", "0", "20", "\"fixup_t2_movw_lo16_pcrel\"", "0", "20", "\"Invalid kind!\""], "File": "ARMAsmBackend7", "Func": "getFixupKindInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9572, "Length": 370} {"ground_truth": ["", "const", "MCFixupKindInfo", "&", "getFixupKindInfo", "(", "MCFixupKind", "Kind", ")", "const", "{", "const", "static", "MCFixupKindInfo", "Infos", "[", "ARM", "::", "NumTargetFixupKinds", "]", "=", "{", "{", "\"fixup_arm_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_pcrel_10_unscaled\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_thumb_adr_pcrel_10\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_adr_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAlignedDownTo32Bits", "}", ",", "{", "\"fixup_arm_condbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_uncondbranch\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_condbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_uncondbranch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_br\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_bl\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_blx\"", ",", "0", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bl\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_blx\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cb\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cp\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_bcc\"", ",", "0", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movt_hi16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_t2_movw_lo16\"", ",", "0", ",", "20", ",", "0", "}", ",", "{", "\"fixup_arm_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movt_hi16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_movw_lo16_pcrel\"", ",", "0", ",", "20", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "}", ";", "if", "(", "Kind", "<", "FirstTargetFixupKind", ")", "return", "MCAsmBackend", "::", "getFixupKindInfo", "(", "Kind", ")", ";", "assert", "(", "unsigned", "(", "Kind", "-", "FirstTargetFixupKind", ")", "<", "getNumFixupKinds", "(", ")", "&&", "\"Invalid kind!\"", ")", ";", "return", "Infos", "[", "Kind", "-", "FirstTargetFixupKind", "]", ";", "}", ""], "natrual_language": ["Get", "information", "on", "a", "fixup", "kind", "."], "TS_V_token": ["ARM", "ARM::NumTargetFixupKinds", "\"fixup_arm_ldst_pcrel_12\"", "0", "32", "\"fixup_t2_ldst_pcrel_12\"", "0", "32", "\"fixup_arm_pcrel_10_unscaled\"", "0", "32", "\"fixup_arm_pcrel_10\"", "0", "32", "\"fixup_t2_pcrel_10\"", "0", "32", "\"fixup_thumb_adr_pcrel_10\"", "0", "8", "\"fixup_arm_adr_pcrel_12\"", "0", "32", "\"fixup_t2_adr_pcrel_12\"", "0", "32", "\"fixup_arm_condbranch\"", "0", "24", "\"fixup_arm_uncondbranch\"", "0", "24", "\"fixup_t2_condbranch\"", "0", "32", "\"fixup_t2_uncondbranch\"", "0", "32", "\"fixup_arm_thumb_br\"", "0", "16", "\"fixup_arm_bl\"", "0", "24", "\"fixup_arm_blx\"", "0", "24", "\"fixup_arm_thumb_bl\"", "0", "32", "\"fixup_arm_thumb_blx\"", "0", "32", "\"fixup_arm_thumb_cb\"", "0", "16", "\"fixup_arm_thumb_cp\"", "0", "8", "\"fixup_arm_thumb_bcc\"", "0", "8", "\"fixup_arm_movt_hi16\"", "0", "20", "0", "\"fixup_arm_movw_lo16\"", "0", "20", "0", "\"fixup_t2_movt_hi16\"", "0", "20", "0", "\"fixup_t2_movw_lo16\"", "0", "20", "0", "\"fixup_arm_movt_hi16_pcrel\"", "0", "20", "\"fixup_arm_movw_lo16_pcrel\"", "0", "20", "\"fixup_t2_movt_hi16_pcrel\"", "0", "20", "\"fixup_t2_movw_lo16_pcrel\"", "0", "20", "\"Invalid kind!\""], "File": "ARMAsmBackend81", "Func": "getFixupKindInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9573, "Length": 406} {"ground_truth": ["", "std", "::", "unique_ptr", "<", "MCObjectWriter", ">", "createObjectWriter", "(", "raw_pwrite_stream", "&", "OS", ")", "const", "override", "{", "return", "createARMMachObjectWriter", "(", "OS", ",", "false", ",", "MachO", "::", "CPU_TYPE_ARM", ",", "Subtype", ")", ";", "}", ""], "natrual_language": ["Create", "a", "new", "MCObjectWriter", "instance", "for", "use", "by", "the", "assembler", "backend", "to", "emit", "the", "final", "object", "file", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmBackendDarwin12", "Func": "createObjectWriter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9574, "Length": 30} {"ground_truth": ["", "MCObjectWriter", "*", "createObjectWriter", "(", "raw_pwrite_stream", "&", "OS", ")", "const", "override", "{", "return", "createARMMachObjectWriter", "(", "OS", ",", "false", ",", "MachO", "::", "CPU_TYPE_ARM", ",", "Subtype", ")", ";", "}", ""], "natrual_language": ["Create", "a", "new", "MCObjectWriter", "instance", "for", "use", "by", "the", "assembler", "backend", "to", "emit", "the", "final", "object", "file", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmBackendDarwin", "Func": "createObjectWriter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9575, "Length": 26} {"ground_truth": ["", "MCObjectWriter", "*", "createObjectWriter", "(", "raw_pwrite_stream", "&", "OS", ")", "const", "override", "{", "return", "createARMELFObjectWriter", "(", "OS", ",", "OSABI", ",", "isLittle", "(", ")", ")", ";", "}", ""], "natrual_language": ["Create", "a", "new", "MCObjectWriter", "instance", "for", "use", "by", "the", "assembler", "backend", "to", "emit", "the", "final", "object", "file", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmBackendELF10", "Func": "createObjectWriter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9576, "Length": 24} {"ground_truth": ["", "std", "::", "unique_ptr", "<", "MCObjectWriter", ">", "createObjectWriter", "(", "raw_pwrite_stream", "&", "OS", ")", "const", "override", "{", "return", "createARMELFObjectWriter", "(", "OS", ",", "OSABI", ",", "isLittle", "(", ")", ")", ";", "}", ""], "natrual_language": ["Create", "a", "new", "MCObjectWriter", "instance", "for", "use", "by", "the", "assembler", "backend", "to", "emit", "the", "final", "object", "file", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmBackendELF3", "Func": "createObjectWriter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9577, "Length": 28} {"ground_truth": ["", "std", "::", "unique_ptr", "<", "MCObjectWriter", ">", "createObjectWriter", "(", "raw_pwrite_stream", "&", "OS", ")", "const", "override", "{", "return", "createARMWinCOFFObjectWriter", "(", "OS", ",", "false", ")", ";", "}", ""], "natrual_language": ["Create", "a", "new", "MCObjectWriter", "instance", "for", "use", "by", "the", "assembler", "backend", "to", "emit", "the", "final", "object", "file", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmBackendWinCOFF10", "Func": "createObjectWriter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9578, "Length": 24} {"ground_truth": ["", "MCObjectWriter", "*", "createObjectWriter", "(", "raw_pwrite_stream", "&", "OS", ")", "const", "override", "{", "return", "createARMWinCOFFObjectWriter", "(", "OS", ",", "false", ")", ";", "}", ""], "natrual_language": ["Create", "a", "new", "MCObjectWriter", "instance", "for", "use", "by", "the", "assembler", "backend", "to", "emit", "the", "final", "object", "file", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmBackendWinCOFF", "Func": "createObjectWriter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9579, "Length": 20} {"ground_truth": ["", "unsigned", "getNumFixupKinds", "(", ")", "const", "override", "{", "return", "ARM", "::", "NumTargetFixupKinds", ";", "}", ""], "natrual_language": ["Get", "the", "number", "of", "target", "specific", "fixup", "kinds", "."], "TS_V_token": ["ARM", "ARM::NumTargetFixupKinds"], "File": "ARMAsmBackend", "Func": "getNumFixupKinds", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9580, "Length": 13} {"ground_truth": ["", "AsmToken", "LexToken", "(", ")", "{", "if", "(", "!", "Lexer", ")", "{", "SetError", "(", "SMLoc", "(", ")", ",", "\"No MCAsmLexer installed\"", ")", ";", "return", "AsmToken", "(", "AsmToken", "::", "Error", ",", "\"\"", ",", "0", ")", ";", "}", "switch", "(", "AsmInfo", ".", "getAssemblerDialect", "(", ")", ")", "{", "default", ":", "SetError", "(", "SMLoc", "(", ")", ",", "\"Unhandled dialect\"", ")", ";", "return", "AsmToken", "(", "AsmToken", "::", "Error", ",", "\"\"", ",", "0", ")", ";", "case", "0", ":", "return", "LexTokenUAL", "(", ")", ";", "}", "}", ""], "natrual_language": ["LexToken", "-", "Read", "the", "next", "token", "and", "return", "its", "code", "."], "TS_V_token": ["ARM", "\"No MCAsmLexer installed\"", "\"\"", "0", "\"Unhandled dialect\"", "\"\"", "0", "0"], "File": "ARMAsmLexer", "Func": "LexToken", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9581, "Length": 75} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "checkTargetMatchPredicate", "(", "MCInst", "&", "Inst", ")", "{", "unsigned", "Opc", "=", "Inst", ".", "getOpcode", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "getInstDesc", "(", "Opc", ")", ";", "if", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "ThumbArithFlagSetting", ")", "{", "assert", "(", "MCID", ".", "hasOptionalDef", "(", ")", "&&", "\"optionally flag setting instruction missing optional def operand\"", ")", ";", "assert", "(", "MCID", ".", "NumOperands", "==", "Inst", ".", "getNumOperands", "(", ")", "&&", "\"operand count mismatch!\"", ")", ";", "unsigned", "OpNo", ";", "for", "(", "OpNo", "=", "0", ";", "!", "MCID", ".", "OpInfo", "[", "OpNo", "]", ".", "isOptionalDef", "(", ")", "&&", "OpNo", "<", "MCID", ".", "NumOperands", ";", "++", "OpNo", ")", ";", "if", "(", "isThumbOne", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "Match_MnemonicFail", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", "&&", "!", "inITBlock", "(", ")", ")", "return", "Match_RequiresITBlock", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", "&&", "inITBlock", "(", ")", ")", "return", "Match_RequiresNotITBlock", ";", "}", "else", "if", "(", "Opc", "==", "ARM", "::", "tADDhirr", "&&", "isThumbOne", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresThumb2", ";", "else", "if", "(", "Opc", "==", "ARM", "::", "tMOVr", "&&", "isThumbOne", "(", ")", "&&", "!", "hasV6Ops", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresV6", ";", "return", "Match_Success", ";", "}", ""], "natrual_language": ["checkTargetMatchPredicate", "-", "Validate", "the", "instruction", "match", "against", "any", "complex", "target", "predicates", "not", "expressible", "via", "match", "classes", "."], "TS_V_token": ["ARM", "ARM", "ARMII::ThumbArithFlagSetting", "\"optionally flag setting instruction missing optional def operand\"", "\"operand count mismatch!\"", "0", "ARM::CPSR", "ARM::CPSR", "ARM::CPSR", "ARM::tADDhirr", "ARM", "1", "ARM", "2", "ARM::tMOVr", "ARM", "0", "ARM", "1"], "File": "ARMAsmParser (2)1", "Func": "checkTargetMatchPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9582, "Length": 276} {"ground_truth": ["", "SMLoc", "getEndLoc", "(", ")", "const", "{", "return", "EndLoc", ";", "}", ""], "natrual_language": ["getEndLoc", "-", "Get", "the", "location", "of", "the", "last", "token", "of", "this", "operand", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)1", "Func": "getEndLoc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9583, "Length": 10} {"ground_truth": ["", "unsigned", "getReg", "(", ")", "const", "{", "assert", "(", "(", "Kind", "==", "k_Register", "||", "Kind", "==", "k_CCOut", ")", "&&", "\"Invalid access!\"", ")", ";", "return", "Reg", ".", "RegNum", ";", "}", ""], "natrual_language": ["Returns", "the", "register", "associated", "with", "this", "edge", "."], "TS_V_token": ["ARM", "\"Invalid access!\""], "File": "ARMAsmParser (2)1", "Func": "getReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9584, "Length": 27} {"ground_truth": ["", "SMLoc", "getStartLoc", "(", ")", "const", "{", "return", "StartLoc", ";", "}", ""], "natrual_language": ["getStartLoc", "-", "Get", "the", "location", "of", "the", "first", "token", "of", "this", "operand", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)1", "Func": "getStartLoc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9585, "Length": 10} {"ground_truth": ["", "bool", "isImm", "(", ")", "const", "{", "return", "Kind", "==", "k_Immediate", ";", "}", ""], "natrual_language": ["isImm", "-", "Is", "this", "an", "immediate", "operand", "?"], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)1", "Func": "isImm", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9586, "Length": 12} {"ground_truth": ["", "bool", "isMem", "(", ")", "const", "{", "return", "Kind", "==", "k_Memory", ";", "}", ""], "natrual_language": ["isMem", "-", "Is", "this", "a", "memory", "operand", "?"], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)1", "Func": "isMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9587, "Length": 12} {"ground_truth": ["", "bool", "isReg", "(", ")", "const", "{", "return", "Kind", "==", "k_Register", ";", "}", ""], "natrual_language": ["isReg", "-", "Is", "this", "a", "register", "operand", "?"], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)1", "Func": "isReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9588, "Length": 12} {"ground_truth": ["", "bool", "isToken", "(", ")", "const", "{", "return", "Kind", "==", "k_Token", ";", "}", ""], "natrual_language": ["isToken", "-", "Is", "this", "a", "token", "operand", "?"], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)1", "Func": "isToken", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9589, "Length": 12} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "unsigned", "&", "Opcode", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ",", "MCStreamer", "&", "Out", ",", "unsigned", "&", "ErrorInfo", ",", "bool", "MatchingInlineAsm", ")", "{", "MCInst", "Inst", ";", "unsigned", "MatchResult", ";", "MatchResult", "=", "MatchInstructionImpl", "(", "Operands", ",", "Inst", ",", "ErrorInfo", ",", "MatchingInlineAsm", ")", ";", "switch", "(", "MatchResult", ")", "{", "default", ":", "break", ";", "case", "Match_Success", ":", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ")", ")", ";", "forwardITPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "Out", ".", "EmitInstruction", "(", "Inst", ")", ";", "return", "false", ";", "case", "Match_MissingFeature", ":", "{", "assert", "(", "ErrorInfo", "&&", "\"Unknown missing feature!\"", ")", ";", "std", "::", "string", "Msg", "=", "\"instruction requires:\"", ";", "unsigned", "Mask", "=", "1", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "(", "sizeof", "(", "ErrorInfo", ")", "*", "8", "-", "1", ")", ";", "++", "i", ")", "{", "if", "(", "ErrorInfo", "&", "Mask", ")", "{", "Msg", "+=", "\" \"", ";", "Msg", "+=", "getSubtargetFeatureName", "(", "ErrorInfo", "&", "Mask", ")", ";", "}", "Mask", "<<=", "1", ";", "}", "return", "Error", "(", "IDLoc", ",", "Msg", ")", ";", "}", "case", "Match_InvalidOperand", ":", "{", "SMLoc", "ErrorLoc", "=", "IDLoc", ";", "if", "(", "ErrorInfo", "!=", "~", "0U", ")", "{", "if", "(", "ErrorInfo", ">=", "Operands", ".", "size", "(", ")", ")", "return", "Error", "(", "IDLoc", ",", "\"too few operands for instruction\"", ")", ";", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "}", "return", "Error", "(", "ErrorLoc", ",", "\"invalid operand for instruction\"", ")", ";", "}", "case", "Match_MnemonicFail", ":", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", ",", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "0", "]", ")", "->", "getLocRange", "(", ")", ")", ";", "case", "Match_RequiresNotITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"flag setting instruction only valid outside IT block\"", ")", ";", "case", "Match_RequiresITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction only valid inside IT block\"", ")", ";", "case", "Match_RequiresV6", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires ARMv6 or later\"", ")", ";", "case", "Match_RequiresThumb2", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires Thumb2\"", ")", ";", "case", "Match_ImmRange0_4", ":", "{", "SMLoc", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "return", "Error", "(", "ErrorLoc", ",", "\"immediate operand must be in the range [0,4]\"", ")", ";", "}", "case", "Match_ImmRange0_15", ":", "{", "SMLoc", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "return", "Error", "(", "ErrorLoc", ",", "\"immediate operand must be in the range [0,15]\"", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "ARM::ITasm", "\"Unknown missing feature!\"", "\"instruction requires:\"", "1", "0", "8", "1", "\" \"", "1", "0U", "\"too few operands for instruction\"", "ARM", "\"invalid operand for instruction\"", "\"invalid instruction\"", "ARM", "0", "\"flag setting instruction only valid outside IT block\"", "\"instruction only valid inside IT block\"", "\"instruction variant requires ARMv6 or later\"", "\"instruction variant requires Thumb2\"", "ARM", "\"immediate operand must be in the range [0,4]\"", "ARM", "\"immediate operand must be in the range [0,15]\"", "\"Implement any new match types added!\""], "File": "ARMAsmParser (2)1", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9590, "Length": 446} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "ParseDirective", "(", "AsmToken", "DirectiveID", ")", "{", "StringRef", "IDVal", "=", "DirectiveID", ".", "getIdentifier", "(", ")", ";", "if", "(", "IDVal", "==", "\".word\"", ")", "return", "parseDirectiveWord", "(", "4", ",", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".thumb\"", ")", "return", "parseDirectiveThumb", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".arm\"", ")", "return", "parseDirectiveARM", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".thumb_func\"", ")", "return", "parseDirectiveThumbFunc", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".code\"", ")", "return", "parseDirectiveCode", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".syntax\"", ")", "return", "parseDirectiveSyntax", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".unreq\"", ")", "return", "parseDirectiveUnreq", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".arch\"", ")", "return", "parseDirectiveArch", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".eabi_attribute\"", ")", "return", "parseDirectiveEabiAttr", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".fnstart\"", ")", "return", "parseDirectiveFnStart", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".fnend\"", ")", "return", "parseDirectiveFnEnd", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".cantunwind\"", ")", "return", "parseDirectiveCantUnwind", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".personality\"", ")", "return", "parseDirectivePersonality", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".handlerdata\"", ")", "return", "parseDirectiveHandlerData", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".setfp\"", ")", "return", "parseDirectiveSetFP", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".pad\"", ")", "return", "parseDirectivePad", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".save\"", ")", "return", "parseDirectiveRegSave", "(", "DirectiveID", ".", "getLoc", "(", ")", ",", "false", ")", ";", "else", "if", "(", "IDVal", "==", "\".vsave\"", ")", "return", "parseDirectiveRegSave", "(", "DirectiveID", ".", "getLoc", "(", ")", ",", "true", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["ParseDirective", "-", "Parse", "a", "target", "specific", "assembler", "directive", "This", "method", "is", "deprecated", ",", "use", "'parseDirective", "'", "instead", "."], "TS_V_token": ["ARM", "ARM", "\".word\"", "4", "\".thumb\"", "\".arm\"", "ARM", "\".thumb_func\"", "\".code\"", "\".syntax\"", "\".unreq\"", "\".arch\"", "\".eabi_attribute\"", "\".fnstart\"", "\".fnend\"", "\".cantunwind\"", "\".personality\"", "\".handlerdata\"", "\".setfp\"", "\".pad\"", "\".save\"", "\".vsave\""], "File": "ARMAsmParser (2)1", "Func": "ParseDirective", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9591, "Length": 333} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "validateTargetOperandClass", "(", "MCParsedAsmOperand", "*", "AsmOp", ",", "unsigned", "Kind", ")", "{", "ARMOperand", "*", "Op", "=", "static_cast", "<", "ARMOperand", "*", ">", "(", "AsmOp", ")", ";", "if", "(", "Kind", "==", "MCK__35_0", "&&", "Op", "->", "isImm", "(", ")", ")", "{", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", "->", "getImm", "(", ")", ")", ";", "if", "(", "!", "CE", ")", "return", "Match_InvalidOperand", ";", "if", "(", "CE", "->", "getValue", "(", ")", "==", "0", ")", "return", "Match_Success", ";", "}", "return", "Match_InvalidOperand", ";", "}", ""], "natrual_language": ["Allow", "a", "target", "to", "add", "special", "case", "operand", "matching", "for", "things", "that", "tblgen", "doesn't/ca", "n't", "handle", "effectively", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0"], "File": "ARMAsmParser (2)1", "Func": "validateTargetOperandClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9592, "Length": 82} {"ground_truth": ["", "void", "addExpr", "(", "MCInst", "&", "Inst", ",", "const", "MCExpr", "*", "Expr", ")", "const", "{", "if", "(", "!", "Expr", ")", "Inst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "0", ")", ")", ";", "else", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Expr", ")", ")", "Inst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "CE", "->", "getValue", "(", ")", ")", ")", ";", "else", "Inst", ".", "addOperand", "(", "MCOperand", "::", "createExpr", "(", "Expr", ")", ")", ";", "}", ""], "natrual_language": ["Add", "a", "new", "MCExpr", "operand", "."], "TS_V_token": ["ARM", "0"], "File": "ARMAsmParser (2)2", "Func": "addExpr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9593, "Length": 77} {"ground_truth": ["", "static", "std", "::", "unique_ptr", "<", "ARMOperand", ">", "CreateMem", "(", "unsigned", "BaseRegNum", ",", "const", "MCConstantExpr", "*", "OffsetImm", ",", "unsigned", "OffsetRegNum", ",", "ARM_AM", "::", "ShiftOpc", "ShiftType", ",", "unsigned", "ShiftImm", ",", "unsigned", "Alignment", ",", "bool", "isNegative", ",", "SMLoc", "S", ",", "SMLoc", "E", ",", "SMLoc", "AlignmentLoc", "=", "SMLoc", "(", ")", ")", "{", "auto", "Op", "=", "make_unique", "<", "ARMOperand", ">", "(", "k_Memory", ")", ";", "Op", "->", "Memory", ".", "BaseRegNum", "=", "BaseRegNum", ";", "Op", "->", "Memory", ".", "OffsetImm", "=", "OffsetImm", ";", "Op", "->", "Memory", ".", "OffsetRegNum", "=", "OffsetRegNum", ";", "Op", "->", "Memory", ".", "ShiftType", "=", "ShiftType", ";", "Op", "->", "Memory", ".", "ShiftImm", "=", "ShiftImm", ";", "Op", "->", "Memory", ".", "Alignment", "=", "Alignment", ";", "Op", "->", "Memory", ".", "isNegative", "=", "isNegative", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "Op", "->", "AlignmentLoc", "=", "AlignmentLoc", ";", "return", "Op", ";", "}", ""], "natrual_language": ["Create", "a", "generalized", "memory", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::ShiftOpc", "ARM"], "File": "ARMAsmParser (2)2", "Func": "CreateMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9594, "Length": 137} {"ground_truth": ["", "static", "std", "::", "unique_ptr", "<", "ARMOperand", ">", "CreateReg", "(", "unsigned", "RegNum", ",", "SMLoc", "S", ",", "SMLoc", "E", ")", "{", "auto", "Op", "=", "make_unique", "<", "ARMOperand", ">", "(", "k_Register", ")", ";", "Op", "->", "Reg", ".", "RegNum", "=", "RegNum", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "return", "Op", ";", "}", ""], "natrual_language": ["CreateReg", "-", "Allocate", "a", "single", "virtual", "register", "for", "the", "given", "type", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmParser (2)2", "Func": "CreateReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9595, "Length": 54} {"ground_truth": ["", "bool", "Error", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ",", "SMRange", "Range", "=", "None", ")", "{", "return", "getParser", "(", ")", ".", "Error", "(", "L", ",", "Msg", ",", "Range", ")", ";", "}", ""], "natrual_language": ["Return", "an", "error", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)2", "Func": "Error", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9596, "Length": 32} {"ground_truth": ["", "void", "flushPendingInstructions", "(", "MCStreamer", "&", "Out", ")", "override", "{", "if", "(", "!", "inImplicitITBlock", "(", ")", ")", "{", "assert", "(", "PendingConditionalInsts", ".", "size", "(", ")", "==", "0", ")", ";", "return", ";", "}", "unsigned", "Mask", "=", "getITMaskEncoding", "(", ")", ";", "MCInst", "ITInst", ";", "ITInst", ".", "setOpcode", "(", "ARM", "::", "t2IT", ")", ";", "ITInst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "ITState", ".", "Cond", ")", ")", ";", "ITInst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "Mask", ")", ")", ";", "Out", ".", "EmitInstruction", "(", "ITInst", ",", "getSTI", "(", ")", ")", ";", "assert", "(", "PendingConditionalInsts", ".", "size", "(", ")", "<=", "4", ")", ";", "for", "(", "const", "MCInst", "&", "Inst", ":", "PendingConditionalInsts", ")", "{", "Out", ".", "EmitInstruction", "(", "Inst", ",", "getSTI", "(", ")", ")", ";", "}", "PendingConditionalInsts", ".", "clear", "(", ")", ";", "ITState", ".", "Mask", "=", "0", ";", "ITState", ".", "CurPosition", "=", "~", "0U", ";", "}", ""], "natrual_language": ["Ensure", "that", "all", "previously", "parsed", "instructions", "have", "been", "emitted", "to", "the", "output", "streamer", ",", "if", "the", "target", "does", "not", "emit", "them", "immediately", "."], "TS_V_token": ["ARM", "0", "ARM::t2IT", "4", "0", "0U"], "File": "ARMAsmParser (2)2", "Func": "flushPendingInstructions", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9597, "Length": 140} {"ground_truth": ["", "bool", "isThumb", "(", ")", "const", "{", "return", "getSTI", "(", ")", ".", "getFeatureBits", "(", ")", "[", "ARM", "::", "ModeThumb", "]", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "is", "Thumb", "(", "little", "and", "big", "endian", ")", "."], "TS_V_token": ["ARM", "ARM::ModeThumb"], "File": "ARMAsmParser (2)2", "Func": "isThumb", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9598, "Length": 21} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "unsigned", "&", "Opcode", ",", "OperandVector", "&", "Operands", ",", "MCStreamer", "&", "Out", ",", "uint64_t", "&", "ErrorInfo", ",", "bool", "MatchingInlineAsm", ")", "{", "MCInst", "Inst", ";", "unsigned", "MatchResult", ";", "bool", "PendConditionalInstruction", "=", "false", ";", "SmallVector", "<", "NearMissInfo", ",", "4", ">", "NearMisses", ";", "MatchResult", "=", "MatchInstruction", "(", "Operands", ",", "Inst", ",", "NearMisses", ",", "MatchingInlineAsm", ",", "PendConditionalInstruction", ",", "Out", ")", ";", "switch", "(", "MatchResult", ")", "{", "case", "Match_Success", ":", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "{", "bool", "wasInITBlock", "=", "inITBlock", "(", ")", ";", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ",", "Out", ")", ")", ";", "if", "(", "wasInITBlock", "&&", "hasV8Ops", "(", ")", "&&", "isThumb", "(", ")", "&&", "!", "isV8EligibleForIT", "(", "&", "Inst", ")", ")", "{", "Warning", "(", "IDLoc", ",", "\"deprecated instruction in IT block\"", ")", ";", "}", "}", "forwardITPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "if", "(", "PendConditionalInstruction", ")", "{", "PendingConditionalInsts", ".", "push_back", "(", "Inst", ")", ";", "if", "(", "isITBlockFull", "(", ")", "||", "isITBlockTerminator", "(", "Inst", ")", ")", "flushPendingInstructions", "(", "Out", ")", ";", "}", "else", "{", "Out", ".", "EmitInstruction", "(", "Inst", ",", "getSTI", "(", ")", ")", ";", "}", "return", "false", ";", "case", "Match_NearMisses", ":", "ReportNearMisses", "(", "NearMisses", ",", "IDLoc", ",", "Operands", ")", ";", "return", "true", ";", "case", "Match_MnemonicFail", ":", "{", "uint64_t", "FBS", "=", "ComputeAvailableFeatures", "(", "getSTI", "(", ")", ".", "getFeatureBits", "(", ")", ")", ";", "std", "::", "string", "Suggestion", "=", "ARMMnemonicSpellCheck", "(", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getToken", "(", ")", ",", "FBS", ")", ";", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", "+", "Suggestion", ",", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getLocRange", "(", ")", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "4", "\"deprecated instruction in IT block\"", "ARM::ITasm", "ARM", "ARM", "0", "\"invalid instruction\"", "ARM", "0", "\"Implement any new match types added!\""], "File": "ARMAsmParser (2)2", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9599, "Length": 304} {"ground_truth": ["", "void", "Note", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ",", "SMRange", "Range", "=", "None", ")", "{", "return", "getParser", "(", ")", ".", "Note", "(", "L", ",", "Msg", ",", "Range", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "note", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)2", "Func": "Note", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9600, "Length": 32} {"ground_truth": ["", "int", "ARMAsmParser", "::", "tryParseRegister", "(", ")", "{", "MCAsmParser", "&", "Parser", "=", "getParser", "(", ")", ";", "const", "AsmToken", "&", "Tok", "=", "Parser", ".", "getTok", "(", ")", ";", "if", "(", "Tok", ".", "isNot", "(", "AsmToken", "::", "Identifier", ")", ")", "return", "-", "1", ";", "std", "::", "string", "lowerCase", "=", "Tok", ".", "getString", "(", ")", ".", "lower", "(", ")", ";", "unsigned", "RegNum", "=", "MatchRegisterName", "(", "lowerCase", ")", ";", "if", "(", "!", "RegNum", ")", "{", "RegNum", "=", "StringSwitch", "<", "unsigned", ">", "(", "lowerCase", ")", ".", "Case", "(", "\"r13\"", ",", "ARM", "::", "SP", ")", ".", "Case", "(", "\"r14\"", ",", "ARM", "::", "LR", ")", ".", "Case", "(", "\"r15\"", ",", "ARM", "::", "PC", ")", ".", "Case", "(", "\"ip\"", ",", "ARM", "::", "R12", ")", ".", "Case", "(", "\"a1\"", ",", "ARM", "::", "R0", ")", ".", "Case", "(", "\"a2\"", ",", "ARM", "::", "R1", ")", ".", "Case", "(", "\"a3\"", ",", "ARM", "::", "R2", ")", ".", "Case", "(", "\"a4\"", ",", "ARM", "::", "R3", ")", ".", "Case", "(", "\"v1\"", ",", "ARM", "::", "R4", ")", ".", "Case", "(", "\"v2\"", ",", "ARM", "::", "R5", ")", ".", "Case", "(", "\"v3\"", ",", "ARM", "::", "R6", ")", ".", "Case", "(", "\"v4\"", ",", "ARM", "::", "R7", ")", ".", "Case", "(", "\"v5\"", ",", "ARM", "::", "R8", ")", ".", "Case", "(", "\"v6\"", ",", "ARM", "::", "R9", ")", ".", "Case", "(", "\"v7\"", ",", "ARM", "::", "R10", ")", ".", "Case", "(", "\"v8\"", ",", "ARM", "::", "R11", ")", ".", "Case", "(", "\"sb\"", ",", "ARM", "::", "R9", ")", ".", "Case", "(", "\"sl\"", ",", "ARM", "::", "R10", ")", ".", "Case", "(", "\"fp\"", ",", "ARM", "::", "R11", ")", ".", "Default", "(", "0", ")", ";", "}", "if", "(", "!", "RegNum", ")", "{", "StringMap", "<", "unsigned", ">", "::", "const_iterator", "Entry", "=", "RegisterReqs", ".", "find", "(", "lowerCase", ")", ";", "if", "(", "Entry", "==", "RegisterReqs", ".", "end", "(", ")", ")", "return", "-", "1", ";", "Parser", ".", "Lex", "(", ")", ";", "return", "Entry", "->", "getValue", "(", ")", ";", "}", "if", "(", "hasD16", "(", ")", "&&", "RegNum", ">=", "ARM", "::", "D16", "&&", "RegNum", "<=", "ARM", "::", "D31", ")", "return", "-", "1", ";", "Parser", ".", "Lex", "(", ")", ";", "return", "RegNum", ";", "}", ""], "natrual_language": ["tryParseRegister", "-", "parse", "one", "register", "if", "possible"], "TS_V_token": ["ARM", "ARM", "1", "\"r13\"", "ARM::SP", "\"r14\"", "ARM::LR", "\"r15\"", "ARM::PC", "\"ip\"", "ARM::R12", "\"a1\"", "ARM::R0", "\"a2\"", "ARM::R1", "\"a3\"", "ARM::R2", "\"a4\"", "ARM::R3", "\"v1\"", "ARM::R4", "\"v2\"", "ARM::R5", "\"v3\"", "ARM::R6", "\"v4\"", "ARM::R7", "\"v5\"", "ARM::R8", "\"v6\"", "ARM::R9", "\"v7\"", "ARM::R10", "\"v8\"", "ARM::R11", "\"sb\"", "ARM::R9", "\"sl\"", "ARM::R10", "\"fp\"", "ARM::R11", "0", "1", "ARM::D16", "ARM::D31", "1"], "File": "ARMAsmParser (2)2", "Func": "tryParseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9601, "Length": 338} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "validateTargetOperandClass", "(", "MCParsedAsmOperand", "&", "AsmOp", ",", "unsigned", "Kind", ")", "{", "ARMOperand", "&", "Op", "=", "static_cast", "<", "ARMOperand", "&", ">", "(", "AsmOp", ")", ";", "switch", "(", "Kind", ")", "{", "default", ":", "break", ";", "case", "MCK__35_0", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", ".", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "0", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK_ModImm", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "{", "const", "MCExpr", "*", "SOExpr", "=", "Op", ".", "getImm", "(", ")", ";", "int64_t", "Value", ";", "if", "(", "!", "SOExpr", "->", "evaluateAsAbsolute", "(", "Value", ")", ")", "return", "Match_Success", ";", "assert", "(", "(", "Value", ">=", "std", "::", "numeric_limits", "<", "int32_t", ">", "::", "min", "(", ")", "&&", "Value", "<=", "std", "::", "numeric_limits", "<", "uint32_t", ">", "::", "max", "(", ")", ")", "&&", "\"expression value must be representable in 32 bits\"", ")", ";", "}", "break", ";", "case", "MCK_rGPR", ":", "if", "(", "hasV8Ops", "(", ")", "&&", "Op", ".", "isReg", "(", ")", "&&", "Op", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "return", "Match_Success", ";", "return", "Match_rGPR", ";", "case", "MCK_GPRPair", ":", "if", "(", "Op", ".", "isReg", "(", ")", "&&", "MRI", "->", "getRegClass", "(", "ARM", "::", "GPRRegClassID", ")", ".", "contains", "(", "Op", ".", "getReg", "(", ")", ")", ")", "return", "Match_Success", ";", "break", ";", "}", "return", "Match_InvalidOperand", ";", "}", ""], "natrual_language": ["Allow", "a", "target", "to", "add", "special", "case", "operand", "matching", "for", "things", "that", "tblgen", "doesn't/ca", "n't", "handle", "effectively", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "\"expression value must be representable in 32 bits\"", "ARM::SP", "ARM::GPRRegClassID"], "File": "ARMAsmParser (2)2", "Func": "validateTargetOperandClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9602, "Length": 225} {"ground_truth": ["", "bool", "Warning", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ",", "SMRange", "Range", "=", "None", ")", "{", "return", "getParser", "(", ")", ".", "Warning", "(", "L", ",", "Msg", ",", "Range", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "warning", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)2", "Func": "Warning", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9603, "Length": 32} {"ground_truth": ["", "static", "std", "::", "unique_ptr", "<", "ARMOperand", ">", "CreateMem", "(", "unsigned", "BaseRegNum", ",", "const", "MCExpr", "*", "OffsetImm", ",", "unsigned", "OffsetRegNum", ",", "ARM_AM", "::", "ShiftOpc", "ShiftType", ",", "unsigned", "ShiftImm", ",", "unsigned", "Alignment", ",", "bool", "isNegative", ",", "SMLoc", "S", ",", "SMLoc", "E", ",", "SMLoc", "AlignmentLoc", "=", "SMLoc", "(", ")", ")", "{", "auto", "Op", "=", "std", "::", "make_unique", "<", "ARMOperand", ">", "(", "k_Memory", ")", ";", "Op", "->", "Memory", ".", "BaseRegNum", "=", "BaseRegNum", ";", "Op", "->", "Memory", ".", "OffsetImm", "=", "OffsetImm", ";", "Op", "->", "Memory", ".", "OffsetRegNum", "=", "OffsetRegNum", ";", "Op", "->", "Memory", ".", "ShiftType", "=", "ShiftType", ";", "Op", "->", "Memory", ".", "ShiftImm", "=", "ShiftImm", ";", "Op", "->", "Memory", ".", "Alignment", "=", "Alignment", ";", "Op", "->", "Memory", ".", "isNegative", "=", "isNegative", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "Op", "->", "AlignmentLoc", "=", "AlignmentLoc", ";", "return", "Op", ";", "}", ""], "natrual_language": ["Create", "a", "generalized", "memory", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::ShiftOpc", "ARM"], "File": "ARMAsmParser (2)3", "Func": "CreateMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9604, "Length": 139} {"ground_truth": ["", "static", "std", "::", "unique_ptr", "<", "ARMOperand", ">", "CreateReg", "(", "unsigned", "RegNum", ",", "SMLoc", "S", ",", "SMLoc", "E", ")", "{", "auto", "Op", "=", "std", "::", "make_unique", "<", "ARMOperand", ">", "(", "k_Register", ")", ";", "Op", "->", "Reg", ".", "RegNum", "=", "RegNum", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "return", "Op", ";", "}", ""], "natrual_language": ["CreateReg", "-", "Allocate", "a", "single", "virtual", "register", "for", "the", "given", "type", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmParser (2)3", "Func": "CreateReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9605, "Length": 56} {"ground_truth": ["", "void", "flushPendingInstructions", "(", "MCStreamer", "&", "Out", ")", "override", "{", "if", "(", "!", "inImplicitITBlock", "(", ")", ")", "{", "assert", "(", "PendingConditionalInsts", ".", "size", "(", ")", "==", "0", ")", ";", "return", ";", "}", "MCInst", "ITInst", ";", "ITInst", ".", "setOpcode", "(", "ARM", "::", "t2IT", ")", ";", "ITInst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "ITState", ".", "Cond", ")", ")", ";", "ITInst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "ITState", ".", "Mask", ")", ")", ";", "Out", ".", "emitInstruction", "(", "ITInst", ",", "getSTI", "(", ")", ")", ";", "assert", "(", "PendingConditionalInsts", ".", "size", "(", ")", "<=", "4", ")", ";", "for", "(", "const", "MCInst", "&", "Inst", ":", "PendingConditionalInsts", ")", "{", "Out", ".", "emitInstruction", "(", "Inst", ",", "getSTI", "(", ")", ")", ";", "}", "PendingConditionalInsts", ".", "clear", "(", ")", ";", "ITState", ".", "Mask", "=", "0", ";", "ITState", ".", "CurPosition", "=", "~", "0U", ";", "}", ""], "natrual_language": ["Ensure", "that", "all", "previously", "parsed", "instructions", "have", "been", "emitted", "to", "the", "output", "streamer", ",", "if", "the", "target", "does", "not", "emit", "them", "immediately", "."], "TS_V_token": ["ARM", "0", "ARM::t2IT", "4", "0", "0U"], "File": "ARMAsmParser (2)3", "Func": "flushPendingInstructions", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9606, "Length": 135} {"ground_truth": ["", "bool", "isMem", "(", ")", "const", "override", "{", "return", "isGPRMem", "(", ")", "||", "isMVEMem", "(", ")", ";", "}", ""], "natrual_language": ["isMem", "-", "Is", "this", "a", "memory", "operand", "?"], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)3", "Func": "isMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9607, "Length": 17} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "unsigned", "&", "Opcode", ",", "OperandVector", "&", "Operands", ",", "MCStreamer", "&", "Out", ",", "uint64_t", "&", "ErrorInfo", ",", "bool", "MatchingInlineAsm", ")", "{", "MCInst", "Inst", ";", "unsigned", "MatchResult", ";", "bool", "PendConditionalInstruction", "=", "false", ";", "SmallVector", "<", "NearMissInfo", ",", "4", ">", "NearMisses", ";", "MatchResult", "=", "MatchInstruction", "(", "Operands", ",", "Inst", ",", "NearMisses", ",", "MatchingInlineAsm", ",", "PendConditionalInstruction", ",", "Out", ")", ";", "switch", "(", "MatchResult", ")", "{", "case", "Match_Success", ":", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Parsed as: \"", ";", "Inst", ".", "dump_pretty", "(", "dbgs", "(", ")", ",", "MII", ".", "getName", "(", "Inst", ".", "getOpcode", "(", ")", ")", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "forwardVPTPosition", "(", ")", ";", "return", "true", ";", "}", "{", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ",", "Out", ")", ")", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Changed to: \"", ";", "Inst", ".", "dump_pretty", "(", "dbgs", "(", ")", ",", "MII", ".", "getName", "(", "Inst", ".", "getOpcode", "(", ")", ")", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "}", "forwardITPosition", "(", ")", ";", "forwardVPTPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "if", "(", "PendConditionalInstruction", ")", "{", "PendingConditionalInsts", ".", "push_back", "(", "Inst", ")", ";", "if", "(", "isITBlockFull", "(", ")", "||", "isITBlockTerminator", "(", "Inst", ")", ")", "flushPendingInstructions", "(", "Out", ")", ";", "}", "else", "{", "Out", ".", "emitInstruction", "(", "Inst", ",", "getSTI", "(", ")", ")", ";", "}", "return", "false", ";", "case", "Match_NearMisses", ":", "ReportNearMisses", "(", "NearMisses", ",", "IDLoc", ",", "Operands", ")", ";", "return", "true", ";", "case", "Match_MnemonicFail", ":", "{", "FeatureBitset", "FBS", "=", "ComputeAvailableFeatures", "(", "getSTI", "(", ")", ".", "getFeatureBits", "(", ")", ")", ";", "std", "::", "string", "Suggestion", "=", "ARMMnemonicSpellCheck", "(", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getToken", "(", ")", ",", "FBS", ")", ";", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", "+", "Suggestion", ",", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getLocRange", "(", ")", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "4", "\"Parsed as: \"", "\"\\n\"", "\"Changed to: \"", "\"\\n\"", "ARM::ITasm", "ARM", "ARM", "0", "\"invalid instruction\"", "ARM", "0", "\"Implement any new match types added!\""], "File": "ARMAsmParser (2)3", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9608, "Length": 346} {"ground_truth": ["", "int", "ARMAsmParser", "::", "tryParseRegister", "(", ")", "{", "MCAsmParser", "&", "Parser", "=", "getParser", "(", ")", ";", "const", "AsmToken", "&", "Tok", "=", "Parser", ".", "getTok", "(", ")", ";", "if", "(", "Tok", ".", "isNot", "(", "AsmToken", "::", "Identifier", ")", ")", "return", "-", "1", ";", "std", "::", "string", "lowerCase", "=", "Tok", ".", "getString", "(", ")", ".", "lower", "(", ")", ";", "unsigned", "RegNum", "=", "MatchRegisterName", "(", "lowerCase", ")", ";", "if", "(", "!", "RegNum", ")", "{", "RegNum", "=", "StringSwitch", "<", "unsigned", ">", "(", "lowerCase", ")", ".", "Case", "(", "\"r13\"", ",", "ARM", "::", "SP", ")", ".", "Case", "(", "\"r14\"", ",", "ARM", "::", "LR", ")", ".", "Case", "(", "\"r15\"", ",", "ARM", "::", "PC", ")", ".", "Case", "(", "\"ip\"", ",", "ARM", "::", "R12", ")", ".", "Case", "(", "\"a1\"", ",", "ARM", "::", "R0", ")", ".", "Case", "(", "\"a2\"", ",", "ARM", "::", "R1", ")", ".", "Case", "(", "\"a3\"", ",", "ARM", "::", "R2", ")", ".", "Case", "(", "\"a4\"", ",", "ARM", "::", "R3", ")", ".", "Case", "(", "\"v1\"", ",", "ARM", "::", "R4", ")", ".", "Case", "(", "\"v2\"", ",", "ARM", "::", "R5", ")", ".", "Case", "(", "\"v3\"", ",", "ARM", "::", "R6", ")", ".", "Case", "(", "\"v4\"", ",", "ARM", "::", "R7", ")", ".", "Case", "(", "\"v5\"", ",", "ARM", "::", "R8", ")", ".", "Case", "(", "\"v6\"", ",", "ARM", "::", "R9", ")", ".", "Case", "(", "\"v7\"", ",", "ARM", "::", "R10", ")", ".", "Case", "(", "\"v8\"", ",", "ARM", "::", "R11", ")", ".", "Case", "(", "\"sb\"", ",", "ARM", "::", "R9", ")", ".", "Case", "(", "\"sl\"", ",", "ARM", "::", "R10", ")", ".", "Case", "(", "\"fp\"", ",", "ARM", "::", "R11", ")", ".", "Default", "(", "0", ")", ";", "}", "if", "(", "!", "RegNum", ")", "{", "StringMap", "<", "unsigned", ">", "::", "const_iterator", "Entry", "=", "RegisterReqs", ".", "find", "(", "lowerCase", ")", ";", "if", "(", "Entry", "==", "RegisterReqs", ".", "end", "(", ")", ")", "return", "-", "1", ";", "Parser", ".", "Lex", "(", ")", ";", "return", "Entry", "->", "getValue", "(", ")", ";", "}", "if", "(", "!", "hasD32", "(", ")", "&&", "RegNum", ">=", "ARM", "::", "D16", "&&", "RegNum", "<=", "ARM", "::", "D31", ")", "return", "-", "1", ";", "Parser", ".", "Lex", "(", ")", ";", "return", "RegNum", ";", "}", ""], "natrual_language": ["tryParseRegister", "-", "parse", "one", "register", "if", "possible"], "TS_V_token": ["ARM", "ARM", "1", "\"r13\"", "ARM::SP", "\"r14\"", "ARM::LR", "\"r15\"", "ARM::PC", "\"ip\"", "ARM::R12", "\"a1\"", "ARM::R0", "\"a2\"", "ARM::R1", "\"a3\"", "ARM::R2", "\"a4\"", "ARM::R3", "\"v1\"", "ARM::R4", "\"v2\"", "ARM::R5", "\"v3\"", "ARM::R6", "\"v4\"", "ARM::R7", "\"v5\"", "ARM::R8", "\"v6\"", "ARM::R9", "\"v7\"", "ARM::R10", "\"v8\"", "ARM::R11", "\"sb\"", "ARM::R9", "\"sl\"", "ARM::R10", "\"fp\"", "ARM::R11", "0", "1", "ARM::D16", "ARM::D31", "1"], "File": "ARMAsmParser (2)3", "Func": "tryParseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9609, "Length": 339} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "validateTargetOperandClass", "(", "MCParsedAsmOperand", "&", "AsmOp", ",", "unsigned", "Kind", ")", "{", "ARMOperand", "&", "Op", "=", "static_cast", "<", "ARMOperand", "&", ">", "(", "AsmOp", ")", ";", "switch", "(", "Kind", ")", "{", "default", ":", "break", ";", "case", "MCK__HASH_0", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", ".", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "0", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK__HASH_8", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", ".", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "8", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK__HASH_16", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", ".", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "16", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK_ModImm", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "{", "const", "MCExpr", "*", "SOExpr", "=", "Op", ".", "getImm", "(", ")", ";", "int64_t", "Value", ";", "if", "(", "!", "SOExpr", "->", "evaluateAsAbsolute", "(", "Value", ")", ")", "return", "Match_Success", ";", "assert", "(", "(", "Value", ">=", "std", "::", "numeric_limits", "<", "int32_t", ">", "::", "min", "(", ")", "&&", "Value", "<=", "std", "::", "numeric_limits", "<", "uint32_t", ">", "::", "max", "(", ")", ")", "&&", "\"expression value must be representable in 32 bits\"", ")", ";", "}", "break", ";", "case", "MCK_rGPR", ":", "if", "(", "hasV8Ops", "(", ")", "&&", "Op", ".", "isReg", "(", ")", "&&", "Op", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "return", "Match_Success", ";", "return", "Match_rGPR", ";", "case", "MCK_GPRPair", ":", "if", "(", "Op", ".", "isReg", "(", ")", "&&", "MRI", "->", "getRegClass", "(", "ARM", "::", "GPRRegClassID", ")", ".", "contains", "(", "Op", ".", "getReg", "(", ")", ")", ")", "return", "Match_Success", ";", "break", ";", "}", "return", "Match_InvalidOperand", ";", "}", ""], "natrual_language": ["Allow", "a", "target", "to", "add", "special", "case", "operand", "matching", "for", "things", "that", "tblgen", "doesn't/ca", "n't", "handle", "effectively", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "8", "16", "\"expression value must be representable in 32 bits\"", "ARM::SP", "ARM::GPRRegClassID"], "File": "ARMAsmParser (2)3", "Func": "validateTargetOperandClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9610, "Length": 315} {"ground_truth": ["", "static", "std", "::", "unique_ptr", "<", "ARMOperand", ">", "CreateMem", "(", "unsigned", "BaseRegNum", ",", "const", "MCConstantExpr", "*", "OffsetImm", ",", "unsigned", "OffsetRegNum", ",", "ARM_AM", "::", "ShiftOpc", "ShiftType", ",", "unsigned", "ShiftImm", ",", "unsigned", "Alignment", ",", "bool", "isNegative", ",", "SMLoc", "S", ",", "SMLoc", "E", ",", "SMLoc", "AlignmentLoc", "=", "SMLoc", "(", ")", ")", "{", "auto", "Op", "=", "std", "::", "make_unique", "<", "ARMOperand", ">", "(", "k_Memory", ")", ";", "Op", "->", "Memory", ".", "BaseRegNum", "=", "BaseRegNum", ";", "Op", "->", "Memory", ".", "OffsetImm", "=", "OffsetImm", ";", "Op", "->", "Memory", ".", "OffsetRegNum", "=", "OffsetRegNum", ";", "Op", "->", "Memory", ".", "ShiftType", "=", "ShiftType", ";", "Op", "->", "Memory", ".", "ShiftImm", "=", "ShiftImm", ";", "Op", "->", "Memory", ".", "Alignment", "=", "Alignment", ";", "Op", "->", "Memory", ".", "isNegative", "=", "isNegative", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "Op", "->", "AlignmentLoc", "=", "AlignmentLoc", ";", "return", "Op", ";", "}", ""], "natrual_language": ["Create", "a", "generalized", "memory", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::ShiftOpc", "ARM"], "File": "ARMAsmParser (2)4", "Func": "CreateMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9611, "Length": 139} {"ground_truth": ["", "void", "flushPendingInstructions", "(", "MCStreamer", "&", "Out", ")", "override", "{", "if", "(", "!", "inImplicitITBlock", "(", ")", ")", "{", "assert", "(", "PendingConditionalInsts", ".", "size", "(", ")", "==", "0", ")", ";", "return", ";", "}", "MCInst", "ITInst", ";", "ITInst", ".", "setOpcode", "(", "ARM", "::", "t2IT", ")", ";", "ITInst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "ITState", ".", "Cond", ")", ")", ";", "ITInst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "ITState", ".", "Mask", ")", ")", ";", "Out", ".", "EmitInstruction", "(", "ITInst", ",", "getSTI", "(", ")", ")", ";", "assert", "(", "PendingConditionalInsts", ".", "size", "(", ")", "<=", "4", ")", ";", "for", "(", "const", "MCInst", "&", "Inst", ":", "PendingConditionalInsts", ")", "{", "Out", ".", "EmitInstruction", "(", "Inst", ",", "getSTI", "(", ")", ")", ";", "}", "PendingConditionalInsts", ".", "clear", "(", ")", ";", "ITState", ".", "Mask", "=", "0", ";", "ITState", ".", "CurPosition", "=", "~", "0U", ";", "}", ""], "natrual_language": ["Ensure", "that", "all", "previously", "parsed", "instructions", "have", "been", "emitted", "to", "the", "output", "streamer", ",", "if", "the", "target", "does", "not", "emit", "them", "immediately", "."], "TS_V_token": ["ARM", "0", "ARM::t2IT", "4", "0", "0U"], "File": "ARMAsmParser (2)4", "Func": "flushPendingInstructions", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9612, "Length": 135} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "unsigned", "&", "Opcode", ",", "OperandVector", "&", "Operands", ",", "MCStreamer", "&", "Out", ",", "uint64_t", "&", "ErrorInfo", ",", "bool", "MatchingInlineAsm", ")", "{", "MCInst", "Inst", ";", "unsigned", "MatchResult", ";", "bool", "PendConditionalInstruction", "=", "false", ";", "SmallVector", "<", "NearMissInfo", ",", "4", ">", "NearMisses", ";", "MatchResult", "=", "MatchInstruction", "(", "Operands", ",", "Inst", ",", "NearMisses", ",", "MatchingInlineAsm", ",", "PendConditionalInstruction", ",", "Out", ")", ";", "switch", "(", "MatchResult", ")", "{", "case", "Match_Success", ":", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Parsed as: \"", ";", "Inst", ".", "dump_pretty", "(", "dbgs", "(", ")", ",", "MII", ".", "getName", "(", "Inst", ".", "getOpcode", "(", ")", ")", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "forwardVPTPosition", "(", ")", ";", "return", "true", ";", "}", "{", "bool", "wasInITBlock", "=", "inITBlock", "(", ")", ";", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ",", "Out", ")", ")", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Changed to: \"", ";", "Inst", ".", "dump_pretty", "(", "dbgs", "(", ")", ",", "MII", ".", "getName", "(", "Inst", ".", "getOpcode", "(", ")", ")", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "wasInITBlock", "&&", "hasV8Ops", "(", ")", "&&", "isThumb", "(", ")", "&&", "!", "isV8EligibleForIT", "(", "&", "Inst", ")", ")", "{", "Warning", "(", "IDLoc", ",", "\"deprecated instruction in IT block\"", ")", ";", "}", "}", "forwardITPosition", "(", ")", ";", "forwardVPTPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "if", "(", "PendConditionalInstruction", ")", "{", "PendingConditionalInsts", ".", "push_back", "(", "Inst", ")", ";", "if", "(", "isITBlockFull", "(", ")", "||", "isITBlockTerminator", "(", "Inst", ")", ")", "flushPendingInstructions", "(", "Out", ")", ";", "}", "else", "{", "Out", ".", "EmitInstruction", "(", "Inst", ",", "getSTI", "(", ")", ")", ";", "}", "return", "false", ";", "case", "Match_NearMisses", ":", "ReportNearMisses", "(", "NearMisses", ",", "IDLoc", ",", "Operands", ")", ";", "return", "true", ";", "case", "Match_MnemonicFail", ":", "{", "FeatureBitset", "FBS", "=", "ComputeAvailableFeatures", "(", "getSTI", "(", ")", ".", "getFeatureBits", "(", ")", ")", ";", "std", "::", "string", "Suggestion", "=", "ARMMnemonicSpellCheck", "(", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getToken", "(", ")", ",", "FBS", ")", ";", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", "+", "Suggestion", ",", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getLocRange", "(", ")", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "4", "\"Parsed as: \"", "\"\\n\"", "\"Changed to: \"", "\"\\n\"", "\"deprecated instruction in IT block\"", "ARM::ITasm", "ARM", "ARM", "0", "\"invalid instruction\"", "ARM", "0", "\"Implement any new match types added!\""], "File": "ARMAsmParser (2)4", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9613, "Length": 381} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "checkTargetMatchPredicate", "(", "MCInst", "&", "Inst", ")", "{", "unsigned", "Opc", "=", "Inst", ".", "getOpcode", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MII", ".", "get", "(", "Opc", ")", ";", "if", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "ThumbArithFlagSetting", ")", "{", "assert", "(", "MCID", ".", "hasOptionalDef", "(", ")", "&&", "\"optionally flag setting instruction missing optional def operand\"", ")", ";", "assert", "(", "MCID", ".", "NumOperands", "==", "Inst", ".", "getNumOperands", "(", ")", "&&", "\"operand count mismatch!\"", ")", ";", "unsigned", "OpNo", ";", "for", "(", "OpNo", "=", "0", ";", "!", "MCID", ".", "OpInfo", "[", "OpNo", "]", ".", "isOptionalDef", "(", ")", "&&", "OpNo", "<", "MCID", ".", "NumOperands", ";", "++", "OpNo", ")", ";", "if", "(", "isThumbOne", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "Match_MnemonicFail", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", "&&", "!", "inITBlock", "(", ")", ")", "return", "Match_RequiresITBlock", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", "&&", "inITBlock", "(", ")", ")", "return", "Match_RequiresNotITBlock", ";", "}", "else", "if", "(", "isThumbOne", "(", ")", ")", "{", "if", "(", "Opc", "==", "ARM", "::", "tADDhirr", "&&", "!", "hasV6MOps", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresThumb2", ";", "else", "if", "(", "Opc", "==", "ARM", "::", "tMOVr", "&&", "!", "hasV6Ops", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresV6", ";", "}", "for", "(", "unsigned", "I", "=", "0", ";", "I", "<", "MCID", ".", "NumOperands", ";", "++", "I", ")", "if", "(", "MCID", ".", "OpInfo", "[", "I", "]", ".", "RegClass", "==", "ARM", "::", "rGPRRegClassID", ")", "{", "if", "(", "(", "Inst", ".", "getOperand", "(", "I", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "&&", "!", "hasV8Ops", "(", ")", ")", "return", "Match_RequiresV8", ";", "else", "if", "(", "Inst", ".", "getOperand", "(", "I", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "PC", ")", "return", "Match_InvalidOperand", ";", "}", "return", "Match_Success", ";", "}", ""], "natrual_language": ["checkTargetMatchPredicate", "-", "Validate", "the", "instruction", "match", "against", "any", "complex", "target", "predicates", "not", "expressible", "via", "match", "classes", "."], "TS_V_token": ["ARM", "ARM", "ARMII::ThumbArithFlagSetting", "\"optionally flag setting instruction missing optional def operand\"", "\"operand count mismatch!\"", "0", "ARM::CPSR", "ARM::CPSR", "ARM::CPSR", "ARM::tADDhirr", "ARM", "1", "ARM", "2", "ARM::tMOVr", "ARM", "0", "ARM", "1", "0", "ARM::rGPRRegClassID", "ARM::SP", "ARM::PC"], "File": "ARMAsmParser (2)5", "Func": "checkTargetMatchPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9614, "Length": 364} {"ground_truth": ["", "bool", "Error", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ",", "ArrayRef", "<", "SMRange", ">", "Ranges", "=", "None", ")", "{", "return", "getParser", "(", ")", ".", "Error", "(", "L", ",", "Msg", ",", "Ranges", ")", ";", "}", ""], "natrual_language": ["Return", "an", "error", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)5", "Func": "Error", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9615, "Length": 35} {"ground_truth": ["", "void", "Note", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ",", "ArrayRef", "<", "SMRange", ">", "Ranges", "=", "None", ")", "{", "return", "getParser", "(", ")", ".", "Note", "(", "L", ",", "Msg", ",", "Ranges", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "note", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)5", "Func": "Note", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9616, "Length": 35} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "validateTargetOperandClass", "(", "MCParsedAsmOperand", "&", "AsmOp", ",", "unsigned", "Kind", ")", "{", "ARMOperand", "&", "Op", "=", "static_cast", "<", "ARMOperand", "&", ">", "(", "AsmOp", ")", ";", "switch", "(", "Kind", ")", "{", "default", ":", "break", ";", "case", "MCK__35_0", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", ".", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "0", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK_ModImm", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "{", "const", "MCExpr", "*", "SOExpr", "=", "Op", ".", "getImm", "(", ")", ";", "int64_t", "Value", ";", "if", "(", "!", "SOExpr", "->", "evaluateAsAbsolute", "(", "Value", ")", ")", "return", "Match_Success", ";", "assert", "(", "(", "Value", ">=", "INT32_MIN", "&&", "Value", "<=", "UINT32_MAX", ")", "&&", "\"expression value must be representable in 32 bits\"", ")", ";", "}", "break", ";", "case", "MCK_rGPR", ":", "if", "(", "hasV8Ops", "(", ")", "&&", "Op", ".", "isReg", "(", ")", "&&", "Op", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK_GPRPair", ":", "if", "(", "Op", ".", "isReg", "(", ")", "&&", "MRI", "->", "getRegClass", "(", "ARM", "::", "GPRRegClassID", ")", ".", "contains", "(", "Op", ".", "getReg", "(", ")", ")", ")", "return", "Match_Success", ";", "break", ";", "}", "return", "Match_InvalidOperand", ";", "}", ""], "natrual_language": ["Allow", "a", "target", "to", "add", "special", "case", "operand", "matching", "for", "things", "that", "tblgen", "doesn't/ca", "n't", "handle", "effectively", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "\"expression value must be representable in 32 bits\"", "ARM::SP", "ARM::GPRRegClassID"], "File": "ARMAsmParser (2)5", "Func": "validateTargetOperandClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9617, "Length": 206} {"ground_truth": ["", "bool", "Warning", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ",", "ArrayRef", "<", "SMRange", ">", "Ranges", "=", "None", ")", "{", "return", "getParser", "(", ")", ".", "Warning", "(", "L", ",", "Msg", ",", "Ranges", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "warning", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)5", "Func": "Warning", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9618, "Length": 35} {"ground_truth": ["", "void", "addExpr", "(", "MCInst", "&", "Inst", ",", "const", "MCExpr", "*", "Expr", ")", "const", "{", "if", "(", "Expr", "==", "0", ")", "Inst", ".", "addOperand", "(", "MCOperand", "::", "CreateImm", "(", "0", ")", ")", ";", "else", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Expr", ")", ")", "Inst", ".", "addOperand", "(", "MCOperand", "::", "CreateImm", "(", "CE", "->", "getValue", "(", ")", ")", ")", ";", "else", "Inst", ".", "addOperand", "(", "MCOperand", "::", "CreateExpr", "(", "Expr", ")", ")", ";", "}", ""], "natrual_language": ["Add", "a", "new", "MCExpr", "operand", "."], "TS_V_token": ["ARM", "0", "0"], "File": "ARMAsmParser (2)", "Func": "addExpr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9619, "Length": 78} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "checkTargetMatchPredicate", "(", "MCInst", "&", "Inst", ")", "{", "unsigned", "Opc", "=", "Inst", ".", "getOpcode", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MII", ".", "get", "(", "Opc", ")", ";", "if", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "ThumbArithFlagSetting", ")", "{", "assert", "(", "MCID", ".", "hasOptionalDef", "(", ")", "&&", "\"optionally flag setting instruction missing optional def operand\"", ")", ";", "assert", "(", "MCID", ".", "NumOperands", "==", "Inst", ".", "getNumOperands", "(", ")", "&&", "\"operand count mismatch!\"", ")", ";", "unsigned", "OpNo", ";", "for", "(", "OpNo", "=", "0", ";", "!", "MCID", ".", "OpInfo", "[", "OpNo", "]", ".", "isOptionalDef", "(", ")", "&&", "OpNo", "<", "MCID", ".", "NumOperands", ";", "++", "OpNo", ")", ";", "if", "(", "isThumbOne", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "Match_MnemonicFail", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", "&&", "!", "inITBlock", "(", ")", ")", "return", "Match_RequiresITBlock", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", "&&", "inITBlock", "(", ")", ")", "return", "Match_RequiresNotITBlock", ";", "}", "else", "if", "(", "Opc", "==", "ARM", "::", "tADDhirr", "&&", "isThumbOne", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresThumb2", ";", "else", "if", "(", "Opc", "==", "ARM", "::", "tMOVr", "&&", "isThumbOne", "(", ")", "&&", "!", "hasV6Ops", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresV6", ";", "return", "Match_Success", ";", "}", ""], "natrual_language": ["checkTargetMatchPredicate", "-", "Validate", "the", "instruction", "match", "against", "any", "complex", "target", "predicates", "not", "expressible", "via", "match", "classes", "."], "TS_V_token": ["ARM", "ARM", "ARMII::ThumbArithFlagSetting", "\"optionally flag setting instruction missing optional def operand\"", "\"operand count mismatch!\"", "0", "ARM::CPSR", "ARM::CPSR", "ARM::CPSR", "ARM::tADDhirr", "ARM", "1", "ARM", "2", "ARM::tMOVr", "ARM", "0", "ARM", "1"], "File": "ARMAsmParser (2)", "Func": "checkTargetMatchPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9620, "Length": 278} {"ground_truth": ["", "static", "ARMOperand", "*", "CreateMem", "(", "unsigned", "BaseRegNum", ",", "const", "MCConstantExpr", "*", "OffsetImm", ",", "unsigned", "OffsetRegNum", ",", "ARM_AM", "::", "ShiftOpc", "ShiftType", ",", "unsigned", "ShiftImm", ",", "unsigned", "Alignment", ",", "bool", "isNegative", ",", "SMLoc", "S", ",", "SMLoc", "E", ")", "{", "ARMOperand", "*", "Op", "=", "new", "ARMOperand", "(", "k_Memory", ")", ";", "Op", "->", "Memory", ".", "BaseRegNum", "=", "BaseRegNum", ";", "Op", "->", "Memory", ".", "OffsetImm", "=", "OffsetImm", ";", "Op", "->", "Memory", ".", "OffsetRegNum", "=", "OffsetRegNum", ";", "Op", "->", "Memory", ".", "ShiftType", "=", "ShiftType", ";", "Op", "->", "Memory", ".", "ShiftImm", "=", "ShiftImm", ";", "Op", "->", "Memory", ".", "Alignment", "=", "Alignment", ";", "Op", "->", "Memory", ".", "isNegative", "=", "isNegative", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "return", "Op", ";", "}", ""], "natrual_language": ["Create", "a", "generalized", "memory", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::ShiftOpc", "ARM", "ARM"], "File": "ARMAsmParser (2)", "Func": "CreateMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9621, "Length": 119} {"ground_truth": ["", "static", "ARMOperand", "*", "CreateReg", "(", "unsigned", "RegNum", ",", "SMLoc", "S", ",", "SMLoc", "E", ")", "{", "ARMOperand", "*", "Op", "=", "new", "ARMOperand", "(", "k_Register", ")", ";", "Op", "->", "Reg", ".", "RegNum", "=", "RegNum", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "return", "Op", ";", "}", ""], "natrual_language": ["CreateReg", "-", "Allocate", "a", "single", "virtual", "register", "for", "the", "given", "type", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMAsmParser (2)", "Func": "CreateReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9622, "Length": 49} {"ground_truth": ["", "bool", "Error", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ",", "ArrayRef", "<", "SMRange", ">", "Ranges", "=", "None", ")", "{", "return", "Parser", ".", "Error", "(", "L", ",", "Msg", ",", "Ranges", ")", ";", "}", ""], "natrual_language": ["Return", "an", "error", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)", "Func": "Error", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9623, "Length": 33} {"ground_truth": ["", "SMLoc", "getEndLoc", "(", ")", "const", "override", "{", "return", "EndLoc", ";", "}", ""], "natrual_language": ["getEndLoc", "-", "Get", "the", "location", "of", "the", "last", "token", "of", "this", "operand", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)", "Func": "getEndLoc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9624, "Length": 11} {"ground_truth": ["", "SMRange", "getLocRange", "(", ")", "const", "{", "return", "SMRange", "(", "StartLoc", ",", "EndLoc", ")", ";", "}", ""], "natrual_language": ["getLocRange", "-", "Get", "the", "range", "between", "the", "first", "and", "last", "token", "of", "this", "operand", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)", "Func": "getLocRange", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9625, "Length": 15} {"ground_truth": ["", "unsigned", "getReg", "(", ")", "const", "override", "{", "assert", "(", "(", "Kind", "==", "k_Register", "||", "Kind", "==", "k_CCOut", ")", "&&", "\"Invalid access!\"", ")", ";", "return", "Reg", ".", "RegNum", ";", "}", ""], "natrual_language": ["Returns", "the", "register", "associated", "with", "this", "edge", "."], "TS_V_token": ["ARM", "\"Invalid access!\""], "File": "ARMAsmParser (2)", "Func": "getReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9626, "Length": 28} {"ground_truth": ["", "SMLoc", "getStartLoc", "(", ")", "const", "override", "{", "return", "StartLoc", ";", "}", ""], "natrual_language": ["getStartLoc", "-", "Get", "the", "location", "of", "the", "first", "token", "of", "this", "operand", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)", "Func": "getStartLoc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9627, "Length": 11} {"ground_truth": ["", "bool", "isFPImm", "(", ")", "const", "{", "if", "(", "!", "isImm", "(", ")", ")", "return", "false", ";", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "getImm", "(", ")", ")", ";", "if", "(", "!", "CE", ")", "return", "false", ";", "int", "Val", "=", "ARM_AM", "::", "getFP32Imm", "(", "APInt", "(", "32", ",", "CE", "->", "getValue", "(", ")", ")", ")", ";", "return", "Val", "!=", "-", "1", ";", "}", ""], "natrual_language": ["isFPImm", "-", "Tests", "if", "this", "is", "a", "MO_FPImmediate", "operand", "."], "TS_V_token": ["ARM", "ARM_AM::getFP32Imm", "32", "1"], "File": "ARMAsmParser (2)", "Func": "isFPImm", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9628, "Length": 65} {"ground_truth": ["", "bool", "isImm", "(", ")", "const", "override", "{", "return", "Kind", "==", "k_Immediate", ";", "}", ""], "natrual_language": ["isImm", "-", "Is", "this", "an", "immediate", "operand", "?"], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)", "Func": "isImm", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9629, "Length": 13} {"ground_truth": ["", "bool", "isMem", "(", ")", "const", "override", "{", "return", "Kind", "==", "k_Memory", ";", "}", ""], "natrual_language": ["isMem", "-", "Is", "this", "a", "memory", "operand", "?"], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)", "Func": "isMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9630, "Length": 13} {"ground_truth": ["", "bool", "isReg", "(", ")", "const", "override", "{", "return", "Kind", "==", "k_Register", ";", "}", ""], "natrual_language": ["isReg", "-", "Is", "this", "a", "register", "operand", "?"], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)", "Func": "isReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9631, "Length": 13} {"ground_truth": ["", "bool", "isThumb", "(", ")", "const", "{", "return", "(", "STI", ".", "getFeatureBits", "(", ")", "&", "ARM", "::", "ModeThumb", ")", "!=", "0", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "is", "Thumb", "(", "little", "and", "big", "endian", ")", "."], "TS_V_token": ["ARM", "ARM::ModeThumb", "0"], "File": "ARMAsmParser (2)", "Func": "isThumb", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9632, "Length": 22} {"ground_truth": ["", "bool", "isToken", "(", ")", "const", "override", "{", "return", "Kind", "==", "k_Token", ";", "}", ""], "natrual_language": ["isToken", "-", "Is", "this", "a", "token", "operand", "?"], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)", "Func": "isToken", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9633, "Length": 13} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "unsigned", "&", "Opcode", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ",", "MCStreamer", "&", "Out", ",", "unsigned", "&", "ErrorInfo", ",", "bool", "MatchingInlineAsm", ")", "{", "MCInst", "Inst", ";", "unsigned", "MatchResult", ";", "MatchResult", "=", "MatchInstructionImpl", "(", "Operands", ",", "Inst", ",", "ErrorInfo", ",", "MatchingInlineAsm", ")", ";", "switch", "(", "MatchResult", ")", "{", "default", ":", "break", ";", "case", "Match_Success", ":", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "{", "bool", "wasInITBlock", "=", "inITBlock", "(", ")", ";", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ")", ")", ";", "if", "(", "wasInITBlock", "&&", "hasV8Ops", "(", ")", "&&", "isThumb", "(", ")", "&&", "!", "isV8EligibleForIT", "(", "&", "Inst", ")", ")", "{", "Warning", "(", "IDLoc", ",", "\"deprecated instruction in IT block\"", ")", ";", "}", "}", "forwardITPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "Out", ".", "EmitInstruction", "(", "Inst", ",", "STI", ")", ";", "return", "false", ";", "case", "Match_MissingFeature", ":", "{", "assert", "(", "ErrorInfo", "&&", "\"Unknown missing feature!\"", ")", ";", "std", "::", "string", "Msg", "=", "\"instruction requires:\"", ";", "unsigned", "Mask", "=", "1", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "(", "sizeof", "(", "ErrorInfo", ")", "*", "8", "-", "1", ")", ";", "++", "i", ")", "{", "if", "(", "ErrorInfo", "&", "Mask", ")", "{", "Msg", "+=", "\" \"", ";", "Msg", "+=", "getSubtargetFeatureName", "(", "ErrorInfo", "&", "Mask", ")", ";", "}", "Mask", "<<=", "1", ";", "}", "return", "Error", "(", "IDLoc", ",", "Msg", ")", ";", "}", "case", "Match_InvalidOperand", ":", "{", "SMLoc", "ErrorLoc", "=", "IDLoc", ";", "if", "(", "ErrorInfo", "!=", "~", "0U", ")", "{", "if", "(", "ErrorInfo", ">=", "Operands", ".", "size", "(", ")", ")", "return", "Error", "(", "IDLoc", ",", "\"too few operands for instruction\"", ")", ";", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "}", "return", "Error", "(", "ErrorLoc", ",", "\"invalid operand for instruction\"", ")", ";", "}", "case", "Match_MnemonicFail", ":", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", ",", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "0", "]", ")", "->", "getLocRange", "(", ")", ")", ";", "case", "Match_RequiresNotITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"flag setting instruction only valid outside IT block\"", ")", ";", "case", "Match_RequiresITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction only valid inside IT block\"", ")", ";", "case", "Match_RequiresV6", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires ARMv6 or later\"", ")", ";", "case", "Match_RequiresThumb2", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires Thumb2\"", ")", ";", "case", "Match_ImmRange0_15", ":", "{", "SMLoc", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "return", "Error", "(", "ErrorLoc", ",", "\"immediate operand must be in the range [0,15]\"", ")", ";", "}", "case", "Match_ImmRange0_239", ":", "{", "SMLoc", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "return", "Error", "(", "ErrorLoc", ",", "\"immediate operand must be in the range [0,239]\"", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "\"deprecated instruction in IT block\"", "ARM::ITasm", "\"Unknown missing feature!\"", "\"instruction requires:\"", "1", "0", "8", "1", "\" \"", "1", "0U", "\"too few operands for instruction\"", "ARM", "\"invalid operand for instruction\"", "\"invalid instruction\"", "ARM", "0", "\"flag setting instruction only valid outside IT block\"", "\"instruction only valid inside IT block\"", "\"instruction variant requires ARMv6 or later\"", "\"instruction variant requires Thumb2\"", "ARM", "\"immediate operand must be in the range [0,15]\"", "ARM", "\"immediate operand must be in the range [0,239]\"", "\"Implement any new match types added!\""], "File": "ARMAsmParser (2)", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9634, "Length": 485} {"ground_truth": ["", "void", "Note", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ",", "ArrayRef", "<", "SMRange", ">", "Ranges", "=", "None", ")", "{", "return", "Parser", ".", "Note", "(", "L", ",", "Msg", ",", "Ranges", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "note", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)", "Func": "Note", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9635, "Length": 33} {"ground_truth": ["", "void", "reset", "(", ")", "{", "FnStartLocs", "=", "Locs", "(", ")", ";", "CantUnwindLocs", "=", "Locs", "(", ")", ";", "PersonalityLocs", "=", "Locs", "(", ")", ";", "HandlerDataLocs", "=", "Locs", "(", ")", ";", "PersonalityIndexLocs", "=", "Locs", "(", ")", ";", "FPReg", "=", "ARM", "::", "SP", ";", "}", ""], "natrual_language": ["Reset", "an", "existing", "scalar", "value", "for", "Def", "and", "a", "given", "Instance", "."], "TS_V_token": ["ARM", "ARM::SP"], "File": "ARMAsmParser (2)", "Func": "reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9636, "Length": 42} {"ground_truth": ["", "int", "ARMAsmParser", "::", "tryParseRegister", "(", ")", "{", "const", "AsmToken", "&", "Tok", "=", "Parser", ".", "getTok", "(", ")", ";", "if", "(", "Tok", ".", "isNot", "(", "AsmToken", "::", "Identifier", ")", ")", "return", "-", "1", ";", "std", "::", "string", "lowerCase", "=", "Tok", ".", "getString", "(", ")", ".", "lower", "(", ")", ";", "unsigned", "RegNum", "=", "MatchRegisterName", "(", "lowerCase", ")", ";", "if", "(", "!", "RegNum", ")", "{", "RegNum", "=", "StringSwitch", "<", "unsigned", ">", "(", "lowerCase", ")", ".", "Case", "(", "\"r13\"", ",", "ARM", "::", "SP", ")", ".", "Case", "(", "\"r14\"", ",", "ARM", "::", "LR", ")", ".", "Case", "(", "\"r15\"", ",", "ARM", "::", "PC", ")", ".", "Case", "(", "\"ip\"", ",", "ARM", "::", "R12", ")", ".", "Case", "(", "\"a1\"", ",", "ARM", "::", "R0", ")", ".", "Case", "(", "\"a2\"", ",", "ARM", "::", "R1", ")", ".", "Case", "(", "\"a3\"", ",", "ARM", "::", "R2", ")", ".", "Case", "(", "\"a4\"", ",", "ARM", "::", "R3", ")", ".", "Case", "(", "\"v1\"", ",", "ARM", "::", "R4", ")", ".", "Case", "(", "\"v2\"", ",", "ARM", "::", "R5", ")", ".", "Case", "(", "\"v3\"", ",", "ARM", "::", "R6", ")", ".", "Case", "(", "\"v4\"", ",", "ARM", "::", "R7", ")", ".", "Case", "(", "\"v5\"", ",", "ARM", "::", "R8", ")", ".", "Case", "(", "\"v6\"", ",", "ARM", "::", "R9", ")", ".", "Case", "(", "\"v7\"", ",", "ARM", "::", "R10", ")", ".", "Case", "(", "\"v8\"", ",", "ARM", "::", "R11", ")", ".", "Case", "(", "\"sb\"", ",", "ARM", "::", "R9", ")", ".", "Case", "(", "\"sl\"", ",", "ARM", "::", "R10", ")", ".", "Case", "(", "\"fp\"", ",", "ARM", "::", "R11", ")", ".", "Default", "(", "0", ")", ";", "}", "if", "(", "!", "RegNum", ")", "{", "StringMap", "<", "unsigned", ">", "::", "const_iterator", "Entry", "=", "RegisterReqs", ".", "find", "(", "lowerCase", ")", ";", "if", "(", "Entry", "==", "RegisterReqs", ".", "end", "(", ")", ")", "return", "-", "1", ";", "Parser", ".", "Lex", "(", ")", ";", "return", "Entry", "->", "getValue", "(", ")", ";", "}", "Parser", ".", "Lex", "(", ")", ";", "return", "RegNum", ";", "}", ""], "natrual_language": ["tryParseRegister", "-", "parse", "one", "register", "if", "possible"], "TS_V_token": ["ARM", "ARM", "1", "\"r13\"", "ARM::SP", "\"r14\"", "ARM::LR", "\"r15\"", "ARM::PC", "\"ip\"", "ARM::R12", "\"a1\"", "ARM::R0", "\"a2\"", "ARM::R1", "\"a3\"", "ARM::R2", "\"a4\"", "ARM::R3", "\"v1\"", "ARM::R4", "\"v2\"", "ARM::R5", "\"v3\"", "ARM::R6", "\"v4\"", "ARM::R7", "\"v5\"", "ARM::R8", "\"v6\"", "ARM::R9", "\"v7\"", "ARM::R10", "\"v8\"", "ARM::R11", "\"sb\"", "ARM::R9", "\"sl\"", "ARM::R10", "\"fp\"", "ARM::R11", "0", "1"], "File": "ARMAsmParser (2)", "Func": "tryParseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9637, "Length": 308} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "validateTargetOperandClass", "(", "MCParsedAsmOperand", "*", "AsmOp", ",", "unsigned", "Kind", ")", "{", "ARMOperand", "*", "Op", "=", "static_cast", "<", "ARMOperand", "*", ">", "(", "AsmOp", ")", ";", "switch", "(", "Kind", ")", "{", "default", ":", "break", ";", "case", "MCK__35_0", ":", "if", "(", "Op", "->", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", "->", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "0", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK_ARMSOImm", ":", "if", "(", "Op", "->", "isImm", "(", ")", ")", "{", "const", "MCExpr", "*", "SOExpr", "=", "Op", "->", "getImm", "(", ")", ";", "int64_t", "Value", ";", "if", "(", "!", "SOExpr", "->", "EvaluateAsAbsolute", "(", "Value", ")", ")", "return", "Match_Success", ";", "assert", "(", "(", "Value", ">=", "INT32_MIN", "&&", "Value", "<=", "INT32_MAX", ")", "&&", "\"expression value must be representiable in 32 bits\"", ")", ";", "}", "break", ";", "case", "MCK_GPRPair", ":", "if", "(", "Op", "->", "isReg", "(", ")", "&&", "MRI", "->", "getRegClass", "(", "ARM", "::", "GPRRegClassID", ")", ".", "contains", "(", "Op", "->", "getReg", "(", ")", ")", ")", "return", "Match_Success", ";", "break", ";", "}", "return", "Match_InvalidOperand", ";", "}", ""], "natrual_language": ["Allow", "a", "target", "to", "add", "special", "case", "operand", "matching", "for", "things", "that", "tblgen", "doesn't/ca", "n't", "handle", "effectively", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM", "\"expression value must be representiable in 32 bits\"", "ARM::GPRRegClassID"], "File": "ARMAsmParser (2)", "Func": "validateTargetOperandClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9638, "Length": 176} {"ground_truth": ["", "bool", "Warning", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ",", "ArrayRef", "<", "SMRange", ">", "Ranges", "=", "None", ")", "{", "return", "Parser", ".", "Warning", "(", "L", ",", "Msg", ",", "Ranges", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "warning", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser (2)", "Func": "Warning", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9639, "Length": 33} {"ground_truth": ["", "void", "addExpr", "(", "MCInst", "&", "Inst", ",", "const", "MCExpr", "*", "Expr", ")", "const", "{", "if", "(", "!", "Expr", ")", "Inst", ".", "addOperand", "(", "MCOperand", "::", "CreateImm", "(", "0", ")", ")", ";", "else", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Expr", ")", ")", "Inst", ".", "addOperand", "(", "MCOperand", "::", "CreateImm", "(", "CE", "->", "getValue", "(", ")", ")", ")", ";", "else", "Inst", ".", "addOperand", "(", "MCOperand", "::", "CreateExpr", "(", "Expr", ")", ")", ";", "}", ""], "natrual_language": ["Add", "a", "new", "MCExpr", "operand", "."], "TS_V_token": ["ARM", "0"], "File": "ARMAsmParser101", "Func": "addExpr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9640, "Length": 77} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "checkTargetMatchPredicate", "(", "MCInst", "&", "Inst", ")", "{", "unsigned", "Opc", "=", "Inst", ".", "getOpcode", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MII", ".", "get", "(", "Opc", ")", ";", "if", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "ThumbArithFlagSetting", ")", "{", "assert", "(", "MCID", ".", "hasOptionalDef", "(", ")", "&&", "\"optionally flag setting instruction missing optional def operand\"", ")", ";", "assert", "(", "MCID", ".", "NumOperands", "==", "Inst", ".", "getNumOperands", "(", ")", "&&", "\"operand count mismatch!\"", ")", ";", "unsigned", "OpNo", ";", "for", "(", "OpNo", "=", "0", ";", "!", "MCID", ".", "OpInfo", "[", "OpNo", "]", ".", "isOptionalDef", "(", ")", "&&", "OpNo", "<", "MCID", ".", "NumOperands", ";", "++", "OpNo", ")", ";", "if", "(", "isThumbOne", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "Match_MnemonicFail", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", "&&", "!", "inITBlock", "(", ")", ")", "return", "Match_RequiresITBlock", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", "&&", "inITBlock", "(", ")", ")", "return", "Match_RequiresNotITBlock", ";", "}", "else", "if", "(", "Opc", "==", "ARM", "::", "tADDhirr", "&&", "isThumbOne", "(", ")", "&&", "!", "hasV6MOps", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresThumb2", ";", "else", "if", "(", "Opc", "==", "ARM", "::", "tMOVr", "&&", "isThumbOne", "(", ")", "&&", "!", "hasV6Ops", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresV6", ";", "return", "Match_Success", ";", "}", ""], "natrual_language": ["checkTargetMatchPredicate", "-", "Validate", "the", "instruction", "match", "against", "any", "complex", "target", "predicates", "not", "expressible", "via", "match", "classes", "."], "TS_V_token": ["ARM", "ARM", "ARMII::ThumbArithFlagSetting", "\"optionally flag setting instruction missing optional def operand\"", "\"operand count mismatch!\"", "0", "ARM::CPSR", "ARM::CPSR", "ARM::CPSR", "ARM::tADDhirr", "ARM", "1", "ARM", "2", "ARM::tMOVr", "ARM", "0", "ARM", "1"], "File": "ARMAsmParser101", "Func": "checkTargetMatchPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9641, "Length": 283} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "validateTargetOperandClass", "(", "MCParsedAsmOperand", "&", "AsmOp", ",", "unsigned", "Kind", ")", "{", "ARMOperand", "&", "Op", "=", "static_cast", "<", "ARMOperand", "&", ">", "(", "AsmOp", ")", ";", "switch", "(", "Kind", ")", "{", "default", ":", "break", ";", "case", "MCK__35_0", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", ".", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "0", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK_ModImm", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "{", "const", "MCExpr", "*", "SOExpr", "=", "Op", ".", "getImm", "(", ")", ";", "int64_t", "Value", ";", "if", "(", "!", "SOExpr", "->", "EvaluateAsAbsolute", "(", "Value", ")", ")", "return", "Match_Success", ";", "assert", "(", "(", "Value", ">=", "INT32_MIN", "&&", "Value", "<=", "UINT32_MAX", ")", "&&", "\"expression value must be representable in 32 bits\"", ")", ";", "}", "break", ";", "case", "MCK_GPRPair", ":", "if", "(", "Op", ".", "isReg", "(", ")", "&&", "MRI", "->", "getRegClass", "(", "ARM", "::", "GPRRegClassID", ")", ".", "contains", "(", "Op", ".", "getReg", "(", ")", ")", ")", "return", "Match_Success", ";", "break", ";", "}", "return", "Match_InvalidOperand", ";", "}", ""], "natrual_language": ["Allow", "a", "target", "to", "add", "special", "case", "operand", "matching", "for", "things", "that", "tblgen", "doesn't/ca", "n't", "handle", "effectively", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "\"expression value must be representable in 32 bits\"", "ARM::GPRRegClassID"], "File": "ARMAsmParser101", "Func": "validateTargetOperandClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9642, "Length": 176} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "unsigned", "&", "Opcode", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ",", "MCStreamer", "&", "Out", ",", "unsigned", "&", "ErrorInfo", ",", "bool", "MatchingInlineAsm", ")", "{", "MCInst", "Inst", ";", "unsigned", "MatchResult", ";", "MatchResult", "=", "MatchInstructionImpl", "(", "Operands", ",", "Inst", ",", "ErrorInfo", ",", "MatchingInlineAsm", ")", ";", "switch", "(", "MatchResult", ")", "{", "default", ":", "break", ";", "case", "Match_Success", ":", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "{", "bool", "wasInITBlock", "=", "inITBlock", "(", ")", ";", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ")", ")", ";", "if", "(", "wasInITBlock", "&&", "hasV8Ops", "(", ")", "&&", "isThumb", "(", ")", "&&", "!", "isV8EligibleForIT", "(", "&", "Inst", ",", "2", ")", ")", "{", "Warning", "(", "IDLoc", ",", "\"deprecated instruction in IT block\"", ")", ";", "}", "}", "forwardITPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "Out", ".", "EmitInstruction", "(", "Inst", ")", ";", "return", "false", ";", "case", "Match_MissingFeature", ":", "{", "assert", "(", "ErrorInfo", "&&", "\"Unknown missing feature!\"", ")", ";", "std", "::", "string", "Msg", "=", "\"instruction requires:\"", ";", "unsigned", "Mask", "=", "1", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "(", "sizeof", "(", "ErrorInfo", ")", "*", "8", "-", "1", ")", ";", "++", "i", ")", "{", "if", "(", "ErrorInfo", "&", "Mask", ")", "{", "Msg", "+=", "\" \"", ";", "Msg", "+=", "getSubtargetFeatureName", "(", "ErrorInfo", "&", "Mask", ")", ";", "}", "Mask", "<<=", "1", ";", "}", "return", "Error", "(", "IDLoc", ",", "Msg", ")", ";", "}", "case", "Match_InvalidOperand", ":", "{", "SMLoc", "ErrorLoc", "=", "IDLoc", ";", "if", "(", "ErrorInfo", "!=", "~", "0U", ")", "{", "if", "(", "ErrorInfo", ">=", "Operands", ".", "size", "(", ")", ")", "return", "Error", "(", "IDLoc", ",", "\"too few operands for instruction\"", ")", ";", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "}", "return", "Error", "(", "ErrorLoc", ",", "\"invalid operand for instruction\"", ")", ";", "}", "case", "Match_MnemonicFail", ":", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", ",", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "0", "]", ")", "->", "getLocRange", "(", ")", ")", ";", "case", "Match_RequiresNotITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"flag setting instruction only valid outside IT block\"", ")", ";", "case", "Match_RequiresITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction only valid inside IT block\"", ")", ";", "case", "Match_RequiresV6", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires ARMv6 or later\"", ")", ";", "case", "Match_RequiresThumb2", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires Thumb2\"", ")", ";", "case", "Match_ImmRange0_15", ":", "{", "SMLoc", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "return", "Error", "(", "ErrorLoc", ",", "\"immediate operand must be in the range [0,15]\"", ")", ";", "}", "case", "Match_ImmRange0_239", ":", "{", "SMLoc", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "return", "Error", "(", "ErrorLoc", ",", "\"immediate operand must be in the range [0,239]\"", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "2", "\"deprecated instruction in IT block\"", "ARM::ITasm", "\"Unknown missing feature!\"", "\"instruction requires:\"", "1", "0", "8", "1", "\" \"", "1", "0U", "\"too few operands for instruction\"", "ARM", "\"invalid operand for instruction\"", "\"invalid instruction\"", "ARM", "0", "\"flag setting instruction only valid outside IT block\"", "\"instruction only valid inside IT block\"", "\"instruction variant requires ARMv6 or later\"", "\"instruction variant requires Thumb2\"", "ARM", "\"immediate operand must be in the range [0,15]\"", "ARM", "\"immediate operand must be in the range [0,239]\"", "\"Implement any new match types added!\""], "File": "ARMAsmParser102", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9643, "Length": 485} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "ParseDirective", "(", "AsmToken", "DirectiveID", ")", "{", "StringRef", "IDVal", "=", "DirectiveID", ".", "getIdentifier", "(", ")", ";", "if", "(", "IDVal", "==", "\".word\"", ")", "return", "parseDirectiveWord", "(", "4", ",", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".thumb\"", ")", "return", "parseDirectiveThumb", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".arm\"", ")", "return", "parseDirectiveARM", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".thumb_func\"", ")", "return", "parseDirectiveThumbFunc", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".code\"", ")", "return", "parseDirectiveCode", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".syntax\"", ")", "return", "parseDirectiveSyntax", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".unreq\"", ")", "return", "parseDirectiveUnreq", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".arch\"", ")", "return", "parseDirectiveArch", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".eabi_attribute\"", ")", "return", "parseDirectiveEabiAttr", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".cpu\"", ")", "return", "parseDirectiveCPU", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".fpu\"", ")", "return", "parseDirectiveFPU", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".fnstart\"", ")", "return", "parseDirectiveFnStart", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".fnend\"", ")", "return", "parseDirectiveFnEnd", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".cantunwind\"", ")", "return", "parseDirectiveCantUnwind", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".personality\"", ")", "return", "parseDirectivePersonality", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".handlerdata\"", ")", "return", "parseDirectiveHandlerData", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".setfp\"", ")", "return", "parseDirectiveSetFP", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".pad\"", ")", "return", "parseDirectivePad", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".save\"", ")", "return", "parseDirectiveRegSave", "(", "DirectiveID", ".", "getLoc", "(", ")", ",", "false", ")", ";", "else", "if", "(", "IDVal", "==", "\".vsave\"", ")", "return", "parseDirectiveRegSave", "(", "DirectiveID", ".", "getLoc", "(", ")", ",", "true", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["ParseDirective", "-", "Parse", "a", "target", "specific", "assembler", "directive", "This", "method", "is", "deprecated", ",", "use", "'parseDirective", "'", "instead", "."], "TS_V_token": ["ARM", "ARM", "\".word\"", "4", "\".thumb\"", "\".arm\"", "ARM", "\".thumb_func\"", "\".code\"", "\".syntax\"", "\".unreq\"", "\".arch\"", "\".eabi_attribute\"", "\".cpu\"", "\".fpu\"", "\".fnstart\"", "\".fnend\"", "\".cantunwind\"", "\".personality\"", "\".handlerdata\"", "\".setfp\"", "\".pad\"", "\".save\"", "\".vsave\""], "File": "ARMAsmParser102", "Func": "ParseDirective", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9644, "Length": 367} {"ground_truth": ["", "bool", "isMem", "(", ")", "const", "override", "{", "if", "(", "Kind", "!=", "k_Memory", ")", "return", "false", ";", "if", "(", "Memory", ".", "BaseRegNum", "&&", "!", "ARMMCRegisterClasses", "[", "ARM", "::", "GPRRegClassID", "]", ".", "contains", "(", "Memory", ".", "BaseRegNum", ")", ")", "return", "false", ";", "if", "(", "Memory", ".", "OffsetRegNum", "&&", "!", "ARMMCRegisterClasses", "[", "ARM", "::", "GPRRegClassID", "]", ".", "contains", "(", "Memory", ".", "OffsetRegNum", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["isMem", "-", "Is", "this", "a", "memory", "operand", "?"], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClassID", "ARM", "ARM::GPRRegClassID"], "File": "ARMAsmParser103", "Func": "isMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9645, "Length": 68} {"ground_truth": ["", "bool", "isThumb", "(", ")", "const", "{", "return", "STI", ".", "getFeatureBits", "(", ")", "[", "ARM", "::", "ModeThumb", "]", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "is", "Thumb", "(", "little", "and", "big", "endian", ")", "."], "TS_V_token": ["ARM", "ARM::ModeThumb"], "File": "ARMAsmParser108", "Func": "isThumb", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9646, "Length": 19} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "validateTargetOperandClass", "(", "MCParsedAsmOperand", "&", "AsmOp", ",", "unsigned", "Kind", ")", "{", "ARMOperand", "&", "Op", "=", "static_cast", "<", "ARMOperand", "&", ">", "(", "AsmOp", ")", ";", "switch", "(", "Kind", ")", "{", "default", ":", "break", ";", "case", "MCK__35_0", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", ".", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "0", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK_ModImm", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "{", "const", "MCExpr", "*", "SOExpr", "=", "Op", ".", "getImm", "(", ")", ";", "int64_t", "Value", ";", "if", "(", "!", "SOExpr", "->", "evaluateAsAbsolute", "(", "Value", ")", ")", "return", "Match_Success", ";", "assert", "(", "(", "Value", ">=", "INT32_MIN", "&&", "Value", "<=", "UINT32_MAX", ")", "&&", "\"expression value must be representable in 32 bits\"", ")", ";", "}", "break", ";", "case", "MCK_GPRPair", ":", "if", "(", "Op", ".", "isReg", "(", ")", "&&", "MRI", "->", "getRegClass", "(", "ARM", "::", "GPRRegClassID", ")", ".", "contains", "(", "Op", ".", "getReg", "(", ")", ")", ")", "return", "Match_Success", ";", "break", ";", "}", "return", "Match_InvalidOperand", ";", "}", ""], "natrual_language": ["Allow", "a", "target", "to", "add", "special", "case", "operand", "matching", "for", "things", "that", "tblgen", "doesn't/ca", "n't", "handle", "effectively", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "\"expression value must be representable in 32 bits\"", "ARM::GPRRegClassID"], "File": "ARMAsmParser108", "Func": "validateTargetOperandClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9647, "Length": 176} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "checkTargetMatchPredicate", "(", "MCInst", "&", "Inst", ")", "{", "unsigned", "Opc", "=", "Inst", ".", "getOpcode", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MII", ".", "get", "(", "Opc", ")", ";", "if", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "ThumbArithFlagSetting", ")", "{", "assert", "(", "MCID", ".", "hasOptionalDef", "(", ")", "&&", "\"optionally flag setting instruction missing optional def operand\"", ")", ";", "assert", "(", "MCID", ".", "NumOperands", "==", "Inst", ".", "getNumOperands", "(", ")", "&&", "\"operand count mismatch!\"", ")", ";", "unsigned", "OpNo", ";", "for", "(", "OpNo", "=", "0", ";", "!", "MCID", ".", "OpInfo", "[", "OpNo", "]", ".", "isOptionalDef", "(", ")", "&&", "OpNo", "<", "MCID", ".", "NumOperands", ";", "++", "OpNo", ")", ";", "if", "(", "isThumbOne", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "Match_RequiresFlagSetting", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", "&&", "!", "inITBlock", "(", ")", ")", "return", "Match_RequiresITBlock", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", "&&", "inITBlock", "(", ")", ")", "return", "Match_RequiresNotITBlock", ";", "if", "(", "Opc", "==", "ARM", "::", "tLSLri", "&&", "Inst", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", "&&", "inITBlock", "(", ")", ")", "return", "Match_RequiresNotITBlock", ";", "}", "else", "if", "(", "isThumbOne", "(", ")", ")", "{", "if", "(", "Opc", "==", "ARM", "::", "tADDhirr", "&&", "!", "hasV6MOps", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresThumb2", ";", "else", "if", "(", "Opc", "==", "ARM", "::", "tMOVr", "&&", "!", "hasV6Ops", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresV6", ";", "}", "if", "(", "Opc", "==", "ARM", "::", "t2MOVr", "&&", "!", "hasV8Ops", "(", ")", ")", "{", "if", "(", "Inst", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", "&&", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "return", "Match_RequiresV8", ";", "if", "(", "Inst", ".", "getOperand", "(", "4", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", "&&", "(", "Inst", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", "||", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", ")", "return", "Match_RequiresV8", ";", "}", "for", "(", "unsigned", "I", "=", "0", ";", "I", "<", "MCID", ".", "NumOperands", ";", "++", "I", ")", "if", "(", "MCID", ".", "OpInfo", "[", "I", "]", ".", "RegClass", "==", "ARM", "::", "rGPRRegClassID", ")", "{", "if", "(", "(", "Inst", ".", "getOperand", "(", "I", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "&&", "!", "hasV8Ops", "(", ")", ")", "return", "Match_RequiresV8", ";", "else", "if", "(", "Inst", ".", "getOperand", "(", "I", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "PC", ")", "return", "Match_InvalidOperand", ";", "}", "return", "Match_Success", ";", "}", ""], "natrual_language": ["checkTargetMatchPredicate", "-", "Validate", "the", "instruction", "match", "against", "any", "complex", "target", "predicates", "not", "expressible", "via", "match", "classes", "."], "TS_V_token": ["ARM", "ARM", "ARMII::ThumbArithFlagSetting", "\"optionally flag setting instruction missing optional def operand\"", "\"operand count mismatch!\"", "0", "ARM::CPSR", "ARM::CPSR", "ARM::CPSR", "ARM::tLSLri", "3", "0", "ARM::tADDhirr", "ARM", "1", "ARM", "2", "ARM::tMOVr", "ARM", "0", "ARM", "1", "ARM::t2MOVr", "0", "ARM::SP", "1", "ARM::SP", "4", "ARM::CPSR", "0", "ARM::SP", "1", "ARM::SP", "0", "ARM::rGPRRegClassID", "ARM::SP", "ARM::PC"], "File": "ARMAsmParser10", "Func": "checkTargetMatchPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9648, "Length": 494} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "checkTargetMatchPredicate", "(", "MCInst", "&", "Inst", ")", "{", "unsigned", "Opc", "=", "Inst", ".", "getOpcode", "(", ")", ";", "MCInstrDesc", "&", "MCID", "=", "getInstDesc", "(", "Opc", ")", ";", "if", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "ThumbArithFlagSetting", ")", "{", "assert", "(", "MCID", ".", "hasOptionalDef", "(", ")", "&&", "\"optionally flag setting instruction missing optional def operand\"", ")", ";", "assert", "(", "MCID", ".", "NumOperands", "==", "Inst", ".", "getNumOperands", "(", ")", "&&", "\"operand count mismatch!\"", ")", ";", "unsigned", "OpNo", ";", "for", "(", "OpNo", "=", "0", ";", "!", "MCID", ".", "OpInfo", "[", "OpNo", "]", ".", "isOptionalDef", "(", ")", "&&", "OpNo", "<", "MCID", ".", "NumOperands", ";", "++", "OpNo", ")", ";", "if", "(", "isThumbOne", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "Match_MnemonicFail", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", "&&", "!", "inITBlock", "(", ")", ")", "return", "Match_RequiresITBlock", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", "&&", "inITBlock", "(", ")", ")", "return", "Match_RequiresNotITBlock", ";", "}", "else", "if", "(", "Opc", "==", "ARM", "::", "tADDhirr", "&&", "isThumbOne", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresThumb2", ";", "else", "if", "(", "Opc", "==", "ARM", "::", "tMOVr", "&&", "isThumbOne", "(", ")", "&&", "!", "hasV6Ops", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresV6", ";", "return", "Match_Success", ";", "}", ""], "natrual_language": ["checkTargetMatchPredicate", "-", "Validate", "the", "instruction", "match", "against", "any", "complex", "target", "predicates", "not", "expressible", "via", "match", "classes", "."], "TS_V_token": ["ARM", "ARM", "ARMII::ThumbArithFlagSetting", "\"optionally flag setting instruction missing optional def operand\"", "\"operand count mismatch!\"", "0", "ARM::CPSR", "ARM::CPSR", "ARM::CPSR", "ARM::tADDhirr", "ARM", "1", "ARM", "2", "ARM::tMOVr", "ARM", "0", "ARM", "1"], "File": "ARMAsmParser111", "Func": "checkTargetMatchPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9649, "Length": 275} {"ground_truth": ["", "bool", "Error", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ")", "{", "return", "Parser", ".", "Error", "(", "L", ",", "Msg", ")", ";", "}", ""], "natrual_language": ["Return", "an", "error", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser111", "Func": "Error", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9650, "Length": 23} {"ground_truth": ["", "bool", "isFPImm", "(", ")", "const", "{", "return", "Kind", "==", "k_FPImmediate", ";", "}", ""], "natrual_language": ["isFPImm", "-", "Tests", "if", "this", "is", "a", "MO_FPImmediate", "operand", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser111", "Func": "isFPImm", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9651, "Length": 12} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ",", "MCStreamer", "&", "Out", ")", "{", "MCInst", "Inst", ";", "unsigned", "ErrorInfo", ";", "unsigned", "MatchResult", ";", "MatchResult", "=", "MatchInstructionImpl", "(", "Operands", ",", "Inst", ",", "ErrorInfo", ")", ";", "switch", "(", "MatchResult", ")", "{", "default", ":", "break", ";", "case", "Match_Success", ":", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "processInstruction", "(", "Inst", ",", "Operands", ")", ";", "forwardITPosition", "(", ")", ";", "Out", ".", "EmitInstruction", "(", "Inst", ")", ";", "return", "false", ";", "case", "Match_MissingFeature", ":", "Error", "(", "IDLoc", ",", "\"instruction requires a CPU feature not currently enabled\"", ")", ";", "return", "true", ";", "case", "Match_InvalidOperand", ":", "{", "SMLoc", "ErrorLoc", "=", "IDLoc", ";", "if", "(", "ErrorInfo", "!=", "~", "0U", ")", "{", "if", "(", "ErrorInfo", ">=", "Operands", ".", "size", "(", ")", ")", "return", "Error", "(", "IDLoc", ",", "\"too few operands for instruction\"", ")", ";", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "}", "return", "Error", "(", "ErrorLoc", ",", "\"invalid operand for instruction\"", ")", ";", "}", "case", "Match_MnemonicFail", ":", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", ")", ";", "case", "Match_ConversionFail", ":", "return", "true", ";", "case", "Match_RequiresNotITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"flag setting instruction only valid outside IT block\"", ")", ";", "case", "Match_RequiresITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction only valid inside IT block\"", ")", ";", "case", "Match_RequiresV6", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires ARMv6 or later\"", ")", ";", "case", "Match_RequiresThumb2", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires Thumb2\"", ")", ";", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "\"instruction requires a CPU feature not currently enabled\"", "0U", "\"too few operands for instruction\"", "ARM", "\"invalid operand for instruction\"", "\"invalid instruction\"", "\"flag setting instruction only valid outside IT block\"", "\"instruction only valid inside IT block\"", "\"instruction variant requires ARMv6 or later\"", "\"instruction variant requires Thumb2\"", "\"Implement any new match types added!\""], "File": "ARMAsmParser111", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9652, "Length": 250} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "ParseDirective", "(", "AsmToken", "DirectiveID", ")", "{", "StringRef", "IDVal", "=", "DirectiveID", ".", "getIdentifier", "(", ")", ";", "if", "(", "IDVal", "==", "\".word\"", ")", "return", "parseDirectiveWord", "(", "4", ",", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".thumb\"", ")", "return", "parseDirectiveThumb", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".thumb_func\"", ")", "return", "parseDirectiveThumbFunc", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".code\"", ")", "return", "parseDirectiveCode", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".syntax\"", ")", "return", "parseDirectiveSyntax", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["ParseDirective", "-", "Parse", "a", "target", "specific", "assembler", "directive", "This", "method", "is", "deprecated", ",", "use", "'parseDirective", "'", "instead", "."], "TS_V_token": ["ARM", "ARM", "\".word\"", "4", "\".thumb\"", "\".thumb_func\"", "\".code\"", "\".syntax\""], "File": "ARMAsmParser111", "Func": "ParseDirective", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9653, "Length": 108} {"ground_truth": ["", "int", "ARMAsmParser", "::", "tryParseRegister", "(", ")", "{", "const", "AsmToken", "&", "Tok", "=", "Parser", ".", "getTok", "(", ")", ";", "if", "(", "Tok", ".", "isNot", "(", "AsmToken", "::", "Identifier", ")", ")", "return", "-", "1", ";", "std", "::", "string", "upperCase", "=", "Tok", ".", "getString", "(", ")", ".", "str", "(", ")", ";", "std", "::", "string", "lowerCase", "=", "LowercaseString", "(", "upperCase", ")", ";", "unsigned", "RegNum", "=", "MatchRegisterName", "(", "lowerCase", ")", ";", "if", "(", "!", "RegNum", ")", "{", "RegNum", "=", "StringSwitch", "<", "unsigned", ">", "(", "lowerCase", ")", ".", "Case", "(", "\"r13\"", ",", "ARM", "::", "SP", ")", ".", "Case", "(", "\"r14\"", ",", "ARM", "::", "LR", ")", ".", "Case", "(", "\"r15\"", ",", "ARM", "::", "PC", ")", ".", "Case", "(", "\"ip\"", ",", "ARM", "::", "R12", ")", ".", "Default", "(", "0", ")", ";", "}", "if", "(", "!", "RegNum", ")", "return", "-", "1", ";", "Parser", ".", "Lex", "(", ")", ";", "if", "(", "Parser", ".", "getTok", "(", ")", ".", "is", "(", "AsmToken", "::", "LBrac", ")", ")", "{", "SMLoc", "SIdx", "=", "Parser", ".", "getTok", "(", ")", ".", "getLoc", "(", ")", ";", "Parser", ".", "Lex", "(", ")", ";", "const", "MCExpr", "*", "ImmVal", ";", "SMLoc", "ExprLoc", "=", "Parser", ".", "getTok", "(", ")", ".", "getLoc", "(", ")", ";", "if", "(", "getParser", "(", ")", ".", "ParseExpression", "(", "ImmVal", ")", ")", "return", "MatchOperand_ParseFail", ";", "const", "MCConstantExpr", "*", "MCE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "ImmVal", ")", ";", "if", "(", "!", "MCE", ")", "{", "TokError", "(", "\"immediate value expected for vector index\"", ")", ";", "return", "MatchOperand_ParseFail", ";", "}", "SMLoc", "E", "=", "Parser", ".", "getTok", "(", ")", ".", "getLoc", "(", ")", ";", "if", "(", "Parser", ".", "getTok", "(", ")", ".", "isNot", "(", "AsmToken", "::", "RBrac", ")", ")", "{", "Error", "(", "E", ",", "\"']' expected\"", ")", ";", "return", "MatchOperand_ParseFail", ";", "}", "Parser", ".", "Lex", "(", ")", ";", "Operands", ".", "push_back", "(", "ARMOperand", "::", "CreateVectorIndex", "(", "MCE", "->", "getValue", "(", ")", ",", "SIdx", ",", "E", ",", "getContext", "(", ")", ")", ")", ";", "}", "return", "RegNum", ";", "}", ""], "natrual_language": ["tryParseRegister", "-", "parse", "one", "register", "if", "possible"], "TS_V_token": ["ARM", "ARM", "1", "\"r13\"", "ARM::SP", "\"r14\"", "ARM::LR", "\"r15\"", "ARM::PC", "\"ip\"", "ARM::R12", "0", "1", "\"immediate value expected for vector index\"", "\"']' expected\"", "ARM"], "File": "ARMAsmParser111", "Func": "tryParseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9654, "Length": 309} {"ground_truth": ["", "void", "Warning", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ")", "{", "Parser", ".", "Warning", "(", "L", ",", "Msg", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "warning", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser111", "Func": "Warning", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9655, "Length": 22} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "unsigned", "&", "Opcode", ",", "OperandVector", "&", "Operands", ",", "MCStreamer", "&", "Out", ",", "uint64_t", "&", "ErrorInfo", ",", "bool", "MatchingInlineAsm", ")", "{", "MCInst", "Inst", ";", "unsigned", "MatchResult", ";", "bool", "PendConditionalInstruction", "=", "false", ";", "SmallVector", "<", "NearMissInfo", ",", "4", ">", "NearMisses", ";", "MatchResult", "=", "MatchInstruction", "(", "Operands", ",", "Inst", ",", "NearMisses", ",", "MatchingInlineAsm", ",", "PendConditionalInstruction", ",", "Out", ")", ";", "switch", "(", "MatchResult", ")", "{", "case", "Match_Success", ":", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Parsed as: \"", ";", "Inst", ".", "dump_pretty", "(", "dbgs", "(", ")", ",", "MII", ".", "getName", "(", "Inst", ".", "getOpcode", "(", ")", ")", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "forwardVPTPosition", "(", ")", ";", "return", "true", ";", "}", "{", "bool", "wasInITBlock", "=", "inITBlock", "(", ")", ";", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ",", "Out", ")", ")", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Changed to: \"", ";", "Inst", ".", "dump_pretty", "(", "dbgs", "(", ")", ",", "MII", ".", "getName", "(", "Inst", ".", "getOpcode", "(", ")", ")", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "wasInITBlock", "&&", "hasV8Ops", "(", ")", "&&", "isThumb", "(", ")", "&&", "!", "isV8EligibleForIT", "(", "&", "Inst", ")", ")", "{", "Warning", "(", "IDLoc", ",", "\"deprecated instruction in IT block\"", ")", ";", "}", "}", "forwardITPosition", "(", ")", ";", "forwardVPTPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "if", "(", "PendConditionalInstruction", ")", "{", "PendingConditionalInsts", ".", "push_back", "(", "Inst", ")", ";", "if", "(", "isITBlockFull", "(", ")", "||", "isITBlockTerminator", "(", "Inst", ")", ")", "flushPendingInstructions", "(", "Out", ")", ";", "}", "else", "{", "Out", ".", "emitInstruction", "(", "Inst", ",", "getSTI", "(", ")", ")", ";", "}", "return", "false", ";", "case", "Match_NearMisses", ":", "ReportNearMisses", "(", "NearMisses", ",", "IDLoc", ",", "Operands", ")", ";", "return", "true", ";", "case", "Match_MnemonicFail", ":", "{", "FeatureBitset", "FBS", "=", "ComputeAvailableFeatures", "(", "getSTI", "(", ")", ".", "getFeatureBits", "(", ")", ")", ";", "std", "::", "string", "Suggestion", "=", "ARMMnemonicSpellCheck", "(", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getToken", "(", ")", ",", "FBS", ")", ";", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", "+", "Suggestion", ",", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getLocRange", "(", ")", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "4", "\"Parsed as: \"", "\"\\n\"", "\"Changed to: \"", "\"\\n\"", "\"deprecated instruction in IT block\"", "ARM::ITasm", "ARM", "ARM", "0", "\"invalid instruction\"", "ARM", "0", "\"Implement any new match types added!\""], "File": "ARMAsmParser112", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9656, "Length": 381} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ",", "MCStreamer", "&", "Out", ")", "{", "MCInst", "Inst", ";", "unsigned", "ErrorInfo", ";", "unsigned", "MatchResult", ";", "MatchResult", "=", "MatchInstructionImpl", "(", "Operands", ",", "Inst", ",", "ErrorInfo", ")", ";", "switch", "(", "MatchResult", ")", "{", "default", ":", "break", ";", "case", "Match_Success", ":", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ")", ")", ";", "forwardITPosition", "(", ")", ";", "Out", ".", "EmitInstruction", "(", "Inst", ")", ";", "return", "false", ";", "case", "Match_MissingFeature", ":", "Error", "(", "IDLoc", ",", "\"instruction requires a CPU feature not currently enabled\"", ")", ";", "return", "true", ";", "case", "Match_InvalidOperand", ":", "{", "SMLoc", "ErrorLoc", "=", "IDLoc", ";", "if", "(", "ErrorInfo", "!=", "~", "0U", ")", "{", "if", "(", "ErrorInfo", ">=", "Operands", ".", "size", "(", ")", ")", "return", "Error", "(", "IDLoc", ",", "\"too few operands for instruction\"", ")", ";", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "}", "return", "Error", "(", "ErrorLoc", ",", "\"invalid operand for instruction\"", ")", ";", "}", "case", "Match_MnemonicFail", ":", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", ")", ";", "case", "Match_ConversionFail", ":", "return", "true", ";", "case", "Match_RequiresNotITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"flag setting instruction only valid outside IT block\"", ")", ";", "case", "Match_RequiresITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction only valid inside IT block\"", ")", ";", "case", "Match_RequiresV6", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires ARMv6 or later\"", ")", ";", "case", "Match_RequiresThumb2", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires Thumb2\"", ")", ";", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "\"instruction requires a CPU feature not currently enabled\"", "0U", "\"too few operands for instruction\"", "ARM", "\"invalid operand for instruction\"", "\"invalid instruction\"", "\"flag setting instruction only valid outside IT block\"", "\"instruction only valid inside IT block\"", "\"instruction variant requires ARMv6 or later\"", "\"instruction variant requires Thumb2\"", "\"Implement any new match types added!\""], "File": "ARMAsmParser114", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9657, "Length": 253} {"ground_truth": ["", "int", "ARMAsmParser", "::", "tryParseRegister", "(", ")", "{", "const", "AsmToken", "&", "Tok", "=", "Parser", ".", "getTok", "(", ")", ";", "if", "(", "Tok", ".", "isNot", "(", "AsmToken", "::", "Identifier", ")", ")", "return", "-", "1", ";", "std", "::", "string", "lowerCase", "=", "Tok", ".", "getString", "(", ")", ".", "lower", "(", ")", ";", "unsigned", "RegNum", "=", "MatchRegisterName", "(", "lowerCase", ")", ";", "if", "(", "!", "RegNum", ")", "{", "RegNum", "=", "StringSwitch", "<", "unsigned", ">", "(", "lowerCase", ")", ".", "Case", "(", "\"r13\"", ",", "ARM", "::", "SP", ")", ".", "Case", "(", "\"r14\"", ",", "ARM", "::", "LR", ")", ".", "Case", "(", "\"r15\"", ",", "ARM", "::", "PC", ")", ".", "Case", "(", "\"ip\"", ",", "ARM", "::", "R12", ")", ".", "Default", "(", "0", ")", ";", "}", "if", "(", "!", "RegNum", ")", "return", "-", "1", ";", "Parser", ".", "Lex", "(", ")", ";", "return", "RegNum", ";", "}", ""], "natrual_language": ["tryParseRegister", "-", "parse", "one", "register", "if", "possible"], "TS_V_token": ["ARM", "ARM", "1", "\"r13\"", "ARM::SP", "\"r14\"", "ARM::LR", "\"r15\"", "ARM::PC", "\"ip\"", "ARM::R12", "0", "1"], "File": "ARMAsmParser114", "Func": "tryParseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9658, "Length": 133} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "unsigned", "&", "Opcode", ",", "OperandVector", "&", "Operands", ",", "MCStreamer", "&", "Out", ",", "uint64_t", "&", "ErrorInfo", ",", "bool", "MatchingInlineAsm", ")", "{", "MCInst", "Inst", ";", "unsigned", "MatchResult", ";", "bool", "PendConditionalInstruction", "=", "false", ";", "SmallVector", "<", "NearMissInfo", ",", "4", ">", "NearMisses", ";", "MatchResult", "=", "MatchInstruction", "(", "Operands", ",", "Inst", ",", "NearMisses", ",", "MatchingInlineAsm", ",", "PendConditionalInstruction", ",", "Out", ")", ";", "switch", "(", "MatchResult", ")", "{", "case", "Match_Success", ":", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Parsed as: \"", ";", "Inst", ".", "dump_pretty", "(", "dbgs", "(", ")", ",", "MII", ".", "getName", "(", "Inst", ".", "getOpcode", "(", ")", ")", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "{", "bool", "wasInITBlock", "=", "inITBlock", "(", ")", ";", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ",", "Out", ")", ")", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Changed to: \"", ";", "Inst", ".", "dump_pretty", "(", "dbgs", "(", ")", ",", "MII", ".", "getName", "(", "Inst", ".", "getOpcode", "(", ")", ")", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "wasInITBlock", "&&", "hasV8Ops", "(", ")", "&&", "isThumb", "(", ")", "&&", "!", "isV8EligibleForIT", "(", "&", "Inst", ")", ")", "{", "Warning", "(", "IDLoc", ",", "\"deprecated instruction in IT block\"", ")", ";", "}", "}", "forwardITPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "if", "(", "PendConditionalInstruction", ")", "{", "PendingConditionalInsts", ".", "push_back", "(", "Inst", ")", ";", "if", "(", "isITBlockFull", "(", ")", "||", "isITBlockTerminator", "(", "Inst", ")", ")", "flushPendingInstructions", "(", "Out", ")", ";", "}", "else", "{", "Out", ".", "EmitInstruction", "(", "Inst", ",", "getSTI", "(", ")", ")", ";", "}", "return", "false", ";", "case", "Match_NearMisses", ":", "ReportNearMisses", "(", "NearMisses", ",", "IDLoc", ",", "Operands", ")", ";", "return", "true", ";", "case", "Match_MnemonicFail", ":", "{", "FeatureBitset", "FBS", "=", "ComputeAvailableFeatures", "(", "getSTI", "(", ")", ".", "getFeatureBits", "(", ")", ")", ";", "std", "::", "string", "Suggestion", "=", "ARMMnemonicSpellCheck", "(", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getToken", "(", ")", ",", "FBS", ")", ";", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", "+", "Suggestion", ",", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getLocRange", "(", ")", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "4", "\"Parsed as: \"", "\"\\n\"", "\"Changed to: \"", "\"\\n\"", "\"deprecated instruction in IT block\"", "ARM::ITasm", "ARM", "ARM", "0", "\"invalid instruction\"", "ARM", "0", "\"Implement any new match types added!\""], "File": "ARMAsmParser116", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9659, "Length": 373} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "validateTargetOperandClass", "(", "MCParsedAsmOperand", "&", "AsmOp", ",", "unsigned", "Kind", ")", "{", "ARMOperand", "&", "Op", "=", "static_cast", "<", "ARMOperand", "&", ">", "(", "AsmOp", ")", ";", "switch", "(", "Kind", ")", "{", "default", ":", "break", ";", "case", "MCK__35_0", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", ".", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "0", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK__35_8", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", ".", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "8", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK__35_16", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", ".", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "16", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK_ModImm", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "{", "const", "MCExpr", "*", "SOExpr", "=", "Op", ".", "getImm", "(", ")", ";", "int64_t", "Value", ";", "if", "(", "!", "SOExpr", "->", "evaluateAsAbsolute", "(", "Value", ")", ")", "return", "Match_Success", ";", "assert", "(", "(", "Value", ">=", "std", "::", "numeric_limits", "<", "int32_t", ">", "::", "min", "(", ")", "&&", "Value", "<=", "std", "::", "numeric_limits", "<", "uint32_t", ">", "::", "max", "(", ")", ")", "&&", "\"expression value must be representable in 32 bits\"", ")", ";", "}", "break", ";", "case", "MCK_rGPR", ":", "if", "(", "hasV8Ops", "(", ")", "&&", "Op", ".", "isReg", "(", ")", "&&", "Op", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "return", "Match_Success", ";", "return", "Match_rGPR", ";", "case", "MCK_GPRPair", ":", "if", "(", "Op", ".", "isReg", "(", ")", "&&", "MRI", "->", "getRegClass", "(", "ARM", "::", "GPRRegClassID", ")", ".", "contains", "(", "Op", ".", "getReg", "(", ")", ")", ")", "return", "Match_Success", ";", "break", ";", "}", "return", "Match_InvalidOperand", ";", "}", ""], "natrual_language": ["Allow", "a", "target", "to", "add", "special", "case", "operand", "matching", "for", "things", "that", "tblgen", "doesn't/ca", "n't", "handle", "effectively", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "8", "16", "\"expression value must be representable in 32 bits\"", "ARM::SP", "ARM::GPRRegClassID"], "File": "ARMAsmParser117", "Func": "validateTargetOperandClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9660, "Length": 315} {"ground_truth": ["", "int", "ARMAsmParser", "::", "tryParseRegister", "(", ")", "{", "const", "AsmToken", "&", "Tok", "=", "Parser", ".", "getTok", "(", ")", ";", "if", "(", "Tok", ".", "isNot", "(", "AsmToken", "::", "Identifier", ")", ")", "return", "-", "1", ";", "std", "::", "string", "upperCase", "=", "Tok", ".", "getString", "(", ")", ".", "str", "(", ")", ";", "std", "::", "string", "lowerCase", "=", "LowercaseString", "(", "upperCase", ")", ";", "unsigned", "RegNum", "=", "MatchRegisterName", "(", "lowerCase", ")", ";", "if", "(", "!", "RegNum", ")", "{", "RegNum", "=", "StringSwitch", "<", "unsigned", ">", "(", "lowerCase", ")", ".", "Case", "(", "\"r13\"", ",", "ARM", "::", "SP", ")", ".", "Case", "(", "\"r14\"", ",", "ARM", "::", "LR", ")", ".", "Case", "(", "\"r15\"", ",", "ARM", "::", "PC", ")", ".", "Case", "(", "\"ip\"", ",", "ARM", "::", "R12", ")", ".", "Default", "(", "0", ")", ";", "}", "if", "(", "!", "RegNum", ")", "return", "-", "1", ";", "Parser", ".", "Lex", "(", ")", ";", "if", "(", "Parser", ".", "getTok", "(", ")", ".", "is", "(", "AsmToken", "::", "LBrac", ")", ")", "{", "SMLoc", "SIdx", "=", "Parser", ".", "getTok", "(", ")", ".", "getLoc", "(", ")", ";", "Parser", ".", "Lex", "(", ")", ";", "const", "MCExpr", "*", "ImmVal", ";", "if", "(", "getParser", "(", ")", ".", "ParseExpression", "(", "ImmVal", ")", ")", "return", "MatchOperand_ParseFail", ";", "const", "MCConstantExpr", "*", "MCE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "ImmVal", ")", ";", "if", "(", "!", "MCE", ")", "{", "TokError", "(", "\"immediate value expected for vector index\"", ")", ";", "return", "MatchOperand_ParseFail", ";", "}", "SMLoc", "E", "=", "Parser", ".", "getTok", "(", ")", ".", "getLoc", "(", ")", ";", "if", "(", "Parser", ".", "getTok", "(", ")", ".", "isNot", "(", "AsmToken", "::", "RBrac", ")", ")", "{", "Error", "(", "E", ",", "\"']' expected\"", ")", ";", "return", "MatchOperand_ParseFail", ";", "}", "Parser", ".", "Lex", "(", ")", ";", "Operands", ".", "push_back", "(", "ARMOperand", "::", "CreateVectorIndex", "(", "MCE", "->", "getValue", "(", ")", ",", "SIdx", ",", "E", ",", "getContext", "(", ")", ")", ")", ";", "}", "return", "RegNum", ";", "}", ""], "natrual_language": ["tryParseRegister", "-", "parse", "one", "register", "if", "possible"], "TS_V_token": ["ARM", "ARM", "1", "\"r13\"", "ARM::SP", "\"r14\"", "ARM::LR", "\"r15\"", "ARM::PC", "\"ip\"", "ARM::R12", "0", "1", "\"immediate value expected for vector index\"", "\"']' expected\"", "ARM"], "File": "ARMAsmParser119", "Func": "tryParseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9661, "Length": 296} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "validateTargetOperandClass", "(", "MCParsedAsmOperand", "&", "AsmOp", ",", "unsigned", "Kind", ")", "{", "ARMOperand", "&", "Op", "=", "static_cast", "<", "ARMOperand", "&", ">", "(", "AsmOp", ")", ";", "switch", "(", "Kind", ")", "{", "default", ":", "break", ";", "case", "MCK__35_0", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", ".", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "0", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK_ARMSOImm", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "{", "const", "MCExpr", "*", "SOExpr", "=", "Op", ".", "getImm", "(", ")", ";", "int64_t", "Value", ";", "if", "(", "!", "SOExpr", "->", "EvaluateAsAbsolute", "(", "Value", ")", ")", "return", "Match_Success", ";", "assert", "(", "(", "Value", ">=", "INT32_MIN", "&&", "Value", "<=", "UINT32_MAX", ")", "&&", "\"expression value must be representable in 32 bits\"", ")", ";", "}", "break", ";", "case", "MCK_GPRPair", ":", "if", "(", "Op", ".", "isReg", "(", ")", "&&", "MRI", "->", "getRegClass", "(", "ARM", "::", "GPRRegClassID", ")", ".", "contains", "(", "Op", ".", "getReg", "(", ")", ")", ")", "return", "Match_Success", ";", "break", ";", "}", "return", "Match_InvalidOperand", ";", "}", ""], "natrual_language": ["Allow", "a", "target", "to", "add", "special", "case", "operand", "matching", "for", "things", "that", "tblgen", "doesn't/ca", "n't", "handle", "effectively", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM", "\"expression value must be representable in 32 bits\"", "ARM::GPRRegClassID"], "File": "ARMAsmParser122", "Func": "validateTargetOperandClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9662, "Length": 176} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "unsigned", "&", "Opcode", ",", "OperandVector", "&", "Operands", ",", "MCStreamer", "&", "Out", ",", "uint64_t", "&", "ErrorInfo", ",", "bool", "MatchingInlineAsm", ")", "{", "MCInst", "Inst", ";", "unsigned", "MatchResult", ";", "bool", "PendConditionalInstruction", "=", "false", ";", "SmallVector", "<", "NearMissInfo", ",", "4", ">", "NearMisses", ";", "MatchResult", "=", "MatchInstruction", "(", "Operands", ",", "Inst", ",", "NearMisses", ",", "MatchingInlineAsm", ",", "PendConditionalInstruction", ",", "Out", ")", ";", "switch", "(", "MatchResult", ")", "{", "case", "Match_Success", ":", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Parsed as: \"", ";", "Inst", ".", "dump_pretty", "(", "dbgs", "(", ")", ",", "MII", ".", "getName", "(", "Inst", ".", "getOpcode", "(", ")", ")", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "forwardVPTPosition", "(", ")", ";", "return", "true", ";", "}", "{", "bool", "wasInITBlock", "=", "inITBlock", "(", ")", ";", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ",", "Out", ")", ")", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Changed to: \"", ";", "Inst", ".", "dump_pretty", "(", "dbgs", "(", ")", ",", "MII", ".", "getName", "(", "Inst", ".", "getOpcode", "(", ")", ")", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "wasInITBlock", "&&", "hasV8Ops", "(", ")", "&&", "isThumb", "(", ")", "&&", "!", "isV8EligibleForIT", "(", "&", "Inst", ")", "&&", "!", "getTargetOptions", "(", ")", ".", "MCNoDeprecatedWarn", ")", "{", "Warning", "(", "IDLoc", ",", "\"deprecated instruction in IT block\"", ")", ";", "}", "}", "forwardITPosition", "(", ")", ";", "forwardVPTPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "if", "(", "PendConditionalInstruction", ")", "{", "PendingConditionalInsts", ".", "push_back", "(", "Inst", ")", ";", "if", "(", "isITBlockFull", "(", ")", "||", "isITBlockTerminator", "(", "Inst", ")", ")", "flushPendingInstructions", "(", "Out", ")", ";", "}", "else", "{", "Out", ".", "emitInstruction", "(", "Inst", ",", "getSTI", "(", ")", ")", ";", "}", "return", "false", ";", "case", "Match_NearMisses", ":", "ReportNearMisses", "(", "NearMisses", ",", "IDLoc", ",", "Operands", ")", ";", "return", "true", ";", "case", "Match_MnemonicFail", ":", "{", "FeatureBitset", "FBS", "=", "ComputeAvailableFeatures", "(", "getSTI", "(", ")", ".", "getFeatureBits", "(", ")", ")", ";", "std", "::", "string", "Suggestion", "=", "ARMMnemonicSpellCheck", "(", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getToken", "(", ")", ",", "FBS", ")", ";", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", "+", "Suggestion", ",", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getLocRange", "(", ")", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "4", "\"Parsed as: \"", "\"\\n\"", "\"Changed to: \"", "\"\\n\"", "\"deprecated instruction in IT block\"", "ARM::ITasm", "ARM", "ARM", "0", "\"invalid instruction\"", "ARM", "0", "\"Implement any new match types added!\""], "File": "ARMAsmParser127", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9663, "Length": 388} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ",", "MCStreamer", "&", "Out", ")", "{", "MCInst", "Inst", ";", "unsigned", "ErrorInfo", ";", "unsigned", "MatchResult", ";", "MatchResult", "=", "MatchInstructionImpl", "(", "Operands", ",", "Inst", ",", "ErrorInfo", ")", ";", "switch", "(", "MatchResult", ")", "{", "default", ":", "break", ";", "case", "Match_Success", ":", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ")", ")", ";", "forwardITPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "Out", ".", "EmitInstruction", "(", "Inst", ")", ";", "return", "false", ";", "case", "Match_MissingFeature", ":", "Error", "(", "IDLoc", ",", "\"instruction requires a CPU feature not currently enabled\"", ")", ";", "return", "true", ";", "case", "Match_InvalidOperand", ":", "{", "SMLoc", "ErrorLoc", "=", "IDLoc", ";", "if", "(", "ErrorInfo", "!=", "~", "0U", ")", "{", "if", "(", "ErrorInfo", ">=", "Operands", ".", "size", "(", ")", ")", "return", "Error", "(", "IDLoc", ",", "\"too few operands for instruction\"", ")", ";", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "}", "return", "Error", "(", "ErrorLoc", ",", "\"invalid operand for instruction\"", ")", ";", "}", "case", "Match_MnemonicFail", ":", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", ")", ";", "case", "Match_ConversionFail", ":", "return", "true", ";", "case", "Match_RequiresNotITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"flag setting instruction only valid outside IT block\"", ")", ";", "case", "Match_RequiresITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction only valid inside IT block\"", ")", ";", "case", "Match_RequiresV6", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires ARMv6 or later\"", ")", ";", "case", "Match_RequiresThumb2", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires Thumb2\"", ")", ";", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "ARM::ITasm", "\"instruction requires a CPU feature not currently enabled\"", "0U", "\"too few operands for instruction\"", "ARM", "\"invalid operand for instruction\"", "\"invalid instruction\"", "\"flag setting instruction only valid outside IT block\"", "\"instruction only valid inside IT block\"", "\"instruction variant requires ARMv6 or later\"", "\"instruction variant requires Thumb2\"", "\"Implement any new match types added!\""], "File": "ARMAsmParser12", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9664, "Length": 272} {"ground_truth": ["", "static", "void", "CreateMem", "(", "OwningPtr", "<", "ARMOperand", ">", "&", "Op", ",", "unsigned", "BaseRegNum", ",", "bool", "OffsetIsReg", ",", "const", "MCExpr", "*", "Offset", ",", "unsigned", "OffsetRegNum", ",", "bool", "OffsetRegShifted", ",", "enum", "ShiftType", "ShiftType", ",", "const", "MCExpr", "*", "ShiftAmount", ",", "bool", "Preindexed", ",", "bool", "Postindexed", ",", "bool", "Negative", ",", "bool", "Writeback", ",", "SMLoc", "S", ",", "SMLoc", "E", ")", "{", "Op", ".", "reset", "(", "new", "ARMOperand", ")", ";", "Op", "->", "Kind", "=", "Memory", ";", "Op", "->", "Mem", ".", "BaseRegNum", "=", "BaseRegNum", ";", "Op", "->", "Mem", ".", "OffsetIsReg", "=", "OffsetIsReg", ";", "Op", "->", "Mem", ".", "Offset", "=", "Offset", ";", "Op", "->", "Mem", ".", "OffsetRegNum", "=", "OffsetRegNum", ";", "Op", "->", "Mem", ".", "OffsetRegShifted", "=", "OffsetRegShifted", ";", "Op", "->", "Mem", ".", "ShiftType", "=", "ShiftType", ";", "Op", "->", "Mem", ".", "ShiftAmount", "=", "ShiftAmount", ";", "Op", "->", "Mem", ".", "Preindexed", "=", "Preindexed", ";", "Op", "->", "Mem", ".", "Postindexed", "=", "Postindexed", ";", "Op", "->", "Mem", ".", "Negative", "=", "Negative", ";", "Op", "->", "Mem", ".", "Writeback", "=", "Writeback", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "}", ""], "natrual_language": ["Create", "a", "generalized", "memory", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmParser13", "Func": "CreateMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9665, "Length": 171} {"ground_truth": ["", "static", "void", "CreateReg", "(", "OwningPtr", "<", "ARMOperand", ">", "&", "Op", ",", "unsigned", "RegNum", ",", "bool", "Writeback", ",", "SMLoc", "S", ",", "SMLoc", "E", ")", "{", "Op", ".", "reset", "(", "new", "ARMOperand", ")", ";", "Op", "->", "Kind", "=", "Register", ";", "Op", "->", "Reg", ".", "RegNum", "=", "RegNum", ";", "Op", "->", "Reg", ".", "Writeback", "=", "Writeback", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "}", ""], "natrual_language": ["CreateReg", "-", "Allocate", "a", "single", "virtual", "register", "for", "the", "given", "type", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmParser13", "Func": "CreateReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9666, "Length": 67} {"ground_truth": ["", "unsigned", "getReg", "(", ")", "const", "{", "assert", "(", "Kind", "==", "Register", "&&", "\"Invalid access!\"", ")", ";", "return", "Reg", ".", "RegNum", ";", "}", ""], "natrual_language": ["Returns", "the", "register", "associated", "with", "this", "edge", "."], "TS_V_token": ["ARM", "\"Invalid access!\""], "File": "ARMAsmParser13", "Func": "getReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9667, "Length": 21} {"ground_truth": ["", "bool", "isReg", "(", ")", "const", "{", "return", "Kind", "==", "Register", ";", "}", ""], "natrual_language": ["isReg", "-", "Is", "this", "a", "register", "operand", "?"], "TS_V_token": ["ARM"], "File": "ARMAsmParser13", "Func": "isReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9668, "Length": 12} {"ground_truth": ["", "bool", "isToken", "(", ")", "const", "{", "return", "Kind", "==", "Token", ";", "}", ""], "natrual_language": ["isToken", "-", "Is", "this", "a", "token", "operand", "?"], "TS_V_token": ["ARM"], "File": "ARMAsmParser13", "Func": "isToken", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9669, "Length": 12} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "ParseDirective", "(", "AsmToken", "DirectiveID", ")", "{", "StringRef", "IDVal", "=", "DirectiveID", ".", "getIdentifier", "(", ")", ";", "if", "(", "IDVal", "==", "\".word\"", ")", "return", "ParseDirectiveWord", "(", "4", ",", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".thumb\"", ")", "return", "ParseDirectiveThumb", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".thumb_func\"", ")", "return", "ParseDirectiveThumbFunc", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".code\"", ")", "return", "ParseDirectiveCode", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".syntax\"", ")", "return", "ParseDirectiveSyntax", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["ParseDirective", "-", "Parse", "a", "target", "specific", "assembler", "directive", "This", "method", "is", "deprecated", ",", "use", "'parseDirective", "'", "instead", "."], "TS_V_token": ["ARM", "ARM", "\".word\"", "4", "\".thumb\"", "\".thumb_func\"", "\".code\"", "\".syntax\""], "File": "ARMAsmParser13", "Func": "ParseDirective", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9670, "Length": 108} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "ParseInstruction", "(", "const", "StringRef", "&", "Name", ",", "SMLoc", "NameLoc", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ")", "{", "OwningPtr", "<", "ARMOperand", ">", "Op", ";", "ARMOperand", "::", "CreateToken", "(", "Op", ",", "Name", ",", "NameLoc", ")", ";", "Operands", ".", "push_back", "(", "Op", ".", "take", "(", ")", ")", ";", "SMLoc", "Loc", "=", "Parser", ".", "getTok", "(", ")", ".", "getLoc", "(", ")", ";", "if", "(", "getLexer", "(", ")", ".", "isNot", "(", "AsmToken", "::", "EndOfStatement", ")", ")", "{", "OwningPtr", "<", "ARMOperand", ">", "Op", ";", "if", "(", "ParseOperand", "(", "Op", ")", ")", "return", "true", ";", "Operands", ".", "push_back", "(", "Op", ".", "take", "(", ")", ")", ";", "while", "(", "getLexer", "(", ")", ".", "is", "(", "AsmToken", "::", "Comma", ")", ")", "{", "Parser", ".", "Lex", "(", ")", ";", "if", "(", "ParseOperand", "(", "Op", ")", ")", "return", "true", ";", "Operands", ".", "push_back", "(", "Op", ".", "take", "(", ")", ")", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["ParseInstruction", "-", "Parse", "one", "assembly", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMAsmParser13", "Func": "ParseInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9671, "Length": 151} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "validateTargetOperandClass", "(", "MCParsedAsmOperand", "&", "AsmOp", ",", "unsigned", "Kind", ")", "{", "ARMOperand", "&", "Op", "=", "static_cast", "<", "ARMOperand", "&", ">", "(", "AsmOp", ")", ";", "switch", "(", "Kind", ")", "{", "default", ":", "break", ";", "case", "MCK__35_0", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", ".", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "0", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK_ModImm", ":", "if", "(", "Op", ".", "isImm", "(", ")", ")", "{", "const", "MCExpr", "*", "SOExpr", "=", "Op", ".", "getImm", "(", ")", ";", "int64_t", "Value", ";", "if", "(", "!", "SOExpr", "->", "evaluateAsAbsolute", "(", "Value", ")", ")", "return", "Match_Success", ";", "assert", "(", "(", "Value", ">=", "std", "::", "numeric_limits", "<", "int32_t", ">", "::", "min", "(", ")", "&&", "Value", "<=", "std", "::", "numeric_limits", "<", "uint32_t", ">", "::", "max", "(", ")", ")", "&&", "\"expression value must be representable in 32 bits\"", ")", ";", "}", "break", ";", "case", "MCK_rGPR", ":", "if", "(", "hasV8Ops", "(", ")", "&&", "Op", ".", "isReg", "(", ")", "&&", "Op", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK_GPRPair", ":", "if", "(", "Op", ".", "isReg", "(", ")", "&&", "MRI", "->", "getRegClass", "(", "ARM", "::", "GPRRegClassID", ")", ".", "contains", "(", "Op", ".", "getReg", "(", ")", ")", ")", "return", "Match_Success", ";", "break", ";", "}", "return", "Match_InvalidOperand", ";", "}", ""], "natrual_language": ["Allow", "a", "target", "to", "add", "special", "case", "operand", "matching", "for", "things", "that", "tblgen", "doesn't/ca", "n't", "handle", "effectively", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "\"expression value must be representable in 32 bits\"", "ARM::SP", "ARM::GPRRegClassID"], "File": "ARMAsmParser31", "Func": "validateTargetOperandClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9672, "Length": 224} {"ground_truth": ["", "void", "addExpr", "(", "MCInst", "&", "Inst", ",", "const", "MCExpr", "*", "Expr", ")", "const", "{", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Expr", ")", ")", "Inst", ".", "addOperand", "(", "MCOperand", "::", "CreateImm", "(", "CE", "->", "getValue", "(", ")", ")", ")", ";", "else", "Inst", ".", "addOperand", "(", "MCOperand", "::", "CreateExpr", "(", "Expr", ")", ")", ";", "}", ""], "natrual_language": ["Add", "a", "new", "MCExpr", "operand", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser32", "Func": "addExpr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9673, "Length": 59} {"ground_truth": ["", "void", "ARMOperand", "::", "dump", "(", "raw_ostream", "&", "OS", ")", "const", "{", "switch", "(", "Kind", ")", "{", "case", "CondCode", ":", "OS", "<<", "ARMCondCodeToString", "(", "getCondCode", "(", ")", ")", ";", "break", ";", "case", "Immediate", ":", "getImm", "(", ")", "->", "print", "(", "OS", ")", ";", "break", ";", "case", "Memory", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "Register", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "Token", ":", "OS", "<<", "\"'\"", "<<", "getToken", "(", ")", "<<", "\"'\"", ";", "break", ";", "}", "}", ""], "natrual_language": ["Dump", "the", "plan", "to", "stderr", "(", "for", "debugging", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"\"", "\"\"", "\"'\"", "\"'\""], "File": "ARMAsmParser32", "Func": "dump", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9674, "Length": 85} {"ground_truth": ["", "bool", "isImm", "(", ")", "const", "{", "return", "Kind", "==", "Immediate", ";", "}", ""], "natrual_language": ["isImm", "-", "Is", "this", "an", "immediate", "operand", "?"], "TS_V_token": ["ARM"], "File": "ARMAsmParser32", "Func": "isImm", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9675, "Length": 12} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "ParseInstruction", "(", "StringRef", "Name", ",", "SMLoc", "NameLoc", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ")", "{", "OwningPtr", "<", "ARMOperand", ">", "Op", ";", "size_t", "Start", "=", "0", ",", "Next", "=", "Name", ".", "find", "(", "'.'", ")", ";", "StringRef", "Head", "=", "Name", ".", "slice", "(", "Start", ",", "Next", ")", ";", "unsigned", "CC", "=", "StringSwitch", "<", "unsigned", ">", "(", "Head", ".", "substr", "(", "Head", ".", "size", "(", ")", "-", "2", ")", ")", ".", "Case", "(", "\"eq\"", ",", "ARMCC", "::", "EQ", ")", ".", "Case", "(", "\"ne\"", ",", "ARMCC", "::", "NE", ")", ".", "Case", "(", "\"hs\"", ",", "ARMCC", "::", "HS", ")", ".", "Case", "(", "\"lo\"", ",", "ARMCC", "::", "LO", ")", ".", "Case", "(", "\"mi\"", ",", "ARMCC", "::", "MI", ")", ".", "Case", "(", "\"pl\"", ",", "ARMCC", "::", "PL", ")", ".", "Case", "(", "\"vs\"", ",", "ARMCC", "::", "VS", ")", ".", "Case", "(", "\"vc\"", ",", "ARMCC", "::", "VC", ")", ".", "Case", "(", "\"hi\"", ",", "ARMCC", "::", "HI", ")", ".", "Case", "(", "\"ls\"", ",", "ARMCC", "::", "LS", ")", ".", "Case", "(", "\"ge\"", ",", "ARMCC", "::", "GE", ")", ".", "Case", "(", "\"lt\"", ",", "ARMCC", "::", "LT", ")", ".", "Case", "(", "\"gt\"", ",", "ARMCC", "::", "GT", ")", ".", "Case", "(", "\"le\"", ",", "ARMCC", "::", "LE", ")", ".", "Case", "(", "\"al\"", ",", "ARMCC", "::", "AL", ")", ".", "Default", "(", "~", "0U", ")", ";", "if", "(", "CC", "!=", "~", "0U", ")", "{", "Head", "=", "Head", ".", "slice", "(", "0", ",", "Head", ".", "size", "(", ")", "-", "2", ")", ";", "}", "else", "CC", "=", "ARMCC", "::", "AL", ";", "ARMOperand", "::", "CreateToken", "(", "Op", ",", "Head", ",", "NameLoc", ")", ";", "Operands", ".", "push_back", "(", "Op", ".", "take", "(", ")", ")", ";", "ARMOperand", "::", "CreateCondCode", "(", "Op", ",", "ARMCC", "::", "CondCodes", "(", "CC", ")", ",", "NameLoc", ")", ";", "Operands", ".", "push_back", "(", "Op", ".", "take", "(", ")", ")", ";", "while", "(", "Next", "!=", "StringRef", "::", "npos", ")", "{", "Start", "=", "Next", ";", "Next", "=", "Name", ".", "find", "(", "'.'", ",", "Start", "+", "1", ")", ";", "Head", "=", "Name", ".", "slice", "(", "Start", ",", "Next", ")", ";", "ARMOperand", "::", "CreateToken", "(", "Op", ",", "Head", ",", "NameLoc", ")", ";", "Operands", ".", "push_back", "(", "Op", ".", "take", "(", ")", ")", ";", "}", "if", "(", "getLexer", "(", ")", ".", "isNot", "(", "AsmToken", "::", "EndOfStatement", ")", ")", "{", "OwningPtr", "<", "ARMOperand", ">", "Op", ";", "if", "(", "ParseOperand", "(", "Op", ")", ")", "return", "true", ";", "Operands", ".", "push_back", "(", "Op", ".", "take", "(", ")", ")", ";", "while", "(", "getLexer", "(", ")", ".", "is", "(", "AsmToken", "::", "Comma", ")", ")", "{", "Parser", ".", "Lex", "(", ")", ";", "if", "(", "ParseOperand", "(", "Op", ")", ")", "return", "true", ";", "Operands", ".", "push_back", "(", "Op", ".", "take", "(", ")", ")", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["ParseInstruction", "-", "Parse", "one", "assembly", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "2", "\"eq\"", "ARMCC::EQ", "\"ne\"", "ARMCC::NE", "\"hs\"", "ARMCC::HS", "\"lo\"", "ARMCC::LO", "\"mi\"", "ARMCC::MI", "\"pl\"", "ARMCC::PL", "\"vs\"", "ARMCC::VS", "\"vc\"", "ARMCC::VC", "\"hi\"", "ARMCC::HI", "\"ls\"", "ARMCC::LS", "\"ge\"", "ARMCC::GE", "\"lt\"", "ARMCC::LT", "\"gt\"", "ARMCC::GT", "\"le\"", "ARMCC::LE", "\"al\"", "ARMCC::AL", "0U", "0U", "0", "2", "ARMCC::AL", "ARM", "ARM", "ARMCC::CondCodes", "1", "ARM", "ARM"], "File": "ARMAsmParser32", "Func": "ParseInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9676, "Length": 445} {"ground_truth": ["", "static", "ARMOperand", "*", "CreateMem", "(", "unsigned", "BaseRegNum", ",", "bool", "OffsetIsReg", ",", "const", "MCExpr", "*", "Offset", ",", "int", "OffsetRegNum", ",", "bool", "OffsetRegShifted", ",", "enum", "ARM_AM", "::", "ShiftOpc", "ShiftType", ",", "const", "MCExpr", "*", "ShiftAmount", ",", "bool", "Preindexed", ",", "bool", "Postindexed", ",", "bool", "Negative", ",", "bool", "Writeback", ",", "SMLoc", "S", ",", "SMLoc", "E", ")", "{", "assert", "(", "(", "OffsetRegNum", "==", "-", "1", "||", "OffsetIsReg", ")", "&&", "\"OffsetRegNum must imply OffsetIsReg!\"", ")", ";", "assert", "(", "(", "!", "OffsetRegShifted", "||", "OffsetIsReg", ")", "&&", "\"OffsetRegShifted must imply OffsetIsReg!\"", ")", ";", "assert", "(", "(", "Offset", "||", "OffsetIsReg", ")", "&&", "\"Offset must exists unless register offset is used!\"", ")", ";", "assert", "(", "(", "!", "ShiftAmount", "||", "(", "OffsetIsReg", "&&", "OffsetRegShifted", ")", ")", "&&", "\"Cannot have shift amount without shifted register offset!\"", ")", ";", "assert", "(", "(", "!", "Offset", "||", "!", "OffsetIsReg", ")", "&&", "\"Cannot have expression offset and register offset!\"", ")", ";", "ARMOperand", "*", "Op", "=", "new", "ARMOperand", "(", "Memory", ")", ";", "Op", "->", "Mem", ".", "BaseRegNum", "=", "BaseRegNum", ";", "Op", "->", "Mem", ".", "OffsetIsReg", "=", "OffsetIsReg", ";", "if", "(", "OffsetIsReg", ")", "Op", "->", "Mem", ".", "Offset", ".", "RegNum", "=", "OffsetRegNum", ";", "else", "Op", "->", "Mem", ".", "Offset", ".", "Value", "=", "Offset", ";", "Op", "->", "Mem", ".", "OffsetRegShifted", "=", "OffsetRegShifted", ";", "Op", "->", "Mem", ".", "ShiftType", "=", "ShiftType", ";", "Op", "->", "Mem", ".", "ShiftAmount", "=", "ShiftAmount", ";", "Op", "->", "Mem", ".", "Preindexed", "=", "Preindexed", ";", "Op", "->", "Mem", ".", "Postindexed", "=", "Postindexed", ";", "Op", "->", "Mem", ".", "Negative", "=", "Negative", ";", "Op", "->", "Mem", ".", "Writeback", "=", "Writeback", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "return", "Op", ";", "}", ""], "natrual_language": ["Create", "a", "generalized", "memory", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::ShiftOpc", "1", "\"OffsetRegNum must imply OffsetIsReg!\"", "\"OffsetRegShifted must imply OffsetIsReg!\"", "\"Offset must exists unless register offset is used!\"", "\"Cannot have shift amount without shifted register offset!\"", "\"Cannot have expression offset and register offset!\"", "ARM", "ARM"], "File": "ARMAsmParser35", "Func": "CreateMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9677, "Length": 241} {"ground_truth": ["", "static", "ARMOperand", "*", "CreateReg", "(", "unsigned", "RegNum", ",", "SMLoc", "S", ",", "SMLoc", "E", ")", "{", "ARMOperand", "*", "Op", "=", "new", "ARMOperand", "(", "Register", ")", ";", "Op", "->", "Reg", ".", "RegNum", "=", "RegNum", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "return", "Op", ";", "}", ""], "natrual_language": ["CreateReg", "-", "Allocate", "a", "single", "virtual", "register", "for", "the", "given", "type", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMAsmParser35", "Func": "CreateReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9678, "Length": 49} {"ground_truth": ["", "void", "ARMOperand", "::", "dump", "(", "raw_ostream", "&", "OS", ")", "const", "{", "switch", "(", "Kind", ")", "{", "case", "CondCode", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "CCOut", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "CoprocNum", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "CoprocReg", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "MSRMask", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "Immediate", ":", "getImm", "(", ")", "->", "print", "(", "OS", ")", ";", "break", ";", "case", "MemBarrierOpt", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "Memory", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "ProcIFlags", ":", "{", "OS", "<<", "\"=", "0", ";", "--", "i", ")", "if", "(", "IFlags", "&", "(", "1", "<<", "i", ")", ")", "OS", "<<", "ARM_PROC", "::", "IFlagsToString", "(", "1", "<<", "i", ")", ";", "OS", "<<", "\">\"", ";", "break", ";", "}", "case", "Register", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "Shifter", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "RegisterList", ":", "case", "DPRRegisterList", ":", "case", "SPRRegisterList", ":", "{", "OS", "<<", "\"", "&", "RegList", "=", "getRegList", "(", ")", ";", "for", "(", "SmallVectorImpl", "<", "unsigned", ">", "::", "const_iterator", "I", "=", "RegList", ".", "begin", "(", ")", ",", "E", "=", "RegList", ".", "end", "(", ")", ";", "I", "!=", "E", ";", ")", "{", "OS", "<<", "*", "I", ";", "if", "(", "++", "I", "<", "E", ")", "OS", "<<", "\", \"", ";", "}", "OS", "<<", "\">\"", ";", "break", ";", "}", "case", "Token", ":", "OS", "<<", "\"'\"", "<<", "getToken", "(", ")", "<<", "\"'\"", ";", "break", ";", "}", "}", ""], "natrual_language": ["Dump", "the", "plan", "to", "stderr", "(", "for", "debugging", ")", "."], "TS_V_token": ["ARM", "ARM", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"'\"", "\"'\""], "File": "ARMAsmParser35", "Func": "dump", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9679, "Length": 435} {"ground_truth": ["", "unsigned", "getReg", "(", ")", "const", "{", "assert", "(", "(", "Kind", "==", "Register", "||", "Kind", "==", "CCOut", ")", "&&", "\"Invalid access!\"", ")", ";", "return", "Reg", ".", "RegNum", ";", "}", ""], "natrual_language": ["Returns", "the", "register", "associated", "with", "this", "edge", "."], "TS_V_token": ["ARM", "\"Invalid access!\""], "File": "ARMAsmParser35", "Func": "getReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9680, "Length": 27} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "ParseInstruction", "(", "StringRef", "Name", ",", "SMLoc", "NameLoc", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ")", "{", "size_t", "Start", "=", "0", ",", "Next", "=", "Name", ".", "find", "(", "'.'", ")", ";", "StringRef", "Head", "=", "Name", ".", "slice", "(", "Start", ",", "Next", ")", ";", "unsigned", "PredicationCode", ";", "unsigned", "ProcessorIMod", ";", "bool", "CarrySetting", ";", "Head", "=", "SplitMnemonic", "(", "Head", ",", "PredicationCode", ",", "CarrySetting", ",", "ProcessorIMod", ")", ";", "Operands", ".", "push_back", "(", "ARMOperand", "::", "CreateToken", "(", "Head", ",", "NameLoc", ")", ")", ";", "bool", "CanAcceptCarrySet", ",", "CanAcceptPredicationCode", ";", "GetMnemonicAcceptInfo", "(", "Head", ",", "CanAcceptCarrySet", ",", "CanAcceptPredicationCode", ")", ";", "if", "(", "CanAcceptCarrySet", ")", "{", "Operands", ".", "push_back", "(", "ARMOperand", "::", "CreateCCOut", "(", "CarrySetting", "?", "ARM", "::", "CPSR", ":", "0", ",", "NameLoc", ")", ")", ";", "}", "else", "{", "}", "if", "(", "CanAcceptPredicationCode", ")", "{", "Operands", ".", "push_back", "(", "ARMOperand", "::", "CreateCondCode", "(", "ARMCC", "::", "CondCodes", "(", "PredicationCode", ")", ",", "NameLoc", ")", ")", ";", "}", "else", "{", "}", "if", "(", "ProcessorIMod", ")", "{", "Operands", ".", "push_back", "(", "ARMOperand", "::", "CreateImm", "(", "MCConstantExpr", "::", "Create", "(", "ProcessorIMod", ",", "getContext", "(", ")", ")", ",", "NameLoc", ",", "NameLoc", ")", ")", ";", "}", "else", "{", "}", "while", "(", "Next", "!=", "StringRef", "::", "npos", ")", "{", "Start", "=", "Next", ";", "Next", "=", "Name", ".", "find", "(", "'.'", ",", "Start", "+", "1", ")", ";", "StringRef", "ExtraToken", "=", "Name", ".", "slice", "(", "Start", ",", "Next", ")", ";", "Operands", ".", "push_back", "(", "ARMOperand", "::", "CreateToken", "(", "ExtraToken", ",", "NameLoc", ")", ")", ";", "}", "if", "(", "getLexer", "(", ")", ".", "isNot", "(", "AsmToken", "::", "EndOfStatement", ")", ")", "{", "if", "(", "ParseOperand", "(", "Operands", ",", "Head", ")", ")", "{", "Parser", ".", "EatToEndOfStatement", "(", ")", ";", "return", "true", ";", "}", "while", "(", "getLexer", "(", ")", ".", "is", "(", "AsmToken", "::", "Comma", ")", ")", "{", "Parser", ".", "Lex", "(", ")", ";", "if", "(", "ParseOperand", "(", "Operands", ",", "Head", ")", ")", "{", "Parser", ".", "EatToEndOfStatement", "(", ")", ";", "return", "true", ";", "}", "}", "}", "if", "(", "getLexer", "(", ")", ".", "isNot", "(", "AsmToken", "::", "EndOfStatement", ")", ")", "{", "Parser", ".", "EatToEndOfStatement", "(", ")", ";", "return", "TokError", "(", "\"unexpected token in argument list\"", ")", ";", "}", "Parser", ".", "Lex", "(", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["ParseInstruction", "-", "Parse", "one", "assembly", "instruction", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM", "ARM", "ARM::CPSR", "0", "ARM", "ARMCC::CondCodes", "ARM", "1", "ARM", "\"unexpected token in argument list\""], "File": "ARMAsmParser35", "Func": "ParseInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9681, "Length": 353} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ",", "MCStreamer", "&", "Out", ")", "{", "MCInst", "Inst", ";", "unsigned", "ErrorInfo", ";", "unsigned", "MatchResult", ";", "MatchResult", "=", "MatchInstructionImpl", "(", "Operands", ",", "Inst", ",", "ErrorInfo", ")", ";", "switch", "(", "MatchResult", ")", "{", "default", ":", "break", ";", "case", "Match_Success", ":", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ")", ")", ";", "forwardITPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "Out", ".", "EmitInstruction", "(", "Inst", ")", ";", "return", "false", ";", "case", "Match_MissingFeature", ":", "{", "assert", "(", "ErrorInfo", "&&", "\"Unknown missing feature!\"", ")", ";", "std", "::", "string", "Msg", "=", "\"instruction requires:\"", ";", "unsigned", "Mask", "=", "1", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "(", "sizeof", "(", "ErrorInfo", ")", "*", "8", "-", "1", ")", ";", "++", "i", ")", "{", "if", "(", "ErrorInfo", "&", "Mask", ")", "{", "Msg", "+=", "\" \"", ";", "Msg", "+=", "getSubtargetFeatureName", "(", "ErrorInfo", "&", "Mask", ")", ";", "}", "Mask", "<<=", "1", ";", "}", "return", "Error", "(", "IDLoc", ",", "Msg", ")", ";", "}", "case", "Match_InvalidOperand", ":", "{", "SMLoc", "ErrorLoc", "=", "IDLoc", ";", "if", "(", "ErrorInfo", "!=", "~", "0U", ")", "{", "if", "(", "ErrorInfo", ">=", "Operands", ".", "size", "(", ")", ")", "return", "Error", "(", "IDLoc", ",", "\"too few operands for instruction\"", ")", ";", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "}", "return", "Error", "(", "ErrorLoc", ",", "\"invalid operand for instruction\"", ")", ";", "}", "case", "Match_MnemonicFail", ":", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", ",", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "0", "]", ")", "->", "getLocRange", "(", ")", ")", ";", "case", "Match_ConversionFail", ":", "return", "true", ";", "case", "Match_RequiresNotITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"flag setting instruction only valid outside IT block\"", ")", ";", "case", "Match_RequiresITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction only valid inside IT block\"", ")", ";", "case", "Match_RequiresV6", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires ARMv6 or later\"", ")", ";", "case", "Match_RequiresThumb2", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires Thumb2\"", ")", ";", "case", "Match_ImmRange0_15", ":", "{", "SMLoc", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "return", "Error", "(", "ErrorLoc", ",", "\"immediate operand must be in the range [0,15]\"", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "ARM::ITasm", "\"Unknown missing feature!\"", "\"instruction requires:\"", "1", "0", "8", "1", "\" \"", "1", "0U", "\"too few operands for instruction\"", "ARM", "\"invalid operand for instruction\"", "\"invalid instruction\"", "ARM", "0", "\"flag setting instruction only valid outside IT block\"", "\"instruction only valid inside IT block\"", "\"instruction variant requires ARMv6 or later\"", "\"instruction variant requires Thumb2\"", "ARM", "\"immediate operand must be in the range [0,15]\"", "\"Implement any new match types added!\""], "File": "ARMAsmParser39", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9682, "Length": 399} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "unsigned", "&", "Opcode", ",", "OperandVector", "&", "Operands", ",", "MCStreamer", "&", "Out", ",", "uint64_t", "&", "ErrorInfo", ",", "bool", "MatchingInlineAsm", ")", "{", "MCInst", "Inst", ";", "unsigned", "MatchResult", ";", "bool", "PendConditionalInstruction", "=", "false", ";", "SmallVector", "<", "NearMissInfo", ",", "4", ">", "NearMisses", ";", "MatchResult", "=", "MatchInstruction", "(", "Operands", ",", "Inst", ",", "NearMisses", ",", "MatchingInlineAsm", ",", "PendConditionalInstruction", ",", "Out", ")", ";", "switch", "(", "MatchResult", ")", "{", "case", "Match_Success", ":", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Parsed as: \"", ";", "Inst", ".", "dump_pretty", "(", "dbgs", "(", ")", ",", "MII", ".", "getName", "(", "Inst", ".", "getOpcode", "(", ")", ")", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "{", "bool", "wasInITBlock", "=", "inITBlock", "(", ")", ";", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ",", "Out", ")", ")", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Changed to: \"", ";", "Inst", ".", "dump_pretty", "(", "dbgs", "(", ")", ",", "MII", ".", "getName", "(", "Inst", ".", "getOpcode", "(", ")", ")", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "wasInITBlock", "&&", "hasV8Ops", "(", ")", "&&", "isThumb", "(", ")", "&&", "!", "isV8EligibleForIT", "(", "&", "Inst", ")", ")", "{", "Warning", "(", "IDLoc", ",", "\"deprecated instruction in IT block\"", ")", ";", "}", "}", "forwardITPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "if", "(", "PendConditionalInstruction", ")", "{", "PendingConditionalInsts", ".", "push_back", "(", "Inst", ")", ";", "if", "(", "isITBlockFull", "(", ")", "||", "isITBlockTerminator", "(", "Inst", ")", ")", "flushPendingInstructions", "(", "Out", ")", ";", "}", "else", "{", "Out", ".", "EmitInstruction", "(", "Inst", ",", "getSTI", "(", ")", ")", ";", "}", "return", "false", ";", "case", "Match_NearMisses", ":", "ReportNearMisses", "(", "NearMisses", ",", "IDLoc", ",", "Operands", ")", ";", "return", "true", ";", "case", "Match_MnemonicFail", ":", "{", "uint64_t", "FBS", "=", "ComputeAvailableFeatures", "(", "getSTI", "(", ")", ".", "getFeatureBits", "(", ")", ")", ";", "std", "::", "string", "Suggestion", "=", "ARMMnemonicSpellCheck", "(", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getToken", "(", ")", ",", "FBS", ")", ";", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", "+", "Suggestion", ",", "(", "(", "ARMOperand", "&", ")", "*", "Operands", "[", "0", "]", ")", ".", "getLocRange", "(", ")", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "4", "\"Parsed as: \"", "\"\\n\"", "\"Changed to: \"", "\"\\n\"", "\"deprecated instruction in IT block\"", "ARM::ITasm", "ARM", "ARM", "0", "\"invalid instruction\"", "ARM", "0", "\"Implement any new match types added!\""], "File": "ARMAsmParser40", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9683, "Length": 373} {"ground_truth": ["", "static", "ARMOperand", "*", "CreateMem", "(", "unsigned", "BaseRegNum", ",", "bool", "OffsetIsReg", ",", "const", "MCExpr", "*", "Offset", ",", "unsigned", "OffsetRegNum", ",", "bool", "OffsetRegShifted", ",", "enum", "ShiftType", "ShiftType", ",", "const", "MCExpr", "*", "ShiftAmount", ",", "bool", "Preindexed", ",", "bool", "Postindexed", ",", "bool", "Negative", ",", "bool", "Writeback", ",", "SMLoc", "S", ",", "SMLoc", "E", ")", "{", "ARMOperand", "*", "Op", "=", "new", "ARMOperand", "(", "Memory", ")", ";", "Op", "->", "Mem", ".", "BaseRegNum", "=", "BaseRegNum", ";", "Op", "->", "Mem", ".", "OffsetIsReg", "=", "OffsetIsReg", ";", "Op", "->", "Mem", ".", "Offset", "=", "Offset", ";", "Op", "->", "Mem", ".", "OffsetRegNum", "=", "OffsetRegNum", ";", "Op", "->", "Mem", ".", "OffsetRegShifted", "=", "OffsetRegShifted", ";", "Op", "->", "Mem", ".", "ShiftType", "=", "ShiftType", ";", "Op", "->", "Mem", ".", "ShiftAmount", "=", "ShiftAmount", ";", "Op", "->", "Mem", ".", "Preindexed", "=", "Preindexed", ";", "Op", "->", "Mem", ".", "Postindexed", "=", "Postindexed", ";", "Op", "->", "Mem", ".", "Negative", "=", "Negative", ";", "Op", "->", "Mem", ".", "Writeback", "=", "Writeback", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "return", "Op", ";", "}", ""], "natrual_language": ["Create", "a", "generalized", "memory", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMAsmParser46", "Func": "CreateMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9684, "Length": 164} {"ground_truth": ["", "void", "ARMOperand", "::", "dump", "(", "raw_ostream", "&", "OS", ")", "const", "{", "switch", "(", "Kind", ")", "{", "case", "CondCode", ":", "OS", "<<", "ARMCondCodeToString", "(", "getCondCode", "(", ")", ")", ";", "break", ";", "case", "CCOut", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "Immediate", ":", "getImm", "(", ")", "->", "print", "(", "OS", ")", ";", "break", ";", "case", "Memory", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "Register", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "RegisterList", ":", "case", "DPRRegisterList", ":", "case", "SPRRegisterList", ":", "{", "OS", "<<", "\"", "&", "RegList", "=", "getRegList", "(", ")", ";", "for", "(", "SmallVectorImpl", "<", "unsigned", ">", "::", "const_iterator", "I", "=", "RegList", ".", "begin", "(", ")", ",", "E", "=", "RegList", ".", "end", "(", ")", ";", "I", "!=", "E", ";", ")", "{", "OS", "<<", "*", "I", ";", "if", "(", "++", "I", "<", "E", ")", "OS", "<<", "\", \"", ";", "}", "OS", "<<", "\">\"", ";", "break", ";", "}", "case", "Token", ":", "OS", "<<", "\"'\"", "<<", "getToken", "(", ")", "<<", "\"'\"", ";", "break", ";", "}", "}", ""], "natrual_language": ["Dump", "the", "plan", "to", "stderr", "(", "for", "debugging", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"\"", "\"\"", "\"\"", "\"\"", "\"'\"", "\"'\""], "File": "ARMAsmParser46", "Func": "dump", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9685, "Length": 180} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "ParseInstruction", "(", "StringRef", "Name", ",", "SMLoc", "NameLoc", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ")", "{", "size_t", "Start", "=", "0", ",", "Next", "=", "Name", ".", "find", "(", "'.'", ")", ";", "StringRef", "Head", "=", "Name", ".", "slice", "(", "Start", ",", "Next", ")", ";", "unsigned", "CC", "=", "StringSwitch", "<", "unsigned", ">", "(", "Head", ".", "substr", "(", "Head", ".", "size", "(", ")", "-", "2", ")", ")", ".", "Case", "(", "\"eq\"", ",", "ARMCC", "::", "EQ", ")", ".", "Case", "(", "\"ne\"", ",", "ARMCC", "::", "NE", ")", ".", "Case", "(", "\"hs\"", ",", "ARMCC", "::", "HS", ")", ".", "Case", "(", "\"lo\"", ",", "ARMCC", "::", "LO", ")", ".", "Case", "(", "\"mi\"", ",", "ARMCC", "::", "MI", ")", ".", "Case", "(", "\"pl\"", ",", "ARMCC", "::", "PL", ")", ".", "Case", "(", "\"vs\"", ",", "ARMCC", "::", "VS", ")", ".", "Case", "(", "\"vc\"", ",", "ARMCC", "::", "VC", ")", ".", "Case", "(", "\"hi\"", ",", "ARMCC", "::", "HI", ")", ".", "Case", "(", "\"ls\"", ",", "ARMCC", "::", "LS", ")", ".", "Case", "(", "\"ge\"", ",", "ARMCC", "::", "GE", ")", ".", "Case", "(", "\"lt\"", ",", "ARMCC", "::", "LT", ")", ".", "Case", "(", "\"gt\"", ",", "ARMCC", "::", "GT", ")", ".", "Case", "(", "\"le\"", ",", "ARMCC", "::", "LE", ")", ".", "Case", "(", "\"al\"", ",", "ARMCC", "::", "AL", ")", ".", "Default", "(", "~", "0U", ")", ";", "if", "(", "CC", "==", "~", "0U", "||", "(", "CC", "==", "ARMCC", "::", "LS", "&&", "(", "Head", "==", "\"vmls\"", "||", "Head", "==", "\"vnmls\"", ")", ")", ")", "{", "CC", "=", "ARMCC", "::", "AL", ";", "}", "else", "{", "Head", "=", "Head", ".", "slice", "(", "0", ",", "Head", ".", "size", "(", ")", "-", "2", ")", ";", "}", "Operands", ".", "push_back", "(", "ARMOperand", "::", "CreateToken", "(", "Head", ",", "NameLoc", ")", ")", ";", "if", "(", "Head", "!=", "\"trap\"", ")", "Operands", ".", "push_back", "(", "ARMOperand", "::", "CreateCondCode", "(", "ARMCC", "::", "CondCodes", "(", "CC", ")", ",", "NameLoc", ")", ")", ";", "while", "(", "Next", "!=", "StringRef", "::", "npos", ")", "{", "Start", "=", "Next", ";", "Next", "=", "Name", ".", "find", "(", "'.'", ",", "Start", "+", "1", ")", ";", "Head", "=", "Name", ".", "slice", "(", "Start", ",", "Next", ")", ";", "Operands", ".", "push_back", "(", "ARMOperand", "::", "CreateToken", "(", "Head", ",", "NameLoc", ")", ")", ";", "}", "if", "(", "getLexer", "(", ")", ".", "isNot", "(", "AsmToken", "::", "EndOfStatement", ")", ")", "{", "if", "(", "ParseOperand", "(", "Operands", ")", ")", "{", "Parser", ".", "EatToEndOfStatement", "(", ")", ";", "return", "true", ";", "}", "while", "(", "getLexer", "(", ")", ".", "is", "(", "AsmToken", "::", "Comma", ")", ")", "{", "Parser", ".", "Lex", "(", ")", ";", "if", "(", "ParseOperand", "(", "Operands", ")", ")", "{", "Parser", ".", "EatToEndOfStatement", "(", ")", ";", "return", "true", ";", "}", "}", "}", "if", "(", "getLexer", "(", ")", ".", "isNot", "(", "AsmToken", "::", "EndOfStatement", ")", ")", "{", "Parser", ".", "EatToEndOfStatement", "(", ")", ";", "return", "TokError", "(", "\"unexpected token in argument list\"", ")", ";", "}", "Parser", ".", "Lex", "(", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["ParseInstruction", "-", "Parse", "one", "assembly", "instruction", "."], "TS_V_token": ["ARM", "ARM", "0", "2", "\"eq\"", "ARMCC::EQ", "\"ne\"", "ARMCC::NE", "\"hs\"", "ARMCC::HS", "\"lo\"", "ARMCC::LO", "\"mi\"", "ARMCC::MI", "\"pl\"", "ARMCC::PL", "\"vs\"", "ARMCC::VS", "\"vc\"", "ARMCC::VC", "\"hi\"", "ARMCC::HI", "\"ls\"", "ARMCC::LS", "\"ge\"", "ARMCC::GE", "\"lt\"", "ARMCC::LT", "\"gt\"", "ARMCC::GT", "\"le\"", "ARMCC::LE", "\"al\"", "ARMCC::AL", "0U", "0U", "ARMCC::LS", "\"vmls\"", "\"vnmls\"", "ARMCC::AL", "0", "2", "ARM", "\"trap\"", "ARM", "ARMCC::CondCodes", "1", "ARM", "\"unexpected token in argument list\""], "File": "ARMAsmParser46", "Func": "ParseInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9686, "Length": 462} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "checkTargetMatchPredicate", "(", "MCInst", "&", "Inst", ")", "{", "unsigned", "Opc", "=", "Inst", ".", "getOpcode", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MII", ".", "get", "(", "Opc", ")", ";", "if", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "ThumbArithFlagSetting", ")", "{", "assert", "(", "MCID", ".", "hasOptionalDef", "(", ")", "&&", "\"optionally flag setting instruction missing optional def operand\"", ")", ";", "assert", "(", "MCID", ".", "NumOperands", "==", "Inst", ".", "getNumOperands", "(", ")", "&&", "\"operand count mismatch!\"", ")", ";", "unsigned", "OpNo", ";", "for", "(", "OpNo", "=", "0", ";", "!", "MCID", ".", "OpInfo", "[", "OpNo", "]", ".", "isOptionalDef", "(", ")", "&&", "OpNo", "<", "MCID", ".", "NumOperands", ";", "++", "OpNo", ")", ";", "if", "(", "isThumbOne", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "Match_RequiresFlagSetting", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", "&&", "!", "inITBlock", "(", ")", ")", "return", "Match_RequiresITBlock", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", "&&", "inITBlock", "(", ")", ")", "return", "Match_RequiresNotITBlock", ";", "}", "else", "if", "(", "isThumbOne", "(", ")", ")", "{", "if", "(", "Opc", "==", "ARM", "::", "tADDhirr", "&&", "!", "hasV6MOps", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresThumb2", ";", "else", "if", "(", "Opc", "==", "ARM", "::", "tMOVr", "&&", "!", "hasV6Ops", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresV6", ";", "}", "for", "(", "unsigned", "I", "=", "0", ";", "I", "<", "MCID", ".", "NumOperands", ";", "++", "I", ")", "if", "(", "MCID", ".", "OpInfo", "[", "I", "]", ".", "RegClass", "==", "ARM", "::", "rGPRRegClassID", ")", "{", "if", "(", "(", "Inst", ".", "getOperand", "(", "I", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "&&", "!", "hasV8Ops", "(", ")", ")", "return", "Match_RequiresV8", ";", "else", "if", "(", "Inst", ".", "getOperand", "(", "I", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "PC", ")", "return", "Match_InvalidOperand", ";", "}", "return", "Match_Success", ";", "}", ""], "natrual_language": ["checkTargetMatchPredicate", "-", "Validate", "the", "instruction", "match", "against", "any", "complex", "target", "predicates", "not", "expressible", "via", "match", "classes", "."], "TS_V_token": ["ARM", "ARM", "ARMII::ThumbArithFlagSetting", "\"optionally flag setting instruction missing optional def operand\"", "\"operand count mismatch!\"", "0", "ARM::CPSR", "ARM::CPSR", "ARM::CPSR", "ARM::tADDhirr", "ARM", "1", "ARM", "2", "ARM::tMOVr", "ARM", "0", "ARM", "1", "0", "ARM::rGPRRegClassID", "ARM::SP", "ARM::PC"], "File": "ARMAsmParser47", "Func": "checkTargetMatchPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9687, "Length": 364} {"ground_truth": ["", "void", "flushPendingInstructions", "(", "MCStreamer", "&", "Out", ")", "override", "{", "if", "(", "!", "inImplicitITBlock", "(", ")", ")", "{", "assert", "(", "PendingConditionalInsts", ".", "size", "(", ")", "==", "0", ")", ";", "return", ";", "}", "unsigned", "Mask", "=", "getITMaskEncoding", "(", ")", ";", "MCInst", "ITInst", ";", "ITInst", ".", "setOpcode", "(", "ARM", "::", "t2IT", ")", ";", "ITInst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "ITState", ".", "Cond", ")", ")", ";", "ITInst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "Mask", ")", ")", ";", "Out", ".", "EmitInstruction", "(", "ITInst", ",", "getSTI", "(", ")", ")", ";", "assert", "(", "PendingConditionalInsts", ".", "size", "(", ")", "<=", "4", ")", ";", "for", "(", "MCInst", "Inst", ":", "PendingConditionalInsts", ")", "{", "Out", ".", "EmitInstruction", "(", "Inst", ",", "getSTI", "(", ")", ")", ";", "}", "PendingConditionalInsts", ".", "clear", "(", ")", ";", "ITState", ".", "Mask", "=", "0", ";", "ITState", ".", "CurPosition", "=", "~", "0U", ";", "}", ""], "natrual_language": ["Ensure", "that", "all", "previously", "parsed", "instructions", "have", "been", "emitted", "to", "the", "output", "streamer", ",", "if", "the", "target", "does", "not", "emit", "them", "immediately", "."], "TS_V_token": ["ARM", "0", "ARM::t2IT", "4", "0", "0U"], "File": "ARMAsmParser5", "Func": "flushPendingInstructions", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9688, "Length": 138} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "checkTargetMatchPredicate", "(", "MCInst", "&", "Inst", ")", "{", "unsigned", "Opc", "=", "Inst", ".", "getOpcode", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MII", ".", "get", "(", "Opc", ")", ";", "if", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "ThumbArithFlagSetting", ")", "{", "assert", "(", "MCID", ".", "hasOptionalDef", "(", ")", "&&", "\"optionally flag setting instruction missing optional def operand\"", ")", ";", "assert", "(", "MCID", ".", "NumOperands", "==", "Inst", ".", "getNumOperands", "(", ")", "&&", "\"operand count mismatch!\"", ")", ";", "unsigned", "OpNo", ";", "for", "(", "OpNo", "=", "0", ";", "!", "MCID", ".", "OpInfo", "[", "OpNo", "]", ".", "isOptionalDef", "(", ")", "&&", "OpNo", "<", "MCID", ".", "NumOperands", ";", "++", "OpNo", ")", ";", "if", "(", "isThumbOne", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "Match_RequiresFlagSetting", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", "&&", "!", "inITBlock", "(", ")", ")", "return", "Match_RequiresITBlock", ";", "if", "(", "isThumbTwo", "(", ")", "&&", "Inst", ".", "getOperand", "(", "OpNo", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", "&&", "inITBlock", "(", ")", ")", "return", "Match_RequiresNotITBlock", ";", "}", "else", "if", "(", "isThumbOne", "(", ")", ")", "{", "if", "(", "Opc", "==", "ARM", "::", "tADDhirr", "&&", "!", "hasV6MOps", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresThumb2", ";", "else", "if", "(", "Opc", "==", "ARM", "::", "tMOVr", "&&", "!", "hasV6Ops", "(", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "isARMLowRegister", "(", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "return", "Match_RequiresV6", ";", "}", "if", "(", "Opc", "==", "ARM", "::", "t2MOVr", "&&", "!", "hasV8Ops", "(", ")", ")", "{", "if", "(", "Inst", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", "&&", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "return", "Match_RequiresV8", ";", "if", "(", "Inst", ".", "getOperand", "(", "4", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", "&&", "(", "Inst", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", "||", "Inst", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", ")", "return", "Match_RequiresV8", ";", "}", "for", "(", "unsigned", "I", "=", "0", ";", "I", "<", "MCID", ".", "NumOperands", ";", "++", "I", ")", "if", "(", "MCID", ".", "OpInfo", "[", "I", "]", ".", "RegClass", "==", "ARM", "::", "rGPRRegClassID", ")", "{", "if", "(", "(", "Inst", ".", "getOperand", "(", "I", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "&&", "!", "hasV8Ops", "(", ")", ")", "return", "Match_RequiresV8", ";", "else", "if", "(", "Inst", ".", "getOperand", "(", "I", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "PC", ")", "return", "Match_InvalidOperand", ";", "}", "return", "Match_Success", ";", "}", ""], "natrual_language": ["checkTargetMatchPredicate", "-", "Validate", "the", "instruction", "match", "against", "any", "complex", "target", "predicates", "not", "expressible", "via", "match", "classes", "."], "TS_V_token": ["ARM", "ARM", "ARMII::ThumbArithFlagSetting", "\"optionally flag setting instruction missing optional def operand\"", "\"operand count mismatch!\"", "0", "ARM::CPSR", "ARM::CPSR", "ARM::CPSR", "ARM::tADDhirr", "ARM", "1", "ARM", "2", "ARM::tMOVr", "ARM", "0", "ARM", "1", "ARM::t2MOVr", "0", "ARM::SP", "1", "ARM::SP", "4", "ARM::CPSR", "0", "ARM::SP", "1", "ARM::SP", "0", "ARM::rGPRRegClassID", "ARM::SP", "ARM::PC"], "File": "ARMAsmParser64", "Func": "checkTargetMatchPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9689, "Length": 466} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ",", "MCStreamer", "&", "Out", ")", "{", "MCInst", "Inst", ";", "unsigned", "Kind", ";", "unsigned", "ErrorInfo", ";", "unsigned", "MatchResult", ";", "SmallVector", "<", "std", "::", "pair", "<", "unsigned", ",", "std", "::", "string", ">", ",", "4", ">", "MapAndConstraints", ";", "MatchResult", "=", "MatchInstructionImpl", "(", "Operands", ",", "Kind", ",", "Inst", ",", "MapAndConstraints", ",", "ErrorInfo", ",", "false", ")", ";", "switch", "(", "MatchResult", ")", "{", "default", ":", "break", ";", "case", "Match_Success", ":", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ")", ")", ";", "forwardITPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "Out", ".", "EmitInstruction", "(", "Inst", ")", ";", "return", "false", ";", "case", "Match_MissingFeature", ":", "{", "assert", "(", "ErrorInfo", "&&", "\"Unknown missing feature!\"", ")", ";", "std", "::", "string", "Msg", "=", "\"instruction requires:\"", ";", "unsigned", "Mask", "=", "1", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "(", "sizeof", "(", "ErrorInfo", ")", "*", "8", "-", "1", ")", ";", "++", "i", ")", "{", "if", "(", "ErrorInfo", "&", "Mask", ")", "{", "Msg", "+=", "\" \"", ";", "Msg", "+=", "getSubtargetFeatureName", "(", "ErrorInfo", "&", "Mask", ")", ";", "}", "Mask", "<<=", "1", ";", "}", "return", "Error", "(", "IDLoc", ",", "Msg", ")", ";", "}", "case", "Match_InvalidOperand", ":", "{", "SMLoc", "ErrorLoc", "=", "IDLoc", ";", "if", "(", "ErrorInfo", "!=", "~", "0U", ")", "{", "if", "(", "ErrorInfo", ">=", "Operands", ".", "size", "(", ")", ")", "return", "Error", "(", "IDLoc", ",", "\"too few operands for instruction\"", ")", ";", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "}", "return", "Error", "(", "ErrorLoc", ",", "\"invalid operand for instruction\"", ")", ";", "}", "case", "Match_MnemonicFail", ":", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", ",", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "0", "]", ")", "->", "getLocRange", "(", ")", ")", ";", "case", "Match_RequiresNotITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"flag setting instruction only valid outside IT block\"", ")", ";", "case", "Match_RequiresITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction only valid inside IT block\"", ")", ";", "case", "Match_RequiresV6", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires ARMv6 or later\"", ")", ";", "case", "Match_RequiresThumb2", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires Thumb2\"", ")", ";", "case", "Match_ImmRange0_15", ":", "{", "SMLoc", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "return", "Error", "(", "ErrorLoc", ",", "\"immediate operand must be in the range [0,15]\"", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "4", "ARM::ITasm", "\"Unknown missing feature!\"", "\"instruction requires:\"", "1", "0", "8", "1", "\" \"", "1", "0U", "\"too few operands for instruction\"", "ARM", "\"invalid operand for instruction\"", "\"invalid instruction\"", "ARM", "0", "\"flag setting instruction only valid outside IT block\"", "\"instruction only valid inside IT block\"", "\"instruction variant requires ARMv6 or later\"", "\"instruction variant requires Thumb2\"", "ARM", "\"immediate operand must be in the range [0,15]\"", "\"Implement any new match types added!\""], "File": "ARMAsmParser65", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9690, "Length": 419} {"ground_truth": ["", "static", "ARMOperand", "*", "CreateMem", "(", "unsigned", "BaseRegNum", ",", "const", "MCConstantExpr", "*", "OffsetImm", ",", "unsigned", "OffsetRegNum", ",", "ARM_AM", "::", "ShiftOpc", "ShiftType", ",", "unsigned", "ShiftImm", ",", "unsigned", "Alignment", ",", "bool", "isNegative", ",", "SMLoc", "S", ",", "SMLoc", "E", ",", "SMLoc", "AlignmentLoc", "=", "SMLoc", "(", ")", ")", "{", "ARMOperand", "*", "Op", "=", "new", "ARMOperand", "(", "k_Memory", ")", ";", "Op", "->", "Memory", ".", "BaseRegNum", "=", "BaseRegNum", ";", "Op", "->", "Memory", ".", "OffsetImm", "=", "OffsetImm", ";", "Op", "->", "Memory", ".", "OffsetRegNum", "=", "OffsetRegNum", ";", "Op", "->", "Memory", ".", "ShiftType", "=", "ShiftType", ";", "Op", "->", "Memory", ".", "ShiftImm", "=", "ShiftImm", ";", "Op", "->", "Memory", ".", "Alignment", "=", "Alignment", ";", "Op", "->", "Memory", ".", "isNegative", "=", "isNegative", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "Op", "->", "AlignmentLoc", "=", "AlignmentLoc", ";", "return", "Op", ";", "}", ""], "natrual_language": ["Create", "a", "generalized", "memory", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::ShiftOpc", "ARM", "ARM"], "File": "ARMAsmParser67", "Func": "CreateMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9691, "Length": 132} {"ground_truth": ["", "unsigned", "ARMAsmParser", "::", "validateTargetOperandClass", "(", "MCParsedAsmOperand", "*", "AsmOp", ",", "unsigned", "Kind", ")", "{", "ARMOperand", "*", "Op", "=", "static_cast", "<", "ARMOperand", "*", ">", "(", "AsmOp", ")", ";", "switch", "(", "Kind", ")", "{", "default", ":", "break", ";", "case", "MCK__35_0", ":", "if", "(", "Op", "->", "isImm", "(", ")", ")", "if", "(", "const", "MCConstantExpr", "*", "CE", "=", "dyn_cast", "<", "MCConstantExpr", ">", "(", "Op", "->", "getImm", "(", ")", ")", ")", "if", "(", "CE", "->", "getValue", "(", ")", "==", "0", ")", "return", "Match_Success", ";", "break", ";", "case", "MCK_ARMSOImm", ":", "if", "(", "Op", "->", "isImm", "(", ")", ")", "{", "const", "MCExpr", "*", "SOExpr", "=", "Op", "->", "getImm", "(", ")", ";", "int64_t", "Value", ";", "if", "(", "!", "SOExpr", "->", "EvaluateAsAbsolute", "(", "Value", ")", ")", "return", "Match_Success", ";", "assert", "(", "(", "Value", ">=", "INT32_MIN", "&&", "Value", "<=", "UINT32_MAX", ")", "&&", "\"expression value must be representable in 32 bits\"", ")", ";", "}", "break", ";", "case", "MCK_GPRPair", ":", "if", "(", "Op", "->", "isReg", "(", ")", "&&", "MRI", "->", "getRegClass", "(", "ARM", "::", "GPRRegClassID", ")", ".", "contains", "(", "Op", "->", "getReg", "(", ")", ")", ")", "return", "Match_Success", ";", "break", ";", "}", "return", "Match_InvalidOperand", ";", "}", ""], "natrual_language": ["Allow", "a", "target", "to", "add", "special", "case", "operand", "matching", "for", "things", "that", "tblgen", "doesn't/ca", "n't", "handle", "effectively", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM", "\"expression value must be representable in 32 bits\"", "ARM::GPRRegClassID"], "File": "ARMAsmParser67", "Func": "validateTargetOperandClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9692, "Length": 176} {"ground_truth": ["", "static", "ARMOperand", "CreateMem", "(", "unsigned", "BaseRegNum", ",", "bool", "OffsetIsReg", ",", "const", "MCExpr", "*", "Offset", ",", "unsigned", "OffsetRegNum", ",", "bool", "OffsetRegShifted", ",", "enum", "ShiftType", "ShiftType", ",", "const", "MCExpr", "*", "ShiftAmount", ",", "bool", "Preindexed", ",", "bool", "Postindexed", ",", "bool", "Negative", ",", "bool", "Writeback", ")", "{", "ARMOperand", "Res", ";", "Res", ".", "Kind", "=", "Memory", ";", "Res", ".", "Mem", ".", "BaseRegNum", "=", "BaseRegNum", ";", "Res", ".", "Mem", ".", "OffsetIsReg", "=", "OffsetIsReg", ";", "Res", ".", "Mem", ".", "Offset", "=", "Offset", ";", "Res", ".", "Mem", ".", "OffsetRegNum", "=", "OffsetRegNum", ";", "Res", ".", "Mem", ".", "OffsetRegShifted", "=", "OffsetRegShifted", ";", "Res", ".", "Mem", ".", "ShiftType", "=", "ShiftType", ";", "Res", ".", "Mem", ".", "ShiftAmount", "=", "ShiftAmount", ";", "Res", ".", "Mem", ".", "Preindexed", "=", "Preindexed", ";", "Res", ".", "Mem", ".", "Postindexed", "=", "Postindexed", ";", "Res", ".", "Mem", ".", "Negative", "=", "Negative", ";", "Res", ".", "Mem", ".", "Writeback", "=", "Writeback", ";", "return", "Res", ";", "}", ""], "natrual_language": ["Create", "a", "generalized", "memory", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmParser79", "Func": "CreateMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9693, "Length": 144} {"ground_truth": ["", "static", "ARMOperand", "CreateReg", "(", "unsigned", "RegNum", ",", "bool", "Writeback", ")", "{", "ARMOperand", "Res", ";", "Res", ".", "Kind", "=", "Register", ";", "Res", ".", "Reg", ".", "RegNum", "=", "RegNum", ";", "Res", ".", "Reg", ".", "Writeback", "=", "Writeback", ";", "return", "Res", ";", "}", ""], "natrual_language": ["CreateReg", "-", "Allocate", "a", "single", "virtual", "register", "for", "the", "given", "type", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmParser79", "Func": "CreateReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9694, "Length": 40} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "ParseInstruction", "(", "const", "StringRef", "&", "Name", ",", "SMLoc", "NameLoc", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ")", "{", "Operands", ".", "push_back", "(", "new", "ARMOperand", "(", "ARMOperand", "::", "CreateToken", "(", "Name", ")", ")", ")", ";", "SMLoc", "Loc", "=", "Parser", ".", "getTok", "(", ")", ".", "getLoc", "(", ")", ";", "if", "(", "getLexer", "(", ")", ".", "isNot", "(", "AsmToken", "::", "EndOfStatement", ")", ")", "{", "ARMOperand", "Op", ";", "if", "(", "ParseOperand", "(", "Op", ")", ")", "return", "true", ";", "Operands", ".", "push_back", "(", "new", "ARMOperand", "(", "Op", ")", ")", ";", "while", "(", "getLexer", "(", ")", ".", "is", "(", "AsmToken", "::", "Comma", ")", ")", "{", "Parser", ".", "Lex", "(", ")", ";", "if", "(", "ParseOperand", "(", "Op", ")", ")", "return", "true", ";", "Operands", ".", "push_back", "(", "new", "ARMOperand", "(", "Op", ")", ")", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["ParseInstruction", "-", "Parse", "one", "assembly", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMAsmParser79", "Func": "ParseInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9695, "Length": 136} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ",", "MCStreamer", "&", "Out", ")", "{", "MCInst", "Inst", ";", "unsigned", "ErrorInfo", ";", "unsigned", "MatchResult", ";", "MatchResult", "=", "MatchInstructionImpl", "(", "Operands", ",", "Inst", ",", "ErrorInfo", ")", ";", "switch", "(", "MatchResult", ")", "{", "default", ":", "break", ";", "case", "Match_Success", ":", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ")", ")", ";", "forwardITPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "Out", ".", "EmitInstruction", "(", "Inst", ")", ";", "return", "false", ";", "case", "Match_MissingFeature", ":", "Error", "(", "IDLoc", ",", "\"instruction requires a CPU feature not currently enabled\"", ")", ";", "return", "true", ";", "case", "Match_InvalidOperand", ":", "{", "SMLoc", "ErrorLoc", "=", "IDLoc", ";", "if", "(", "ErrorInfo", "!=", "~", "0U", ")", "{", "if", "(", "ErrorInfo", ">=", "Operands", ".", "size", "(", ")", ")", "return", "Error", "(", "IDLoc", ",", "\"too few operands for instruction\"", ")", ";", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "}", "return", "Error", "(", "ErrorLoc", ",", "\"invalid operand for instruction\"", ")", ";", "}", "case", "Match_MnemonicFail", ":", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", ",", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "0", "]", ")", "->", "getLocRange", "(", ")", ")", ";", "case", "Match_ConversionFail", ":", "return", "true", ";", "case", "Match_RequiresNotITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"flag setting instruction only valid outside IT block\"", ")", ";", "case", "Match_RequiresITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction only valid inside IT block\"", ")", ";", "case", "Match_RequiresV6", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires ARMv6 or later\"", ")", ";", "case", "Match_RequiresThumb2", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires Thumb2\"", ")", ";", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "ARM::ITasm", "\"instruction requires a CPU feature not currently enabled\"", "0U", "\"too few operands for instruction\"", "ARM", "\"invalid operand for instruction\"", "\"invalid instruction\"", "ARM", "0", "\"flag setting instruction only valid outside IT block\"", "\"instruction only valid inside IT block\"", "\"instruction variant requires ARMv6 or later\"", "\"instruction variant requires Thumb2\"", "\"Implement any new match types added!\""], "File": "ARMAsmParser86", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9696, "Length": 287} {"ground_truth": ["", "static", "ARMOperand", "*", "CreateMem", "(", "unsigned", "BaseRegNum", ",", "bool", "OffsetIsReg", ",", "const", "MCExpr", "*", "Offset", ",", "int", "OffsetRegNum", ",", "bool", "OffsetRegShifted", ",", "enum", "ShiftType", "ShiftType", ",", "const", "MCExpr", "*", "ShiftAmount", ",", "bool", "Preindexed", ",", "bool", "Postindexed", ",", "bool", "Negative", ",", "bool", "Writeback", ",", "SMLoc", "S", ",", "SMLoc", "E", ")", "{", "assert", "(", "(", "OffsetRegNum", "==", "-", "1", "||", "OffsetIsReg", ")", "&&", "\"OffsetRegNum must imply OffsetIsReg!\"", ")", ";", "assert", "(", "(", "!", "OffsetRegShifted", "||", "OffsetIsReg", ")", "&&", "\"OffsetRegShifted must imply OffsetIsReg!\"", ")", ";", "assert", "(", "(", "Offset", "||", "OffsetIsReg", ")", "&&", "\"Offset must exists unless register offset is used!\"", ")", ";", "assert", "(", "(", "!", "ShiftAmount", "||", "(", "OffsetIsReg", "&&", "OffsetRegShifted", ")", ")", "&&", "\"Cannot have shift amount without shifted register offset!\"", ")", ";", "assert", "(", "(", "!", "Offset", "||", "!", "OffsetIsReg", ")", "&&", "\"Cannot have expression offset and register offset!\"", ")", ";", "ARMOperand", "*", "Op", "=", "new", "ARMOperand", "(", "Memory", ")", ";", "Op", "->", "Mem", ".", "BaseRegNum", "=", "BaseRegNum", ";", "Op", "->", "Mem", ".", "OffsetIsReg", "=", "OffsetIsReg", ";", "if", "(", "OffsetIsReg", ")", "Op", "->", "Mem", ".", "Offset", ".", "RegNum", "=", "OffsetRegNum", ";", "else", "Op", "->", "Mem", ".", "Offset", ".", "Value", "=", "Offset", ";", "Op", "->", "Mem", ".", "OffsetRegShifted", "=", "OffsetRegShifted", ";", "Op", "->", "Mem", ".", "ShiftType", "=", "ShiftType", ";", "Op", "->", "Mem", ".", "ShiftAmount", "=", "ShiftAmount", ";", "Op", "->", "Mem", ".", "Preindexed", "=", "Preindexed", ";", "Op", "->", "Mem", ".", "Postindexed", "=", "Postindexed", ";", "Op", "->", "Mem", ".", "Negative", "=", "Negative", ";", "Op", "->", "Mem", ".", "Writeback", "=", "Writeback", ";", "Op", "->", "StartLoc", "=", "S", ";", "Op", "->", "EndLoc", "=", "E", ";", "return", "Op", ";", "}", ""], "natrual_language": ["Create", "a", "generalized", "memory", "operand", "."], "TS_V_token": ["ARM", "ARM", "1", "\"OffsetRegNum must imply OffsetIsReg!\"", "\"OffsetRegShifted must imply OffsetIsReg!\"", "\"Offset must exists unless register offset is used!\"", "\"Cannot have shift amount without shifted register offset!\"", "\"Cannot have expression offset and register offset!\"", "ARM", "ARM"], "File": "ARMAsmParser8", "Func": "CreateMem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9697, "Length": 239} {"ground_truth": ["", "void", "ARMOperand", "::", "dump", "(", "raw_ostream", "&", "OS", ")", "const", "{", "switch", "(", "Kind", ")", "{", "case", "CondCode", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "CCOut", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "CoprocNum", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "CoprocReg", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "MSRMask", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "Immediate", ":", "getImm", "(", ")", "->", "print", "(", "OS", ")", ";", "break", ";", "case", "MemBarrierOpt", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "Memory", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "ProcIFlags", ":", "{", "OS", "<<", "\"=", "0", ";", "--", "i", ")", "if", "(", "IFlags", "&", "(", "1", "<<", "i", ")", ")", "OS", "<<", "ARM_PROC", "::", "IFlagsToString", "(", "1", "<<", "i", ")", ";", "OS", "<<", "\">\"", ";", "break", ";", "}", "case", "Register", ":", "OS", "<<", "\"\"", ";", "break", ";", "case", "RegisterList", ":", "case", "DPRRegisterList", ":", "case", "SPRRegisterList", ":", "{", "OS", "<<", "\"", "&", "RegList", "=", "getRegList", "(", ")", ";", "for", "(", "SmallVectorImpl", "<", "unsigned", ">", "::", "const_iterator", "I", "=", "RegList", ".", "begin", "(", ")", ",", "E", "=", "RegList", ".", "end", "(", ")", ";", "I", "!=", "E", ";", ")", "{", "OS", "<<", "*", "I", ";", "if", "(", "++", "I", "<", "E", ")", "OS", "<<", "\", \"", ";", "}", "OS", "<<", "\">\"", ";", "break", ";", "}", "case", "Token", ":", "OS", "<<", "\"'\"", "<<", "getToken", "(", ")", "<<", "\"'\"", ";", "break", ";", "}", "}", ""], "natrual_language": ["Dump", "the", "plan", "to", "stderr", "(", "for", "debugging", ")", "."], "TS_V_token": ["ARM", "ARM", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"\"", "\"'\"", "\"'\""], "File": "ARMAsmParser8", "Func": "dump", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9698, "Length": 417} {"ground_truth": ["", "bool", "Error", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ",", "ArrayRef", "<", "SMRange", ">", "Ranges", "=", "ArrayRef", "<", "SMRange", ">", "(", ")", ")", "{", "return", "Parser", ".", "Error", "(", "L", ",", "Msg", ",", "Ranges", ")", ";", "}", ""], "natrual_language": ["Return", "an", "error", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser", "Func": "Error", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9699, "Length": 38} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "MatchAndEmitInstruction", "(", "SMLoc", "IDLoc", ",", "unsigned", "&", "Opcode", ",", "SmallVectorImpl", "<", "MCParsedAsmOperand", "*", ">", "&", "Operands", ",", "MCStreamer", "&", "Out", ",", "unsigned", "&", "ErrorInfo", ",", "bool", "MatchingInlineAsm", ")", "{", "MCInst", "Inst", ";", "unsigned", "MatchResult", ";", "MatchResult", "=", "MatchInstructionImpl", "(", "Operands", ",", "Inst", ",", "ErrorInfo", ",", "MatchingInlineAsm", ")", ";", "switch", "(", "MatchResult", ")", "{", "default", ":", "break", ";", "case", "Match_Success", ":", "if", "(", "validateInstruction", "(", "Inst", ",", "Operands", ")", ")", "{", "forwardITPosition", "(", ")", ";", "return", "true", ";", "}", "while", "(", "processInstruction", "(", "Inst", ",", "Operands", ")", ")", ";", "forwardITPosition", "(", ")", ";", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ITasm", ")", "return", "false", ";", "Inst", ".", "setLoc", "(", "IDLoc", ")", ";", "Out", ".", "EmitInstruction", "(", "Inst", ")", ";", "return", "false", ";", "case", "Match_MissingFeature", ":", "{", "assert", "(", "ErrorInfo", "&&", "\"Unknown missing feature!\"", ")", ";", "std", "::", "string", "Msg", "=", "\"instruction requires:\"", ";", "unsigned", "Mask", "=", "1", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "(", "sizeof", "(", "ErrorInfo", ")", "*", "8", "-", "1", ")", ";", "++", "i", ")", "{", "if", "(", "ErrorInfo", "&", "Mask", ")", "{", "Msg", "+=", "\" \"", ";", "Msg", "+=", "getSubtargetFeatureName", "(", "ErrorInfo", "&", "Mask", ")", ";", "}", "Mask", "<<=", "1", ";", "}", "return", "Error", "(", "IDLoc", ",", "Msg", ")", ";", "}", "case", "Match_InvalidOperand", ":", "{", "SMLoc", "ErrorLoc", "=", "IDLoc", ";", "if", "(", "ErrorInfo", "!=", "~", "0U", ")", "{", "if", "(", "ErrorInfo", ">=", "Operands", ".", "size", "(", ")", ")", "return", "Error", "(", "IDLoc", ",", "\"too few operands for instruction\"", ")", ";", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "}", "return", "Error", "(", "ErrorLoc", ",", "\"invalid operand for instruction\"", ")", ";", "}", "case", "Match_MnemonicFail", ":", "return", "Error", "(", "IDLoc", ",", "\"invalid instruction\"", ",", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "0", "]", ")", "->", "getLocRange", "(", ")", ")", ";", "case", "Match_RequiresNotITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"flag setting instruction only valid outside IT block\"", ")", ";", "case", "Match_RequiresITBlock", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction only valid inside IT block\"", ")", ";", "case", "Match_RequiresV6", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires ARMv6 or later\"", ")", ";", "case", "Match_RequiresThumb2", ":", "return", "Error", "(", "IDLoc", ",", "\"instruction variant requires Thumb2\"", ")", ";", "case", "Match_ImmRange0_15", ":", "{", "SMLoc", "ErrorLoc", "=", "(", "(", "ARMOperand", "*", ")", "Operands", "[", "ErrorInfo", "]", ")", "->", "getStartLoc", "(", ")", ";", "if", "(", "ErrorLoc", "==", "SMLoc", "(", ")", ")", "ErrorLoc", "=", "IDLoc", ";", "return", "Error", "(", "ErrorLoc", ",", "\"immediate operand must be in the range [0,15]\"", ")", ";", "}", "}", "llvm_unreachable", "(", "\"Implement any new match types added!\"", ")", ";", "}", ""], "natrual_language": ["MatchAndEmitInstruction", "-", "Recognize", "a", "series", "of", "operands", "of", "a", "parsed", "instruction", "as", "an", "actual", "MCInst", "and", "emit", "it", "to", "the", "specified", "MCStreamer", "."], "TS_V_token": ["ARM", "ARM", "ARM::ITasm", "\"Unknown missing feature!\"", "\"instruction requires:\"", "1", "0", "8", "1", "\" \"", "1", "0U", "\"too few operands for instruction\"", "ARM", "\"invalid operand for instruction\"", "\"invalid instruction\"", "ARM", "0", "\"flag setting instruction only valid outside IT block\"", "\"instruction only valid inside IT block\"", "\"instruction variant requires ARMv6 or later\"", "\"instruction variant requires Thumb2\"", "ARM", "\"immediate operand must be in the range [0,15]\"", "\"Implement any new match types added!\""], "File": "ARMAsmParser", "Func": "MatchAndEmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9700, "Length": 403} {"ground_truth": ["", "bool", "ARMAsmParser", "::", "ParseDirective", "(", "AsmToken", "DirectiveID", ")", "{", "StringRef", "IDVal", "=", "DirectiveID", ".", "getIdentifier", "(", ")", ";", "if", "(", "IDVal", "==", "\".word\"", ")", "return", "parseDirectiveWord", "(", "4", ",", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".thumb\"", ")", "return", "parseDirectiveThumb", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".arm\"", ")", "return", "parseDirectiveARM", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".thumb_func\"", ")", "return", "parseDirectiveThumbFunc", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".code\"", ")", "return", "parseDirectiveCode", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".syntax\"", ")", "return", "parseDirectiveSyntax", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".unreq\"", ")", "return", "parseDirectiveUnreq", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".arch\"", ")", "return", "parseDirectiveArch", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "else", "if", "(", "IDVal", "==", "\".eabi_attribute\"", ")", "return", "parseDirectiveEabiAttr", "(", "DirectiveID", ".", "getLoc", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["ParseDirective", "-", "Parse", "a", "target", "specific", "assembler", "directive", "This", "method", "is", "deprecated", ",", "use", "'parseDirective", "'", "instead", "."], "TS_V_token": ["ARM", "ARM", "\".word\"", "4", "\".thumb\"", "\".arm\"", "ARM", "\".thumb_func\"", "\".code\"", "\".syntax\"", "\".unreq\"", "\".arch\"", "\".eabi_attribute\""], "File": "ARMAsmParser", "Func": "ParseDirective", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9701, "Length": 176} {"ground_truth": ["", "bool", "Warning", "(", "SMLoc", "L", ",", "const", "Twine", "&", "Msg", ",", "ArrayRef", "<", "SMRange", ">", "Ranges", "=", "ArrayRef", "<", "SMRange", ">", "(", ")", ")", "{", "return", "Parser", ".", "Warning", "(", "L", ",", "Msg", ",", "Ranges", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "warning", "at", "the", "location", "L", ",", "with", "the", "message", "Msg", "."], "TS_V_token": ["ARM"], "File": "ARMAsmParser", "Func": "Warning", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9702, "Length": 38} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitInlineAsmEnd", "(", "const", "MCSubtargetInfo", "&", "StartInfo", ",", "const", "MCSubtargetInfo", "*", "EndInfo", ")", "const", "{", "const", "bool", "WasThumb", "=", "isThumb", "(", "StartInfo", ")", ";", "if", "(", "!", "EndInfo", "||", "WasThumb", "!=", "isThumb", "(", "*", "EndInfo", ")", ")", "{", "OutStreamer", "->", "EmitAssemblerFlag", "(", "WasThumb", "?", "MCAF_Code16", ":", "MCAF_Code32", ")", ";", "}", "}", ""], "natrual_language": ["Let", "the", "target", "do", "anything", "it", "needs", "to", "do", "after", "emitting", "inlineasm", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmPrinter (2)1", "Func": "emitInlineAsmEnd", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9703, "Length": 53} {"ground_truth": ["", "static", "bool", "isThumb", "(", "const", "MCSubtargetInfo", "&", "STI", ")", "{", "return", "STI", ".", "getFeatureBits", "(", ")", "[", "ARM", "::", "ModeThumb", "]", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "is", "Thumb", "(", "little", "and", "big", "endian", ")", "."], "TS_V_token": ["ARM", "ARM::ModeThumb"], "File": "ARMAsmPrinter (2)1", "Func": "isThumb", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9704, "Length": 23} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmMemoryOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ",", "raw_ostream", "&", "O", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "{", "if", "(", "ExtraCode", "[", "1", "]", "!=", "0", ")", "return", "true", ";", "switch", "(", "ExtraCode", "[", "0", "]", ")", "{", "case", "'A'", ":", "default", ":", "return", "true", ";", "case", "'m'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isReg", "(", ")", ")", "return", "true", ";", "O", "<<", "ARMInstPrinter", "::", "getRegisterName", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "getReg", "(", ")", ")", ";", "return", "false", ";", "}", "}", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "OpNum", ")", ";", "assert", "(", "MO", ".", "isReg", "(", ")", "&&", "\"unexpected inline asm memory operand\"", ")", ";", "O", "<<", "\"[\"", "<<", "ARMInstPrinter", "::", "getRegisterName", "(", "MO", ".", "getReg", "(", ")", ")", "<<", "\"]\"", ";", "return", "false", ";", "}", ""], "natrual_language": ["Print", "the", "specified", "operand", "of", "MI", ",", "an", "INLINEASM", "instruction", ",", "using", "the", "specified", "assembler", "variant", "as", "an", "address", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "0", "ARM", "\"unexpected inline asm memory operand\"", "\"[\"", "ARM", "\"]\""], "File": "ARMAsmPrinter (2)1", "Func": "PrintAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9705, "Length": 151} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Subtarget", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "for", "(", "auto", "*", "GV", ":", "AFI", "->", "getGlobalsPromotedToConstantPool", "(", ")", ")", "PromotedGlobals", ".", "insert", "(", "GV", ")", ";", "unsigned", "OptimizationGoal", ";", "if", "(", "F", "->", "hasFnAttribute", "(", "Attribute", "::", "OptimizeNone", ")", ")", "OptimizationGoal", "=", "6", ";", "else", "if", "(", "F", "->", "optForMinSize", "(", ")", ")", "OptimizationGoal", "=", "4", ";", "else", "if", "(", "F", "->", "optForSize", "(", ")", ")", "OptimizationGoal", "=", "3", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "OptimizationGoal", "=", "2", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", ">", "CodeGenOpt", "::", "None", ")", "OptimizationGoal", "=", "1", ";", "else", "OptimizationGoal", "=", "5", ";", "if", "(", "OptimizationGoals", "==", "-", "1", ")", "OptimizationGoals", "=", "OptimizationGoal", ";", "else", "if", "(", "OptimizationGoals", "!=", "(", "int", ")", "OptimizationGoal", ")", "OptimizationGoals", "=", "0", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "F", "->", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", "->", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", "->", "EndCOFFSymbolDef", "(", ")", ";", "}", "EmitFunctionBody", "(", ")", ";", "emitXRayTable", "(", ")", ";", "if", "(", "!", "ThumbIndirectPads", ".", "empty", "(", ")", ")", "{", "OutStreamer", "->", "EmitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "EmitAlignment", "(", "1", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "ThumbIndirectPads", ".", "size", "(", ")", ";", "i", "<", "e", ";", "i", "++", ")", "{", "OutStreamer", "->", "EmitLabel", "(", "ThumbIndirectPads", "[", "i", "]", ".", "second", ")", ";", "EmitToStreamer", "(", "*", "OutStreamer", ",", "MCInstBuilder", "(", "ARM", "::", "tBX", ")", ".", "addReg", "(", "ThumbIndirectPads", "[", "i", "]", ".", "first", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ")", ";", "}", "ThumbIndirectPads", ".", "clear", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "6", "4", "3", "2", "1", "5", "1", "0", "1", "0", "ARM::tBX", "ARMCC::AL", "0"], "File": "ARMAsmPrinter (2)1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9706, "Length": 379} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "EmitInstruction", "(", "const", "MachineInstr", "*", "MI", ")", "{", "if", "(", "EnableMCInst", ")", "{", "printInstructionThroughMCStreamer", "(", "MI", ")", ";", "}", "else", "{", "int", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "CONSTPOOL_ENTRY", ")", "EmitAlignment", "(", "2", ")", ";", "printInstruction", "(", "MI", ")", ";", "OutStreamer", ".", "AddBlankLine", "(", ")", ";", "}", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM", "ARM::CONSTPOOL_ENTRY", "2"], "File": "ARMAsmPrinter100", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9707, "Length": 59} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "{", "AsmPrinter", "::", "getAnalysisUsage", "(", "AU", ")", ";", "AU", ".", "setPreservesAll", "(", ")", ";", "AU", ".", "addRequired", "<", "MachineModuleInfo", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "DwarfWriter", ">", "(", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMAsmPrinter100", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9708, "Length": 41} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"ARM Assembly Printer\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Assembly Printer\""], "File": "ARMAsmPrinter100", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9709, "Length": 13} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmMemoryOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "return", "true", ";", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "OpNum", ")", ";", "assert", "(", "MO", ".", "isReg", "(", ")", "&&", "\"unexpected inline asm memory operand\"", ")", ";", "O", "<<", "\"[\"", "<<", "getRegisterName", "(", "MO", ".", "getReg", "(", ")", ")", "<<", "\"]\"", ";", "return", "false", ";", "}", ""], "natrual_language": ["Print", "the", "specified", "operand", "of", "MI", ",", "an", "INLINEASM", "instruction", ",", "using", "the", "specified", "assembler", "variant", "as", "an", "address", "."], "TS_V_token": ["ARM", "ARM", "0", "\"unexpected inline asm memory operand\"", "\"[\"", "\"]\""], "File": "ARMAsmPrinter100", "Func": "PrintAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9710, "Length": 76} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "{", "if", "(", "ExtraCode", "[", "1", "]", "!=", "0", ")", "return", "true", ";", "switch", "(", "ExtraCode", "[", "0", "]", ")", "{", "default", ":", "return", "true", ";", "case", "'a'", ":", "if", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isReg", "(", ")", ")", "{", "O", "<<", "\"[\"", "<<", "getRegisterName", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "getReg", "(", ")", ")", "<<", "\"]\"", ";", "return", "false", ";", "}", "case", "'c'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isImm", "(", ")", ")", "return", "true", ";", "printNoHashImmediate", "(", "MI", ",", "OpNum", ")", ";", "return", "false", ";", "case", "'P'", ":", "case", "'q'", ":", "printOperand", "(", "MI", ",", "OpNum", ")", ";", "return", "false", ";", "case", "'Q'", ":", "if", "(", "TM", ".", "getTargetData", "(", ")", "->", "isLittleEndian", "(", ")", ")", "break", ";", "case", "'R'", ":", "if", "(", "TM", ".", "getTargetData", "(", ")", "->", "isBigEndian", "(", ")", ")", "break", ";", "case", "'H'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isReg", "(", ")", "||", "OpNum", "+", "1", "==", "MI", "->", "getNumOperands", "(", ")", "||", "!", "MI", "->", "getOperand", "(", "OpNum", "+", "1", ")", ".", "isReg", "(", ")", ")", "return", "true", ";", "++", "OpNum", ";", "}", "}", "printOperand", "(", "MI", ",", "OpNum", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["PrintAsmOperand", "-", "Print", "out", "an", "operand", "for", "an", "inline", "asm", "expression", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "0", "\"[\"", "\"]\"", "1", "1"], "File": "ARMAsmPrinter100", "Func": "PrintAsmOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9711, "Length": 238} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Subtarget", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "unsigned", "OptimizationGoal", ";", "if", "(", "F", "->", "hasFnAttribute", "(", "Attribute", "::", "OptimizeNone", ")", ")", "OptimizationGoal", "=", "6", ";", "else", "if", "(", "F", "->", "optForMinSize", "(", ")", ")", "OptimizationGoal", "=", "4", ";", "else", "if", "(", "F", "->", "optForSize", "(", ")", ")", "OptimizationGoal", "=", "3", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "OptimizationGoal", "=", "2", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", ">", "CodeGenOpt", "::", "None", ")", "OptimizationGoal", "=", "1", ";", "else", "OptimizationGoal", "=", "5", ";", "if", "(", "OptimizationGoals", "==", "-", "1", ")", "OptimizationGoals", "=", "OptimizationGoal", ";", "else", "if", "(", "OptimizationGoals", "!=", "(", "int", ")", "OptimizationGoal", ")", "OptimizationGoals", "=", "0", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "F", "->", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", "->", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", "->", "EndCOFFSymbolDef", "(", ")", ";", "}", "EmitFunctionBody", "(", ")", ";", "if", "(", "!", "ThumbIndirectPads", ".", "empty", "(", ")", ")", "{", "OutStreamer", "->", "EmitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "EmitAlignment", "(", "1", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "ThumbIndirectPads", ".", "size", "(", ")", ";", "i", "<", "e", ";", "i", "++", ")", "{", "OutStreamer", "->", "EmitLabel", "(", "ThumbIndirectPads", "[", "i", "]", ".", "second", ")", ";", "EmitToStreamer", "(", "*", "OutStreamer", ",", "MCInstBuilder", "(", "ARM", "::", "tBX", ")", ".", "addReg", "(", "ThumbIndirectPads", "[", "i", "]", ".", "first", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ")", ";", "}", "ThumbIndirectPads", ".", "clear", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "6", "4", "3", "2", "1", "5", "1", "0", "1", "0", "ARM::tBX", "ARMCC::AL", "0"], "File": "ARMAsmPrinter102", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9712, "Length": 356} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Subtarget", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "for", "(", "auto", "*", "GV", ":", "AFI", "->", "getGlobalsPromotedToConstantPool", "(", ")", ")", "PromotedGlobals", ".", "insert", "(", "GV", ")", ";", "unsigned", "OptimizationGoal", ";", "if", "(", "F", ".", "hasFnAttribute", "(", "Attribute", "::", "OptimizeNone", ")", ")", "OptimizationGoal", "=", "6", ";", "else", "if", "(", "F", ".", "optForMinSize", "(", ")", ")", "OptimizationGoal", "=", "4", ";", "else", "if", "(", "F", ".", "optForSize", "(", ")", ")", "OptimizationGoal", "=", "3", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "OptimizationGoal", "=", "2", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", ">", "CodeGenOpt", "::", "None", ")", "OptimizationGoal", "=", "1", ";", "else", "OptimizationGoal", "=", "5", ";", "if", "(", "OptimizationGoals", "==", "-", "1", ")", "OptimizationGoals", "=", "OptimizationGoal", ";", "else", "if", "(", "OptimizationGoals", "!=", "(", "int", ")", "OptimizationGoal", ")", "OptimizationGoals", "=", "0", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "F", ".", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", "->", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", "->", "EndCOFFSymbolDef", "(", ")", ";", "}", "EmitFunctionBody", "(", ")", ";", "emitXRayTable", "(", ")", ";", "if", "(", "!", "ThumbIndirectPads", ".", "empty", "(", ")", ")", "{", "OutStreamer", "->", "EmitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "EmitAlignment", "(", "1", ")", ";", "for", "(", "std", "::", "pair", "<", "unsigned", ",", "MCSymbol", "*", ">", "&", "TIP", ":", "ThumbIndirectPads", ")", "{", "OutStreamer", "->", "EmitLabel", "(", "TIP", ".", "second", ")", ";", "EmitToStreamer", "(", "*", "OutStreamer", ",", "MCInstBuilder", "(", "ARM", "::", "tBX", ")", ".", "addReg", "(", "TIP", ".", "first", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ")", ";", "}", "ThumbIndirectPads", ".", "clear", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "6", "4", "3", "2", "1", "5", "1", "0", "1", "ARM::tBX", "ARMCC::AL", "0"], "File": "ARMAsmPrinter103", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9713, "Length": 367} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "if", "(", "Subtarget", "->", "isTargetNaCl", "(", ")", ")", "{", "NaClAlignAllJumpTargetsAndConstantPools", "(", "MF", ")", ";", "}", "SetupMachineFunction", "(", "MF", ")", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "MF", ".", "getFunction", "(", ")", "->", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", ".", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", ".", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", ".", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", ".", "EndCOFFSymbolDef", "(", ")", ";", "}", "EmitFunctionHeader", "(", ")", ";", "EmitFunctionBody", "(", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmPrinter104", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9714, "Length": 137} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Subtarget", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "for", "(", "auto", "*", "GV", ":", "AFI", "->", "getGlobalsPromotedToConstantPool", "(", ")", ")", "PromotedGlobals", ".", "insert", "(", "GV", ")", ";", "unsigned", "OptimizationGoal", ";", "if", "(", "F", ".", "hasOptNone", "(", ")", ")", "OptimizationGoal", "=", "6", ";", "else", "if", "(", "F", ".", "hasMinSize", "(", ")", ")", "OptimizationGoal", "=", "4", ";", "else", "if", "(", "F", ".", "hasOptSize", "(", ")", ")", "OptimizationGoal", "=", "3", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "OptimizationGoal", "=", "2", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", ">", "CodeGenOpt", "::", "None", ")", "OptimizationGoal", "=", "1", ";", "else", "OptimizationGoal", "=", "5", ";", "if", "(", "OptimizationGoals", "==", "-", "1", ")", "OptimizationGoals", "=", "OptimizationGoal", ";", "else", "if", "(", "OptimizationGoals", "!=", "(", "int", ")", "OptimizationGoal", ")", "OptimizationGoals", "=", "0", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "F", ".", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", "->", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", "->", "EndCOFFSymbolDef", "(", ")", ";", "}", "EmitFunctionBody", "(", ")", ";", "emitXRayTable", "(", ")", ";", "if", "(", "!", "ThumbIndirectPads", ".", "empty", "(", ")", ")", "{", "OutStreamer", "->", "EmitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "EmitAlignment", "(", "1", ")", ";", "for", "(", "std", "::", "pair", "<", "unsigned", ",", "MCSymbol", "*", ">", "&", "TIP", ":", "ThumbIndirectPads", ")", "{", "OutStreamer", "->", "EmitLabel", "(", "TIP", ".", "second", ")", ";", "EmitToStreamer", "(", "*", "OutStreamer", ",", "MCInstBuilder", "(", "ARM", "::", "tBX", ")", ".", "addReg", "(", "TIP", ".", "first", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ")", ";", "}", "ThumbIndirectPads", ".", "clear", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "6", "4", "3", "2", "1", "5", "1", "0", "1", "ARM::tBX", "ARMCC::AL", "0"], "File": "ARMAsmPrinter105", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9715, "Length": 364} {"ground_truth": ["", "void", "Finish", "(", ")", "{", "const", "size_t", "VendorHeaderSize", "=", "4", "+", "CurrentVendor", ".", "size", "(", ")", "+", "1", ";", "const", "size_t", "TagHeaderSize", "=", "1", "+", "4", ";", "Streamer", ".", "EmitIntValue", "(", "VendorHeaderSize", "+", "TagHeaderSize", "+", "ContentsSize", ",", "4", ")", ";", "Streamer", ".", "EmitBytes", "(", "CurrentVendor", ")", ";", "Streamer", ".", "EmitIntValue", "(", "0", ",", "1", ")", ";", "Streamer", ".", "EmitIntValue", "(", "ARMBuildAttrs", "::", "File", ",", "1", ")", ";", "Streamer", ".", "EmitIntValue", "(", "TagHeaderSize", "+", "ContentsSize", ",", "4", ")", ";", "for", "(", "unsigned", "int", "i", "=", "0", ";", "i", "<", "Contents", ".", "size", "(", ")", ";", "++", "i", ")", "{", "AttributeItemType", "item", "=", "Contents", "[", "i", "]", ";", "Streamer", ".", "EmitULEB128IntValue", "(", "item", ".", "Tag", ")", ";", "switch", "(", "item", ".", "Type", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Invalid attribute type\"", ")", ";", "case", "AttributeItemType", "::", "NumericAttribute", ":", "Streamer", ".", "EmitULEB128IntValue", "(", "item", ".", "IntValue", ")", ";", "break", ";", "case", "AttributeItemType", "::", "TextAttribute", ":", "Streamer", ".", "EmitBytes", "(", "item", ".", "StringValue", ".", "upper", "(", ")", ")", ";", "Streamer", ".", "EmitIntValue", "(", "0", ",", "1", ")", ";", "break", ";", "}", "}", "Contents", ".", "clear", "(", ")", ";", "}", ""], "natrual_language": ["Finish", "-", "Do", "final", "processing", "and", "write", "the", "object", "to", "the", "output", "stream", "."], "TS_V_token": ["ARM", "4", "1", "1", "4", "4", "0", "1", "ARMBuildAttrs::File", "1", "4", "0", "\"Invalid attribute type\"", "0", "1"], "File": "ARMAsmPrinter109", "Func": "Finish", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9716, "Length": 183} {"ground_truth": ["", "void", "Finish", "(", ")", "{", "const", "size_t", "VendorHeaderSize", "=", "4", "+", "CurrentVendor", ".", "size", "(", ")", "+", "1", ";", "const", "size_t", "TagHeaderSize", "=", "1", "+", "4", ";", "Streamer", ".", "EmitIntValue", "(", "VendorHeaderSize", "+", "TagHeaderSize", "+", "ContentsSize", ",", "4", ")", ";", "Streamer", ".", "EmitBytes", "(", "CurrentVendor", ",", "0", ")", ";", "Streamer", ".", "EmitIntValue", "(", "0", ",", "1", ")", ";", "Streamer", ".", "EmitIntValue", "(", "ARMBuildAttrs", "::", "File", ",", "1", ")", ";", "Streamer", ".", "EmitIntValue", "(", "TagHeaderSize", "+", "ContentsSize", ",", "4", ")", ";", "for", "(", "unsigned", "int", "i", "=", "0", ";", "i", "<", "Contents", ".", "size", "(", ")", ";", "++", "i", ")", "{", "AttributeItemType", "item", "=", "Contents", "[", "i", "]", ";", "Streamer", ".", "EmitULEB128IntValue", "(", "item", ".", "Tag", ",", "0", ")", ";", "switch", "(", "item", ".", "Type", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Invalid attribute type\"", ")", ";", "case", "AttributeItemType", "::", "NumericAttribute", ":", "Streamer", ".", "EmitULEB128IntValue", "(", "item", ".", "IntValue", ",", "0", ")", ";", "break", ";", "case", "AttributeItemType", "::", "TextAttribute", ":", "Streamer", ".", "EmitBytes", "(", "item", ".", "StringValue", ".", "upper", "(", ")", ",", "0", ")", ";", "Streamer", ".", "EmitIntValue", "(", "0", ",", "1", ")", ";", "break", ";", "}", "}", "Contents", ".", "clear", "(", ")", ";", "}", ""], "natrual_language": ["Finish", "-", "Do", "final", "processing", "and", "write", "the", "object", "to", "the", "output", "stream", "."], "TS_V_token": ["ARM", "4", "1", "1", "4", "4", "0", "0", "1", "ARMBuildAttrs::File", "1", "4", "0", "0", "\"Invalid attribute type\"", "0", "0", "0", "1"], "File": "ARMAsmPrinter10", "Func": "Finish", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9717, "Length": 191} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "return", "AsmPrinter", "::", "runOnMachineFunction", "(", "MF", ")", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmPrinter10", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9718, "Length": 38} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Subtarget", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "for", "(", "auto", "*", "GV", ":", "AFI", "->", "getGlobalsPromotedToConstantPool", "(", ")", ")", "PromotedGlobals", ".", "insert", "(", "GV", ")", ";", "unsigned", "OptimizationGoal", ";", "if", "(", "F", ".", "hasOptNone", "(", ")", ")", "OptimizationGoal", "=", "6", ";", "else", "if", "(", "F", ".", "hasMinSize", "(", ")", ")", "OptimizationGoal", "=", "4", ";", "else", "if", "(", "F", ".", "hasOptSize", "(", ")", ")", "OptimizationGoal", "=", "3", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "OptimizationGoal", "=", "2", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", ">", "CodeGenOpt", "::", "None", ")", "OptimizationGoal", "=", "1", ";", "else", "OptimizationGoal", "=", "5", ";", "if", "(", "OptimizationGoals", "==", "-", "1", ")", "OptimizationGoals", "=", "OptimizationGoal", ";", "else", "if", "(", "OptimizationGoals", "!=", "(", "int", ")", "OptimizationGoal", ")", "OptimizationGoals", "=", "0", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "F", ".", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", "->", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", "->", "EndCOFFSymbolDef", "(", ")", ";", "}", "EmitFunctionBody", "(", ")", ";", "emitXRayTable", "(", ")", ";", "if", "(", "!", "ThumbIndirectPads", ".", "empty", "(", ")", ")", "{", "OutStreamer", "->", "EmitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "EmitAlignment", "(", "Align", "(", "2", ")", ")", ";", "for", "(", "std", "::", "pair", "<", "unsigned", ",", "MCSymbol", "*", ">", "&", "TIP", ":", "ThumbIndirectPads", ")", "{", "OutStreamer", "->", "EmitLabel", "(", "TIP", ".", "second", ")", ";", "EmitToStreamer", "(", "*", "OutStreamer", ",", "MCInstBuilder", "(", "ARM", "::", "tBX", ")", ".", "addReg", "(", "TIP", ".", "first", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ")", ";", "}", "ThumbIndirectPads", ".", "clear", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "6", "4", "3", "2", "1", "5", "1", "0", "2", "ARM::tBX", "ARMCC::AL", "0"], "File": "ARMAsmPrinter110", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9719, "Length": 367} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "EmitInstruction", "(", "const", "MachineInstr", "*", "MI", ")", "{", "if", "(", "EnableMCInst", ")", "{", "printInstructionThroughMCStreamer", "(", "MI", ")", ";", "return", ";", "}", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "CONSTPOOL_ENTRY", ")", "EmitAlignment", "(", "2", ")", ";", "SmallString", "<", "128", ">", "Str", ";", "raw_svector_ostream", "OS", "(", "Str", ")", ";", "printInstruction", "(", "MI", ",", "OS", ")", ";", "OutStreamer", ".", "EmitRawText", "(", "OS", ".", "str", "(", ")", ")", ";", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2TBB", ")", "EmitAlignment", "(", "1", ")", ";", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM", "ARM::CONSTPOOL_ENTRY", "2", "128", "ARM::t2TBB", "1"], "File": "ARMAsmPrinter11", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9720, "Length": 89} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmMemoryOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ",", "raw_ostream", "&", "O", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "return", "true", ";", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "OpNum", ")", ";", "assert", "(", "MO", ".", "isReg", "(", ")", "&&", "\"unexpected inline asm memory operand\"", ")", ";", "O", "<<", "\"[\"", "<<", "getRegisterName", "(", "MO", ".", "getReg", "(", ")", ")", "<<", "\"]\"", ";", "return", "false", ";", "}", ""], "natrual_language": ["Print", "the", "specified", "operand", "of", "MI", ",", "an", "INLINEASM", "instruction", ",", "using", "the", "specified", "assembler", "variant", "as", "an", "address", "."], "TS_V_token": ["ARM", "ARM", "0", "\"unexpected inline asm memory operand\"", "\"[\"", "\"]\""], "File": "ARMAsmPrinter11", "Func": "PrintAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9721, "Length": 80} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ",", "raw_ostream", "&", "O", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "{", "if", "(", "ExtraCode", "[", "1", "]", "!=", "0", ")", "return", "true", ";", "switch", "(", "ExtraCode", "[", "0", "]", ")", "{", "default", ":", "return", "true", ";", "case", "'a'", ":", "if", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isReg", "(", ")", ")", "{", "O", "<<", "\"[\"", "<<", "getRegisterName", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "getReg", "(", ")", ")", "<<", "\"]\"", ";", "return", "false", ";", "}", "case", "'c'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isImm", "(", ")", ")", "return", "true", ";", "printNoHashImmediate", "(", "MI", ",", "OpNum", ",", "O", ")", ";", "return", "false", ";", "case", "'P'", ":", "case", "'q'", ":", "printOperand", "(", "MI", ",", "OpNum", ",", "O", ")", ";", "return", "false", ";", "case", "'Q'", ":", "if", "(", "TM", ".", "getTargetData", "(", ")", "->", "isLittleEndian", "(", ")", ")", "break", ";", "case", "'R'", ":", "if", "(", "TM", ".", "getTargetData", "(", ")", "->", "isBigEndian", "(", ")", ")", "break", ";", "case", "'H'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isReg", "(", ")", "||", "OpNum", "+", "1", "==", "MI", "->", "getNumOperands", "(", ")", "||", "!", "MI", "->", "getOperand", "(", "OpNum", "+", "1", ")", ".", "isReg", "(", ")", ")", "return", "true", ";", "++", "OpNum", ";", "}", "}", "printOperand", "(", "MI", ",", "OpNum", ",", "O", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["PrintAsmOperand", "-", "Print", "out", "an", "operand", "for", "an", "inline", "asm", "expression", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "0", "\"[\"", "\"]\"", "1", "1"], "File": "ARMAsmPrinter11", "Func": "PrintAsmOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9722, "Length": 248} {"ground_truth": ["", "virtual", "unsigned", "getISAEncoding", "(", ")", "{", "if", "(", "!", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "return", "0", ";", "return", "Subtarget", "->", "isThumb", "(", ")", "?", "ARM", "::", "DW_ISA_ARM_thumb", ":", "ARM", "::", "DW_ISA_ARM_arm", ";", "}", ""], "natrual_language": ["Get", "the", "value", "for", "DW_AT_APPLE_isa", ".", "Zero", "if", "no", "isa", "encoding", "specified", "."], "TS_V_token": ["ARM", "0", "ARM::DW_ISA_ARM_thumb", "ARM::DW_ISA_ARM_arm"], "File": "ARMAsmPrinter13", "Func": "getISAEncoding", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9723, "Length": 34} {"ground_truth": ["", "void", "Finish", "(", ")", "{", "const", "size_t", "VendorHeaderSize", "=", "4", "+", "CurrentVendor", ".", "size", "(", ")", "+", "1", ";", "const", "size_t", "TagHeaderSize", "=", "1", "+", "4", ";", "Streamer", ".", "EmitIntValue", "(", "VendorHeaderSize", "+", "TagHeaderSize", "+", "ContentsSize", ",", "4", ")", ";", "Streamer", ".", "EmitBytes", "(", "CurrentVendor", ",", "0", ")", ";", "Streamer", ".", "EmitIntValue", "(", "0", ",", "1", ")", ";", "Streamer", ".", "EmitIntValue", "(", "ARMBuildAttrs", "::", "File", ",", "1", ")", ";", "Streamer", ".", "EmitIntValue", "(", "TagHeaderSize", "+", "ContentsSize", ",", "4", ")", ";", "for", "(", "unsigned", "int", "i", "=", "0", ";", "i", "<", "Contents", ".", "size", "(", ")", ";", "++", "i", ")", "{", "AttributeItemType", "item", "=", "Contents", "[", "i", "]", ";", "Streamer", ".", "EmitULEB128IntValue", "(", "item", ".", "Tag", ",", "0", ")", ";", "switch", "(", "item", ".", "Type", ")", "{", "case", "AttributeItemType", "::", "NumericAttribute", ":", "Streamer", ".", "EmitULEB128IntValue", "(", "item", ".", "IntValue", ",", "0", ")", ";", "break", ";", "case", "AttributeItemType", "::", "TextAttribute", ":", "Streamer", ".", "EmitBytes", "(", "item", ".", "StringValue", ".", "upper", "(", ")", ",", "0", ")", ";", "Streamer", ".", "EmitIntValue", "(", "0", ",", "1", ")", ";", "break", ";", "default", ":", "assert", "(", "0", "&&", "\"Invalid attribute type\"", ")", ";", "}", "}", "Contents", ".", "clear", "(", ")", ";", "}", ""], "natrual_language": ["Finish", "-", "Do", "final", "processing", "and", "write", "the", "object", "to", "the", "output", "stream", "."], "TS_V_token": ["ARM", "4", "1", "1", "4", "4", "0", "0", "1", "ARMBuildAttrs::File", "1", "4", "0", "0", "0", "0", "0", "1", "0", "\"Invalid attribute type\""], "File": "ARMAsmPrinter14", "Func": "Finish", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9724, "Length": 193} {"ground_truth": ["", "virtual", "unsigned", "getISAEncoding", "(", ")", "{", "if", "(", "!", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "return", "0", ";", "return", "Subtarget", "->", "isThumb", "(", ")", "?", "llvm", "::", "ARM", "::", "DW_ISA_ARM_thumb", ":", "llvm", "::", "ARM", "::", "DW_ISA_ARM_arm", ";", "}", ""], "natrual_language": ["Get", "the", "value", "for", "DW_AT_APPLE_isa", ".", "Zero", "if", "no", "isa", "encoding", "specified", "."], "TS_V_token": ["ARM", "0", "ARM::DW_ISA_ARM_thumb", "ARM::DW_ISA_ARM_arm"], "File": "ARMAsmPrinter16", "Func": "getISAEncoding", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9725, "Length": 38} {"ground_truth": ["", "virtual", "unsigned", "getISAEncoding", "(", ")", "LLVM_OVERRIDE", "{", "if", "(", "!", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "return", "0", ";", "return", "Subtarget", "->", "isThumb", "(", ")", "?", "ARM", "::", "DW_ISA_ARM_thumb", ":", "ARM", "::", "DW_ISA_ARM_arm", ";", "}", ""], "natrual_language": ["Get", "the", "value", "for", "DW_AT_APPLE_isa", ".", "Zero", "if", "no", "isa", "encoding", "specified", "."], "TS_V_token": ["ARM", "0", "ARM::DW_ISA_ARM_thumb", "ARM::DW_ISA_ARM_arm"], "File": "ARMAsmPrinter17", "Func": "getISAEncoding", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9726, "Length": 35} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "LLVM_OVERRIDE", "{", "return", "\"ARM Assembly Printer\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Assembly Printer\""], "File": "ARMAsmPrinter17", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9727, "Length": 14} {"ground_truth": ["", "void", "emitConstantPool", "(", ")", "override", "{", "}", ""], "natrual_language": ["Print", "to", "the", "current", "output", "stream", "assembly", "representations", "of", "the", "constants", "in", "the", "constant", "pool", "MCP", "."], "TS_V_token": ["ARM"], "File": "ARMAsmPrinter18", "Func": "emitConstantPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9728, "Length": 7} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Subtarget", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "MF", ".", "getFunction", "(", ")", "->", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", "->", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", "->", "EndCOFFSymbolDef", "(", ")", ";", "}", "EmitFunctionBody", "(", ")", ";", "if", "(", "!", "ThumbIndirectPads", ".", "empty", "(", ")", ")", "{", "OutStreamer", "->", "EmitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "EmitAlignment", "(", "1", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "ThumbIndirectPads", ".", "size", "(", ")", ";", "i", "<", "e", ";", "i", "++", ")", "{", "OutStreamer", "->", "EmitLabel", "(", "ThumbIndirectPads", "[", "i", "]", ".", "second", ")", ";", "EmitToStreamer", "(", "*", "OutStreamer", ",", "MCInstBuilder", "(", "ARM", "::", "tBX", ")", ".", "addReg", "(", "ThumbIndirectPads", "[", "i", "]", ".", "first", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ")", ";", "}", "ThumbIndirectPads", ".", "clear", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "1", "0", "ARM::tBX", "ARMCC::AL", "0"], "File": "ARMAsmPrinter18", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9729, "Length": 230} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitInlineAsmEnd", "(", "const", "MCSubtargetInfo", "&", "StartInfo", ",", "const", "MCSubtargetInfo", "*", "EndInfo", ")", "const", "{", "const", "bool", "WasThumb", "=", "isThumb", "(", "StartInfo", ")", ";", "if", "(", "!", "EndInfo", "||", "WasThumb", "!=", "isThumb", "(", "*", "EndInfo", ")", ")", "{", "OutStreamer", ".", "EmitAssemblerFlag", "(", "WasThumb", "?", "MCAF_Code16", ":", "MCAF_Code32", ")", ";", "}", "}", ""], "natrual_language": ["Let", "the", "target", "do", "anything", "it", "needs", "to", "do", "after", "emitting", "inlineasm", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmPrinter1", "Func": "emitInlineAsmEnd", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9730, "Length": 53} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM Assembly / Object Emitter\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Assembly / Object Emitter\""], "File": "ARMAsmPrinter1", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9731, "Length": 13} {"ground_truth": ["", "static", "bool", "isThumb", "(", "const", "MCSubtargetInfo", "&", "STI", ")", "{", "return", "(", "STI", ".", "getFeatureBits", "(", ")", "&", "ARM", "::", "ModeThumb", ")", "!=", "0", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "is", "Thumb", "(", "little", "and", "big", "endian", ")", "."], "TS_V_token": ["ARM", "ARM::ModeThumb", "0"], "File": "ARMAsmPrinter1", "Func": "isThumb", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9732, "Length": 26} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "MF", ".", "getFunction", "(", ")", "->", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", ".", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", ".", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", ".", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", ".", "EndCOFFSymbolDef", "(", ")", ";", "}", "EmitFunctionHeader", "(", ")", ";", "EmitFunctionBody", "(", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmPrinter1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9733, "Length": 122} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "doFinalization", "(", "Module", "&", "M", ")", "{", "if", "(", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "{", "TargetLoweringObjectFileMachO", "&", "TLOFMacho", "=", "static_cast", "<", "TargetLoweringObjectFileMachO", "&", ">", "(", "getObjFileLowering", "(", ")", ")", ";", "O", "<<", "'\\n'", ";", "if", "(", "!", "GVNonLazyPtrs", ".", "empty", "(", ")", ")", "{", "OutStreamer", ".", "SwitchSection", "(", "TLOFMacho", ".", "getNonLazySymbolPointerSection", "(", ")", ")", ";", "EmitAlignment", "(", "2", ")", ";", "for", "(", "StringMap", "<", "std", "::", "string", ">", "::", "iterator", "I", "=", "GVNonLazyPtrs", ".", "begin", "(", ")", ",", "E", "=", "GVNonLazyPtrs", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "O", "<<", "I", "->", "second", "<<", "\":\\n\"", ";", "O", "<<", "\"\\t.indirect_symbol \"", "<<", "I", "->", "getKeyData", "(", ")", "<<", "\"\\n\"", ";", "O", "<<", "\"\\t.long\\t0\\n\"", ";", "}", "}", "if", "(", "!", "HiddenGVNonLazyPtrs", ".", "empty", "(", ")", ")", "{", "OutStreamer", ".", "SwitchSection", "(", "getObjFileLowering", "(", ")", ".", "getDataSection", "(", ")", ")", ";", "EmitAlignment", "(", "2", ")", ";", "for", "(", "StringMap", "<", "std", "::", "string", ">", "::", "iterator", "I", "=", "HiddenGVNonLazyPtrs", ".", "begin", "(", ")", ",", "E", "=", "HiddenGVNonLazyPtrs", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "O", "<<", "I", "->", "second", "<<", "\":\\n\"", ";", "O", "<<", "\"\\t.long \"", "<<", "I", "->", "getKeyData", "(", ")", "<<", "\"\\n\"", ";", "}", "}", "O", "<<", "\"\\t.subsections_via_symbols\\n\"", ";", "}", "return", "AsmPrinter", "::", "doFinalization", "(", "M", ")", ";", "}", ""], "natrual_language": ["doFinalization", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "any", "necessary", "clean", "up", "after", "all", "passes", "have", "run", "."], "TS_V_token": ["ARM", "ARM", "2", "\":\\n\"", "\"\\t.indirect_symbol \"", "\"\\n\"", "\"\\t.long\\t0\\n\"", "2", "\":\\n\"", "\"\\t.long \"", "\"\\n\"", "\"\\t.subsections_via_symbols\\n\""], "File": "ARMAsmPrinter20", "Func": "doFinalization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9734, "Length": 222} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "doInitialization", "(", "Module", "&", "M", ")", "{", "bool", "Result", "=", "AsmPrinter", "::", "doInitialization", "(", "M", ")", ";", "DW", "=", "getAnalysisIfAvailable", "<", "DwarfWriter", ">", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "O", "<<", "\"\\t.syntax unified\\n\"", ";", "if", "(", "Subtarget", "->", "isTargetELF", "(", ")", ")", "{", "std", "::", "string", "CPUString", "=", "Subtarget", "->", "getCPUString", "(", ")", ";", "if", "(", "CPUString", "!=", "\"generic\"", ")", "O", "<<", "\"\\t.cpu \"", "<<", "CPUString", "<<", "'\\n'", ";", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", ")", "O", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "VFP_arch", "<<", "\", 2\\n\"", ";", "if", "(", "!", "UnsafeFPMath", ")", "O", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_FP_denormal", "<<", "\", 1\\n\"", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_FP_exceptions", "<<", "\", 1\\n\"", ";", "if", "(", "FiniteOnlyFPMath", "(", ")", ")", "O", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_FP_number_model", "<<", "\", 1\\n\"", ";", "else", "O", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_FP_number_model", "<<", "\", 3\\n\"", ";", "O", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_align8_needed", "<<", "\", 1\\n\"", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_align8_preserved", "<<", "\", 1\\n\"", ";", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "&&", "FloatABIType", "==", "FloatABI", "::", "Hard", ")", "O", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_HardFP_use", "<<", "\", 3\\n\"", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_VFP_args", "<<", "\", 1\\n\"", ";", "}", "return", "Result", ";", "}", ""], "natrual_language": ["Set", "up", "the", "AsmPrinter", "when", "we", "are", "working", "on", "a", "new", "module", "."], "TS_V_token": ["ARM", "ARM", "\"\\t.syntax unified\\n\"", "\"generic\"", "\"\\t.cpu \"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::VFP_arch", "\", 2\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_FP_denormal", "\", 1\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_FP_exceptions", "\", 1\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_FP_number_model", "\", 1\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_FP_number_model", "\", 3\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_align8_needed", "\", 1\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_align8_preserved", "\", 1\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_HardFP_use", "\", 3\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_VFP_args", "\", 1\\n\""], "File": "ARMAsmPrinter20", "Func": "doInitialization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9735, "Length": 198} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmMemoryOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "return", "true", ";", "printAddrMode2Operand", "(", "MI", ",", "OpNum", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Print", "the", "specified", "operand", "of", "MI", ",", "an", "INLINEASM", "instruction", ",", "using", "the", "specified", "assembler", "variant", "as", "an", "address", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMAsmPrinter20", "Func": "PrintAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9736, "Length": 45} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "{", "if", "(", "ExtraCode", "[", "1", "]", "!=", "0", ")", "return", "true", ";", "switch", "(", "ExtraCode", "[", "0", "]", ")", "{", "default", ":", "return", "true", ";", "case", "'a'", ":", "if", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isReg", "(", ")", ")", "{", "O", "<<", "\"[\"", "<<", "TRI", "->", "getAsmName", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "getReg", "(", ")", ")", "<<", "\"]\"", ";", "return", "false", ";", "}", "case", "'c'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isImm", "(", ")", ")", "return", "true", ";", "printNoHashImmediate", "(", "MI", ",", "OpNum", ")", ";", "return", "false", ";", "case", "'P'", ":", "printOperand", "(", "MI", ",", "OpNum", ")", ";", "return", "false", ";", "case", "'Q'", ":", "if", "(", "TM", ".", "getTargetData", "(", ")", "->", "isLittleEndian", "(", ")", ")", "break", ";", "case", "'R'", ":", "if", "(", "TM", ".", "getTargetData", "(", ")", "->", "isBigEndian", "(", ")", ")", "break", ";", "case", "'H'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isReg", "(", ")", "||", "OpNum", "+", "1", "==", "MI", "->", "getNumOperands", "(", ")", "||", "!", "MI", "->", "getOperand", "(", "OpNum", "+", "1", ")", ".", "isReg", "(", ")", ")", "return", "true", ";", "++", "OpNum", ";", "}", "}", "printOperand", "(", "MI", ",", "OpNum", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["PrintAsmOperand", "-", "Print", "out", "an", "operand", "for", "an", "inline", "asm", "expression", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "0", "\"[\"", "\"]\"", "1", "1"], "File": "ARMAsmPrinter20", "Func": "PrintAsmOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9737, "Length": 237} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "this", "->", "MF", "=", "&", "MF", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "O", "<<", "\"\\n\"", ";", "O", "<<", "'\\n'", ";", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "OutStreamer", ".", "SwitchSection", "(", "getObjFileLowering", "(", ")", ".", "SectionForGlobal", "(", "F", ",", "Mang", ",", "TM", ")", ")", ";", "switch", "(", "F", "->", "getLinkage", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unknown linkage type!\"", ")", ";", "case", "Function", "::", "PrivateLinkage", ":", "case", "Function", "::", "LinkerPrivateLinkage", ":", "case", "Function", "::", "InternalLinkage", ":", "break", ";", "case", "Function", "::", "ExternalLinkage", ":", "O", "<<", "\"\\t.globl\\t\"", "<<", "CurrentFnName", "<<", "\"\\n\"", ";", "break", ";", "case", "Function", "::", "WeakAnyLinkage", ":", "case", "Function", "::", "WeakODRLinkage", ":", "case", "Function", "::", "LinkOnceAnyLinkage", ":", "case", "Function", "::", "LinkOnceODRLinkage", ":", "if", "(", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "{", "O", "<<", "\"\\t.globl\\t\"", "<<", "CurrentFnName", "<<", "\"\\n\"", ";", "O", "<<", "\"\\t.weak_definition\\t\"", "<<", "CurrentFnName", "<<", "\"\\n\"", ";", "}", "else", "{", "O", "<<", "TAI", "->", "getWeakRefDirective", "(", ")", "<<", "CurrentFnName", "<<", "\"\\n\"", ";", "}", "break", ";", "}", "printVisibility", "(", "CurrentFnName", ",", "F", "->", "getVisibility", "(", ")", ")", ";", "if", "(", "AFI", "->", "isThumbFunction", "(", ")", ")", "{", "EmitAlignment", "(", "MF", ".", "getAlignment", "(", ")", ",", "F", ",", "AFI", "->", "getAlign", "(", ")", ")", ";", "O", "<<", "\"\\t.code\\t16\\n\"", ";", "O", "<<", "\"\\t.thumb_func\"", ";", "if", "(", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "O", "<<", "\"\\t\"", "<<", "CurrentFnName", ";", "O", "<<", "\"\\n\"", ";", "InCPMode", "=", "false", ";", "}", "else", "{", "EmitAlignment", "(", "MF", ".", "getAlignment", "(", ")", ",", "F", ")", ";", "}", "O", "<<", "CurrentFnName", "<<", "\":\\n\"", ";", "DW", "->", "BeginFunction", "(", "&", "MF", ")", ";", "if", "(", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "{", "MachineFunction", "::", "iterator", "I", "=", "MF", ".", "begin", "(", ")", ";", "if", "(", "++", "I", "==", "MF", ".", "end", "(", ")", "&&", "MF", ".", "front", "(", ")", ".", "empty", "(", ")", ")", "O", "<<", "\"\\tnop\\n\"", ";", "}", "for", "(", "MachineFunction", "::", "const_iterator", "I", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "if", "(", "I", "!=", "MF", ".", "begin", "(", ")", ")", "{", "printBasicBlockLabel", "(", "I", ",", "true", ",", "true", ",", "VerboseAsm", ")", ";", "O", "<<", "'\\n'", ";", "}", "for", "(", "MachineBasicBlock", "::", "const_iterator", "II", "=", "I", "->", "begin", "(", ")", ",", "E", "=", "I", "->", "end", "(", ")", ";", "II", "!=", "E", ";", "++", "II", ")", "{", "printMachineInstruction", "(", "II", ")", ";", "}", "}", "if", "(", "TAI", "->", "hasDotTypeDotSizeDirective", "(", ")", ")", "O", "<<", "\"\\t.size \"", "<<", "CurrentFnName", "<<", "\", .-\"", "<<", "CurrentFnName", "<<", "\"\\n\"", ";", "DW", "->", "EndFunction", "(", "&", "MF", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"\\n\"", "\"Unknown linkage type!\"", "\"\\t.globl\\t\"", "\"\\n\"", "\"\\t.globl\\t\"", "\"\\n\"", "\"\\t.weak_definition\\t\"", "\"\\n\"", "\"\\n\"", "\"\\t.code\\t16\\n\"", "\"\\t.thumb_func\"", "\"\\t\"", "\"\\n\"", "\":\\n\"", "\"\\tnop\\n\"", "\"\\t.size \"", "\", .-\"", "\"\\n\""], "File": "ARMAsmPrinter20", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9738, "Length": 456} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "LLVM_OVERRIDE", "{", "return", "\"ARM Assembly / Object Emitter\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Assembly / Object Emitter\""], "File": "ARMAsmPrinter21", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9739, "Length": 14} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Subtarget", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "Subtarget", "->", "isTargetNaCl", "(", ")", ")", "{", "NaClAlignAllJumpTargetsAndConstantPools", "(", "MF", ")", ";", "}", "SetupMachineFunction", "(", "MF", ")", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "MF", ".", "getFunction", "(", ")", "->", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", ".", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", ".", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", ".", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", ".", "EndCOFFSymbolDef", "(", ")", ";", "}", "EmitFunctionBody", "(", ")", ";", "if", "(", "!", "ThumbIndirectPads", ".", "empty", "(", ")", ")", "{", "OutStreamer", ".", "EmitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "EmitAlignment", "(", "1", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "ThumbIndirectPads", ".", "size", "(", ")", ";", "i", "<", "e", ";", "i", "++", ")", "{", "OutStreamer", ".", "EmitLabel", "(", "ThumbIndirectPads", "[", "i", "]", ".", "second", ")", ";", "EmitToStreamer", "(", "OutStreamer", ",", "MCInstBuilder", "(", "ARM", "::", "tBX", ")", ".", "addReg", "(", "ThumbIndirectPads", "[", "i", "]", ".", "first", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ")", ";", "}", "ThumbIndirectPads", ".", "clear", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "1", "0", "ARM::tBX", "ARMCC::AL", "0"], "File": "ARMAsmPrinter22", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9740, "Length": 244} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Subtarget", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "for", "(", "auto", "*", "GV", ":", "AFI", "->", "getGlobalsPromotedToConstantPool", "(", ")", ")", "PromotedGlobals", ".", "insert", "(", "GV", ")", ";", "unsigned", "OptimizationGoal", ";", "if", "(", "F", "->", "hasFnAttribute", "(", "Attribute", "::", "OptimizeNone", ")", ")", "OptimizationGoal", "=", "6", ";", "else", "if", "(", "F", "->", "optForMinSize", "(", ")", ")", "OptimizationGoal", "=", "4", ";", "else", "if", "(", "F", "->", "optForSize", "(", ")", ")", "OptimizationGoal", "=", "3", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "OptimizationGoal", "=", "2", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", ">", "CodeGenOpt", "::", "None", ")", "OptimizationGoal", "=", "1", ";", "else", "OptimizationGoal", "=", "5", ";", "if", "(", "OptimizationGoals", "==", "-", "1", ")", "OptimizationGoals", "=", "OptimizationGoal", ";", "else", "if", "(", "OptimizationGoals", "!=", "(", "int", ")", "OptimizationGoal", ")", "OptimizationGoals", "=", "0", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "F", "->", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", "->", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", "->", "EndCOFFSymbolDef", "(", ")", ";", "}", "EmitFunctionBody", "(", ")", ";", "emitXRayTable", "(", ")", ";", "if", "(", "!", "ThumbIndirectPads", ".", "empty", "(", ")", ")", "{", "OutStreamer", "->", "EmitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "EmitAlignment", "(", "1", ")", ";", "for", "(", "std", "::", "pair", "<", "unsigned", ",", "MCSymbol", "*", ">", "&", "TIP", ":", "ThumbIndirectPads", ")", "{", "OutStreamer", "->", "EmitLabel", "(", "TIP", ".", "second", ")", ";", "EmitToStreamer", "(", "*", "OutStreamer", ",", "MCInstBuilder", "(", "ARM", "::", "tBX", ")", ".", "addReg", "(", "TIP", ".", "first", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ")", ";", "}", "ThumbIndirectPads", ".", "clear", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "6", "4", "3", "2", "1", "5", "1", "0", "1", "ARM::tBX", "ARMCC::AL", "0"], "File": "ARMAsmPrinter27", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9741, "Length": 367} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "EmitInstruction", "(", "const", "MachineInstr", "*", "MI", ")", "{", "if", "(", "EnableMCInst", ")", "{", "printInstructionThroughMCStreamer", "(", "MI", ")", ";", "return", ";", "}", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "CONSTPOOL_ENTRY", ")", "EmitAlignment", "(", "2", ")", ";", "SmallString", "<", "128", ">", "Str", ";", "raw_svector_ostream", "OS", "(", "Str", ")", ";", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "DBG_VALUE", ")", "{", "unsigned", "NOps", "=", "MI", "->", "getNumOperands", "(", ")", ";", "assert", "(", "NOps", "==", "4", ")", ";", "OS", "<<", "'\\t'", "<<", "MAI", "->", "getCommentString", "(", ")", "<<", "\"DEBUG_VALUE: \"", ";", "DIVariable", "V", "(", "const_cast", "<", "MDNode", "*", ">", "(", "MI", "->", "getOperand", "(", "NOps", "-", "1", ")", ".", "getMetadata", "(", ")", ")", ")", ";", "OS", "<<", "V", ".", "getName", "(", ")", ";", "OS", "<<", "\" <- \"", ";", "assert", "(", "MI", "->", "getOperand", "(", "0", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "1", ")", ".", "isImm", "(", ")", ")", ";", "OS", "<<", "'['", ";", "printOperand", "(", "MI", ",", "0", ",", "OS", ")", ";", "OS", "<<", "'+'", ";", "printOperand", "(", "MI", ",", "1", ",", "OS", ")", ";", "OS", "<<", "']'", ";", "OS", "<<", "\"+\"", ";", "printOperand", "(", "MI", ",", "NOps", "-", "2", ",", "OS", ")", ";", "OutStreamer", ".", "EmitRawText", "(", "OS", ".", "str", "(", ")", ")", ";", "return", ";", "}", "printInstruction", "(", "MI", ",", "OS", ")", ";", "OutStreamer", ".", "EmitRawText", "(", "OS", ".", "str", "(", ")", ")", ";", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2TBB", ")", "EmitAlignment", "(", "1", ")", ";", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM", "ARM::CONSTPOOL_ENTRY", "2", "128", "ARM::DBG_VALUE", "4", "\"DEBUG_VALUE: \"", "1", "\" <- \"", "0", "1", "0", "1", "\"+\"", "2", "ARM::t2TBB", "1"], "File": "ARMAsmPrinter29", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9742, "Length": 250} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ",", "raw_ostream", "&", "O", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "{", "if", "(", "ExtraCode", "[", "1", "]", "!=", "0", ")", "return", "true", ";", "switch", "(", "ExtraCode", "[", "0", "]", ")", "{", "default", ":", "return", "true", ";", "case", "'a'", ":", "if", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isReg", "(", ")", ")", "{", "O", "<<", "\"[\"", "<<", "getRegisterName", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "getReg", "(", ")", ")", "<<", "\"]\"", ";", "return", "false", ";", "}", "case", "'c'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isImm", "(", ")", ")", "return", "true", ";", "printNoHashImmediate", "(", "MI", ",", "OpNum", ",", "O", ")", ";", "return", "false", ";", "case", "'P'", ":", "case", "'q'", ":", "printOperand", "(", "MI", ",", "OpNum", ",", "O", ")", ";", "return", "false", ";", "case", "'Q'", ":", "case", "'R'", ":", "case", "'H'", ":", "report_fatal_error", "(", "\"llvm does not support 'Q', 'R', and 'H' modifiers!\"", ")", ";", "return", "true", ";", "}", "}", "printOperand", "(", "MI", ",", "OpNum", ",", "O", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["PrintAsmOperand", "-", "Print", "out", "an", "operand", "for", "an", "inline", "asm", "expression", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "0", "\"[\"", "\"]\"", "\"llvm does not support 'Q', 'R', and 'H' modifiers!\""], "File": "ARMAsmPrinter29", "Func": "PrintAsmOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9743, "Length": 184} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "MF", ".", "getFunction", "(", ")", "->", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", ".", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", ".", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", ".", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", ".", "EndCOFFSymbolDef", "(", ")", ";", "}", "EmitFunctionHeader", "(", ")", ";", "EmitFunctionBody", "(", ")", ";", "if", "(", "!", "ThumbIndirectPads", ".", "empty", "(", ")", ")", "{", "OutStreamer", ".", "EmitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "EmitAlignment", "(", "1", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "ThumbIndirectPads", ".", "size", "(", ")", ";", "i", "<", "e", ";", "i", "++", ")", "{", "OutStreamer", ".", "EmitLabel", "(", "ThumbIndirectPads", "[", "i", "]", ".", "second", ")", ";", "EmitToStreamer", "(", "OutStreamer", ",", "MCInstBuilder", "(", "ARM", "::", "tBX", ")", ".", "addReg", "(", "ThumbIndirectPads", "[", "i", "]", ".", "first", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ")", ";", "}", "ThumbIndirectPads", ".", "clear", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "1", "0", "ARM::tBX", "ARMCC::AL", "0"], "File": "ARMAsmPrinter30", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9744, "Length": 221} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "doFinalization", "(", "Module", "&", "M", ")", "{", "for", "(", "Module", "::", "const_global_iterator", "I", "=", "M", ".", "global_begin", "(", ")", ",", "E", "=", "M", ".", "global_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "printModuleLevelGV", "(", "I", ")", ";", "if", "(", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "{", "SwitchToDataSection", "(", "\"\"", ")", ";", "for", "(", "StringSet", "<", ">", "::", "iterator", "i", "=", "FnStubs", ".", "begin", "(", ")", ",", "e", "=", "FnStubs", ".", "end", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "if", "(", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ")", "SwitchToTextSection", "(", "\".section __TEXT,__picsymbolstub4,symbol_stubs,\"", "\"none,16\"", ",", "0", ")", ";", "else", "SwitchToTextSection", "(", "\".section __TEXT,__symbol_stub4,symbol_stubs,\"", "\"none,12\"", ",", "0", ")", ";", "EmitAlignment", "(", "2", ")", ";", "O", "<<", "\"\\t.code\\t32\\n\"", ";", "const", "char", "*", "p", "=", "i", "->", "getKeyData", "(", ")", ";", "printSuffixedName", "(", "p", ",", "\"$stub\"", ")", ";", "O", "<<", "\":\\n\"", ";", "O", "<<", "\"\\t.indirect_symbol \"", "<<", "p", "<<", "\"\\n\"", ";", "O", "<<", "\"\\tldr ip, \"", ";", "printSuffixedName", "(", "p", ",", "\"$slp\"", ")", ";", "O", "<<", "\"\\n\"", ";", "if", "(", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ")", "{", "printSuffixedName", "(", "p", ",", "\"$scv\"", ")", ";", "O", "<<", "\":\\n\"", ";", "O", "<<", "\"\\tadd ip, pc, ip\\n\"", ";", "}", "O", "<<", "\"\\tldr pc, [ip, #0]\\n\"", ";", "printSuffixedName", "(", "p", ",", "\"$slp\"", ")", ";", "O", "<<", "\":\\n\"", ";", "O", "<<", "\"\\t.long\\t\"", ";", "printSuffixedName", "(", "p", ",", "\"$lazy_ptr\"", ")", ";", "if", "(", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ")", "{", "O", "<<", "\"-(\"", ";", "printSuffixedName", "(", "p", ",", "\"$scv\"", ")", ";", "O", "<<", "\"+8)\\n\"", ";", "}", "else", "O", "<<", "\"\\n\"", ";", "SwitchToDataSection", "(", "\".lazy_symbol_pointer\"", ",", "0", ")", ";", "printSuffixedName", "(", "p", ",", "\"$lazy_ptr\"", ")", ";", "O", "<<", "\":\\n\"", ";", "O", "<<", "\"\\t.indirect_symbol \"", "<<", "p", "<<", "\"\\n\"", ";", "O", "<<", "\"\\t.long\\tdyld_stub_binding_helper\\n\"", ";", "}", "O", "<<", "\"\\n\"", ";", "if", "(", "!", "GVNonLazyPtrs", ".", "empty", "(", ")", ")", "{", "SwitchToDataSection", "(", "\"\\t.non_lazy_symbol_pointer\"", ",", "0", ")", ";", "for", "(", "StringSet", "<", ">", "::", "iterator", "i", "=", "GVNonLazyPtrs", ".", "begin", "(", ")", ",", "e", "=", "GVNonLazyPtrs", ".", "end", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "char", "*", "p", "=", "i", "->", "getKeyData", "(", ")", ";", "printSuffixedName", "(", "p", ",", "\"$non_lazy_ptr\"", ")", ";", "O", "<<", "\":\\n\"", ";", "O", "<<", "\"\\t.indirect_symbol \"", "<<", "p", "<<", "\"\\n\"", ";", "O", "<<", "\"\\t.long\\t0\\n\"", ";", "}", "}", "if", "(", "!", "HiddenGVNonLazyPtrs", ".", "empty", "(", ")", ")", "{", "SwitchToSection", "(", "TAI", "->", "getDataSection", "(", ")", ")", ";", "for", "(", "StringSet", "<", ">", "::", "iterator", "i", "=", "HiddenGVNonLazyPtrs", ".", "begin", "(", ")", ",", "e", "=", "HiddenGVNonLazyPtrs", ".", "end", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "char", "*", "p", "=", "i", "->", "getKeyData", "(", ")", ";", "EmitAlignment", "(", "2", ")", ";", "printSuffixedName", "(", "p", ",", "\"$non_lazy_ptr\"", ")", ";", "O", "<<", "\":\\n\"", ";", "O", "<<", "\"\\t.long \"", "<<", "p", "<<", "\"\\n\"", ";", "}", "}", "DW", "->", "EndModule", "(", ")", ";", "O", "<<", "\"\\t.subsections_via_symbols\\n\"", ";", "}", "else", "{", "DW", "->", "EndModule", "(", ")", ";", "}", "return", "AsmPrinter", "::", "doFinalization", "(", "M", ")", ";", "}", ""], "natrual_language": ["doFinalization", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "any", "necessary", "clean", "up", "after", "all", "passes", "have", "run", "."], "TS_V_token": ["ARM", "ARM", "\"\"", "\".section __TEXT,__picsymbolstub4,symbol_stubs,\"", "\"none,16\"", "0", "\".section __TEXT,__symbol_stub4,symbol_stubs,\"", "\"none,12\"", "0", "2", "\"\\t.code\\t32\\n\"", "\"$stub\"", "\":\\n\"", "\"\\t.indirect_symbol \"", "\"\\n\"", "\"\\tldr ip, \"", "\"$slp\"", "\"\\n\"", "\"$scv\"", "\":\\n\"", "\"\\tadd ip, pc, ip\\n\"", "\"\\tldr pc, [ip, #0]\\n\"", "\"$slp\"", "\":\\n\"", "\"\\t.long\\t\"", "\"$lazy_ptr\"", "\"-(\"", "\"$scv\"", "\"+8)\\n\"", "\"\\n\"", "\".lazy_symbol_pointer\"", "0", "\"$lazy_ptr\"", "\":\\n\"", "\"\\t.indirect_symbol \"", "\"\\n\"", "\"\\t.long\\tdyld_stub_binding_helper\\n\"", "\"\\n\"", "\"\\t.non_lazy_symbol_pointer\"", "0", "\"$non_lazy_ptr\"", "\":\\n\"", "\"\\t.indirect_symbol \"", "\"\\n\"", "\"\\t.long\\t0\\n\"", "2", "\"$non_lazy_ptr\"", "\":\\n\"", "\"\\t.long \"", "\"\\n\"", "\"\\t.subsections_via_symbols\\n\""], "File": "ARMAsmPrinter31", "Func": "doFinalization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9745, "Length": 495} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "doInitialization", "(", "Module", "&", "M", ")", "{", "bool", "Result", "=", "AsmPrinter", "::", "doInitialization", "(", "M", ")", ";", "MMI", "=", "getAnalysisIfAvailable", "<", "MachineModuleInfo", ">", "(", ")", ";", "assert", "(", "MMI", ")", ";", "DW", "=", "getAnalysisIfAvailable", "<", "DwarfWriter", ">", "(", ")", ";", "assert", "(", "DW", "&&", "\"Dwarf Writer is not available\"", ")", ";", "DW", "->", "BeginModule", "(", "&", "M", ",", "MMI", ",", "O", ",", "this", ",", "TAI", ")", ";", "if", "(", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "Mang", "->", "setUseQuotes", "(", "true", ")", ";", "if", "(", "Subtarget", "->", "isTargetELF", "(", ")", ")", "{", "std", "::", "string", "CPUString", "=", "Subtarget", "->", "getCPUString", "(", ")", ";", "if", "(", "CPUString", "!=", "\"generic\"", ")", "O", "<<", "\"\\t.cpu \"", "<<", "CPUString", "<<", "'\\n'", ";", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", ")", "O", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "VFP_arch", "<<", "\", 2\\n\"", ";", "if", "(", "!", "UnsafeFPMath", ")", "O", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_FP_denormal", "<<", "\", 1\\n\"", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_FP_exceptions", "<<", "\", 1\\n\"", ";", "if", "(", "FiniteOnlyFPMath", "(", ")", ")", "O", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_FP_number_model", "<<", "\", 1\\n\"", ";", "else", "O", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_FP_number_model", "<<", "\", 3\\n\"", ";", "O", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_align8_needed", "<<", "\", 1\\n\"", "<<", "\"\\t.eabi_attribute \"", "<<", "ARMBuildAttrs", "::", "ABI_align8_preserved", "<<", "\", 1\\n\"", ";", "}", "return", "Result", ";", "}", ""], "natrual_language": ["Set", "up", "the", "AsmPrinter", "when", "we", "are", "working", "on", "a", "new", "module", "."], "TS_V_token": ["ARM", "ARM", "\"Dwarf Writer is not available\"", "\"generic\"", "\"\\t.cpu \"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::VFP_arch", "\", 2\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_FP_denormal", "\", 1\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_FP_exceptions", "\", 1\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_FP_number_model", "\", 1\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_FP_number_model", "\", 3\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_align8_needed", "\", 1\\n\"", "\"\\t.eabi_attribute \"", "ARMBuildAttrs::ABI_align8_preserved", "\", 1\\n\""], "File": "ARMAsmPrinter31", "Func": "doInitialization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9746, "Length": 206} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmMemoryOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNo", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "return", "true", ";", "printAddrMode2Operand", "(", "MI", ",", "OpNo", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Print", "the", "specified", "operand", "of", "MI", ",", "an", "INLINEASM", "instruction", ",", "using", "the", "specified", "assembler", "variant", "as", "an", "address", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMAsmPrinter31", "Func": "PrintAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9747, "Length": 45} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNo", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "{", "if", "(", "ExtraCode", "[", "1", "]", "!=", "0", ")", "return", "true", ";", "switch", "(", "ExtraCode", "[", "0", "]", ")", "{", "default", ":", "return", "true", ";", "case", "'a'", ":", "case", "'c'", ":", "printOperand", "(", "MI", ",", "OpNo", ",", "\"no_hash\"", ")", ";", "return", "false", ";", "case", "'P'", ":", "printOperand", "(", "MI", ",", "OpNo", ")", ";", "return", "false", ";", "case", "'Q'", ":", "if", "(", "TM", ".", "getTargetData", "(", ")", "->", "isLittleEndian", "(", ")", ")", "break", ";", "case", "'R'", ":", "if", "(", "TM", ".", "getTargetData", "(", ")", "->", "isBigEndian", "(", ")", ")", "break", ";", "case", "'H'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNo", ")", ".", "isReg", "(", ")", "||", "OpNo", "+", "1", "==", "MI", "->", "getNumOperands", "(", ")", "||", "!", "MI", "->", "getOperand", "(", "OpNo", "+", "1", ")", ".", "isReg", "(", ")", ")", "return", "true", ";", "++", "OpNo", ";", "}", "}", "printOperand", "(", "MI", ",", "OpNo", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["PrintAsmOperand", "-", "Print", "out", "an", "operand", "for", "an", "inline", "asm", "expression", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "0", "\"no_hash\"", "1", "1"], "File": "ARMAsmPrinter31", "Func": "PrintAsmOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9748, "Length": 182} {"ground_truth": ["", "Register", "(", ")", "{", "ARMTargetMachine", "::", "registerAsmPrinter", "(", "createARMCodePrinterPass", ")", ";", "}", ""], "natrual_language": ["Base", "register", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmPrinter31", "Func": "Register", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9749, "Length": 12} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "this", "->", "MF", "=", "&", "MF", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "O", "<<", "\"\\n\"", ";", "O", "<<", "\"\\n\"", ";", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "switch", "(", "F", "->", "getLinkage", "(", ")", ")", "{", "default", ":", "assert", "(", "0", "&&", "\"Unknown linkage type!\"", ")", ";", "case", "Function", "::", "PrivateLinkage", ":", "case", "Function", "::", "InternalLinkage", ":", "SwitchToTextSection", "(", "\"\\t.text\"", ",", "F", ")", ";", "break", ";", "case", "Function", "::", "ExternalLinkage", ":", "SwitchToTextSection", "(", "\"\\t.text\"", ",", "F", ")", ";", "O", "<<", "\"\\t.globl\\t\"", "<<", "CurrentFnName", "<<", "\"\\n\"", ";", "break", ";", "case", "Function", "::", "WeakAnyLinkage", ":", "case", "Function", "::", "WeakODRLinkage", ":", "case", "Function", "::", "LinkOnceAnyLinkage", ":", "case", "Function", "::", "LinkOnceODRLinkage", ":", "if", "(", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "{", "SwitchToTextSection", "(", "\".section __TEXT,__textcoal_nt,coalesced,pure_instructions\"", ",", "F", ")", ";", "O", "<<", "\"\\t.globl\\t\"", "<<", "CurrentFnName", "<<", "\"\\n\"", ";", "O", "<<", "\"\\t.weak_definition\\t\"", "<<", "CurrentFnName", "<<", "\"\\n\"", ";", "}", "else", "{", "O", "<<", "TAI", "->", "getWeakRefDirective", "(", ")", "<<", "CurrentFnName", "<<", "\"\\n\"", ";", "}", "break", ";", "}", "printVisibility", "(", "CurrentFnName", ",", "F", "->", "getVisibility", "(", ")", ")", ";", "if", "(", "AFI", "->", "isThumbFunction", "(", ")", ")", "{", "EmitAlignment", "(", "1", ",", "F", ",", "AFI", "->", "getAlign", "(", ")", ")", ";", "O", "<<", "\"\\t.code\\t16\\n\"", ";", "O", "<<", "\"\\t.thumb_func\"", ";", "if", "(", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "O", "<<", "\"\\t\"", "<<", "CurrentFnName", ";", "O", "<<", "\"\\n\"", ";", "InCPMode", "=", "false", ";", "}", "else", "EmitAlignment", "(", "2", ",", "F", ")", ";", "O", "<<", "CurrentFnName", "<<", "\":\\n\"", ";", "DW", "->", "BeginFunction", "(", "&", "MF", ")", ";", "if", "(", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "{", "MachineFunction", "::", "iterator", "I", "=", "MF", ".", "begin", "(", ")", ";", "if", "(", "++", "I", "==", "MF", ".", "end", "(", ")", "&&", "MF", ".", "front", "(", ")", ".", "empty", "(", ")", ")", "O", "<<", "\"\\tnop\\n\"", ";", "}", "for", "(", "MachineFunction", "::", "const_iterator", "I", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "if", "(", "I", "!=", "MF", ".", "begin", "(", ")", ")", "{", "printBasicBlockLabel", "(", "I", ",", "true", ",", "true", ",", "VerboseAsm", ")", ";", "O", "<<", "'\\n'", ";", "}", "for", "(", "MachineBasicBlock", "::", "const_iterator", "II", "=", "I", "->", "begin", "(", ")", ",", "E", "=", "I", "->", "end", "(", ")", ";", "II", "!=", "E", ";", "++", "II", ")", "{", "printMachineInstruction", "(", "II", ")", ";", "}", "}", "if", "(", "TAI", "->", "hasDotTypeDotSizeDirective", "(", ")", ")", "O", "<<", "\"\\t.size \"", "<<", "CurrentFnName", "<<", "\", .-\"", "<<", "CurrentFnName", "<<", "\"\\n\"", ";", "DW", "->", "EndFunction", "(", "&", "MF", ")", ";", "O", ".", "flush", "(", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"\\n\"", "\"\\n\"", "0", "\"Unknown linkage type!\"", "\"\\t.text\"", "\"\\t.text\"", "\"\\t.globl\\t\"", "\"\\n\"", "\".section __TEXT,__textcoal_nt,coalesced,pure_instructions\"", "\"\\t.globl\\t\"", "\"\\n\"", "\"\\t.weak_definition\\t\"", "\"\\n\"", "\"\\n\"", "1", "\"\\t.code\\t16\\n\"", "\"\\t.thumb_func\"", "\"\\t\"", "\"\\n\"", "2", "\":\\n\"", "\"\\tnop\\n\"", "\"\\t.size \"", "\", .-\"", "\"\\n\""], "File": "ARMAsmPrinter31", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9750, "Length": 452} {"ground_truth": ["", "void", "Finish", "(", ")", "{", "const", "size_t", "ContentsSize", "=", "Contents", ".", "size", "(", ")", ";", "const", "size_t", "VendorHeaderSize", "=", "4", "+", "CurrentVendor", ".", "size", "(", ")", "+", "1", ";", "const", "size_t", "TagHeaderSize", "=", "1", "+", "4", ";", "Streamer", ".", "EmitIntValue", "(", "VendorHeaderSize", "+", "TagHeaderSize", "+", "ContentsSize", ",", "4", ")", ";", "Streamer", ".", "EmitBytes", "(", "CurrentVendor", ",", "0", ")", ";", "Streamer", ".", "EmitIntValue", "(", "0", ",", "1", ")", ";", "Streamer", ".", "EmitIntValue", "(", "ARMBuildAttrs", "::", "File", ",", "1", ")", ";", "Streamer", ".", "EmitIntValue", "(", "TagHeaderSize", "+", "ContentsSize", ",", "4", ")", ";", "Streamer", ".", "EmitBytes", "(", "Contents", ",", "0", ")", ";", "Contents", ".", "clear", "(", ")", ";", "}", ""], "natrual_language": ["Finish", "-", "Do", "final", "processing", "and", "write", "the", "object", "to", "the", "output", "stream", "."], "TS_V_token": ["ARM", "4", "1", "1", "4", "4", "0", "0", "1", "ARMBuildAttrs::File", "1", "4", "0"], "File": "ARMAsmPrinter32", "Func": "Finish", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9751, "Length": 106} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmMemoryOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ",", "raw_ostream", "&", "O", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "return", "true", ";", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "OpNum", ")", ";", "assert", "(", "MO", ".", "isReg", "(", ")", "&&", "\"unexpected inline asm memory operand\"", ")", ";", "O", "<<", "\"[\"", "<<", "ARMInstPrinter", "::", "getRegisterName", "(", "MO", ".", "getReg", "(", ")", ")", "<<", "\"]\"", ";", "return", "false", ";", "}", ""], "natrual_language": ["Print", "the", "specified", "operand", "of", "MI", ",", "an", "INLINEASM", "instruction", ",", "using", "the", "specified", "assembler", "variant", "as", "an", "address", "."], "TS_V_token": ["ARM", "ARM", "0", "\"unexpected inline asm memory operand\"", "\"[\"", "ARM", "\"]\""], "File": "ARMAsmPrinter32", "Func": "PrintAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9752, "Length": 82} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ",", "raw_ostream", "&", "O", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "{", "if", "(", "ExtraCode", "[", "1", "]", "!=", "0", ")", "return", "true", ";", "switch", "(", "ExtraCode", "[", "0", "]", ")", "{", "default", ":", "return", "true", ";", "case", "'a'", ":", "if", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isReg", "(", ")", ")", "{", "O", "<<", "\"[\"", "<<", "ARMInstPrinter", "::", "getRegisterName", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "getReg", "(", ")", ")", "<<", "\"]\"", ";", "return", "false", ";", "}", "case", "'c'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isImm", "(", ")", ")", "return", "true", ";", "O", "<<", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "getImm", "(", ")", ";", "return", "false", ";", "case", "'P'", ":", "case", "'q'", ":", "printOperand", "(", "MI", ",", "OpNum", ",", "O", ")", ";", "return", "false", ";", "case", "'Q'", ":", "case", "'R'", ":", "case", "'H'", ":", "return", "true", ";", "}", "}", "printOperand", "(", "MI", ",", "OpNum", ",", "O", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["PrintAsmOperand", "-", "Print", "out", "an", "operand", "for", "an", "inline", "asm", "expression", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "0", "\"[\"", "ARM", "\"]\""], "File": "ARMAsmPrinter32", "Func": "PrintAsmOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9753, "Length": 185} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitInlineAsmEnd", "(", "const", "MCSubtargetInfo", "&", "StartInfo", ",", "const", "MCSubtargetInfo", "*", "EndInfo", ")", "const", "{", "const", "bool", "WasThumb", "=", "isThumb", "(", "StartInfo", ")", ";", "if", "(", "EndInfo", "==", "NULL", "||", "WasThumb", "!=", "isThumb", "(", "*", "EndInfo", ")", ")", "{", "OutStreamer", ".", "EmitAssemblerFlag", "(", "WasThumb", "?", "MCAF_Code16", ":", "MCAF_Code32", ")", ";", "}", "}", ""], "natrual_language": ["Let", "the", "target", "do", "anything", "it", "needs", "to", "do", "after", "emitting", "inlineasm", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmPrinter33", "Func": "emitInlineAsmEnd", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9754, "Length": 54} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitMachineConstantPoolValue", "(", "MachineConstantPoolValue", "*", "MCPV", ")", "{", "const", "DataLayout", "&", "DL", "=", "getDataLayout", "(", ")", ";", "int", "Size", "=", "DL", ".", "getTypeAllocSize", "(", "MCPV", "->", "getType", "(", ")", ")", ";", "ARMConstantPoolValue", "*", "ACPV", "=", "static_cast", "<", "ARMConstantPoolValue", "*", ">", "(", "MCPV", ")", ";", "if", "(", "ACPV", "->", "isPromotedGlobal", "(", ")", ")", "{", "auto", "*", "ACPC", "=", "cast", "<", "ARMConstantPoolConstant", ">", "(", "ACPV", ")", ";", "for", "(", "const", "auto", "*", "GV", ":", "ACPC", "->", "promotedGlobals", "(", ")", ")", "{", "if", "(", "!", "EmittedPromotedGlobalLabels", ".", "count", "(", "GV", ")", ")", "{", "MCSymbol", "*", "GVSym", "=", "getSymbol", "(", "GV", ")", ";", "OutStreamer", "->", "emitLabel", "(", "GVSym", ")", ";", "EmittedPromotedGlobalLabels", ".", "insert", "(", "GV", ")", ";", "}", "}", "return", "emitGlobalConstant", "(", "DL", ",", "ACPC", "->", "getPromotedGlobalInit", "(", ")", ")", ";", "}", "MCSymbol", "*", "MCSym", ";", "if", "(", "ACPV", "->", "isLSDA", "(", ")", ")", "{", "MCSym", "=", "getCurExceptionSym", "(", ")", ";", "}", "else", "if", "(", "ACPV", "->", "isBlockAddress", "(", ")", ")", "{", "const", "BlockAddress", "*", "BA", "=", "cast", "<", "ARMConstantPoolConstant", ">", "(", "ACPV", ")", "->", "getBlockAddress", "(", ")", ";", "MCSym", "=", "GetBlockAddressSymbol", "(", "BA", ")", ";", "}", "else", "if", "(", "ACPV", "->", "isGlobalValue", "(", ")", ")", "{", "const", "GlobalValue", "*", "GV", "=", "cast", "<", "ARMConstantPoolConstant", ">", "(", "ACPV", ")", "->", "getGV", "(", ")", ";", "unsigned", "char", "TF", "=", "Subtarget", "->", "isTargetMachO", "(", ")", "?", "ARMII", "::", "MO_NONLAZY", ":", "0", ";", "MCSym", "=", "GetARMGVSymbol", "(", "GV", ",", "TF", ")", ";", "}", "else", "if", "(", "ACPV", "->", "isMachineBasicBlock", "(", ")", ")", "{", "const", "MachineBasicBlock", "*", "MBB", "=", "cast", "<", "ARMConstantPoolMBB", ">", "(", "ACPV", ")", "->", "getMBB", "(", ")", ";", "MCSym", "=", "MBB", "->", "getSymbol", "(", ")", ";", "}", "else", "{", "assert", "(", "ACPV", "->", "isExtSymbol", "(", ")", "&&", "\"unrecognized constant pool value\"", ")", ";", "auto", "Sym", "=", "cast", "<", "ARMConstantPoolSymbol", ">", "(", "ACPV", ")", "->", "getSymbol", "(", ")", ";", "MCSym", "=", "GetExternalSymbolSymbol", "(", "Sym", ")", ";", "}", "const", "MCExpr", "*", "Expr", "=", "MCSymbolRefExpr", "::", "create", "(", "MCSym", ",", "getModifierVariantKind", "(", "ACPV", "->", "getModifier", "(", ")", ")", ",", "OutContext", ")", ";", "if", "(", "ACPV", "->", "getPCAdjustment", "(", ")", ")", "{", "MCSymbol", "*", "PCLabel", "=", "getPICLabel", "(", "DL", ".", "getPrivateGlobalPrefix", "(", ")", ",", "getFunctionNumber", "(", ")", ",", "ACPV", "->", "getLabelId", "(", ")", ",", "OutContext", ")", ";", "const", "MCExpr", "*", "PCRelExpr", "=", "MCSymbolRefExpr", "::", "create", "(", "PCLabel", ",", "OutContext", ")", ";", "PCRelExpr", "=", "MCBinaryExpr", "::", "createAdd", "(", "PCRelExpr", ",", "MCConstantExpr", "::", "create", "(", "ACPV", "->", "getPCAdjustment", "(", ")", ",", "OutContext", ")", ",", "OutContext", ")", ";", "if", "(", "ACPV", "->", "mustAddCurrentAddress", "(", ")", ")", "{", "MCSymbol", "*", "DotSym", "=", "OutContext", ".", "createTempSymbol", "(", ")", ";", "OutStreamer", "->", "emitLabel", "(", "DotSym", ")", ";", "const", "MCExpr", "*", "DotExpr", "=", "MCSymbolRefExpr", "::", "create", "(", "DotSym", ",", "OutContext", ")", ";", "PCRelExpr", "=", "MCBinaryExpr", "::", "createSub", "(", "PCRelExpr", ",", "DotExpr", ",", "OutContext", ")", ";", "}", "Expr", "=", "MCBinaryExpr", "::", "createSub", "(", "Expr", ",", "PCRelExpr", ",", "OutContext", ")", ";", "}", "OutStreamer", "->", "emitValue", "(", "Expr", ",", "Size", ")", ";", "}", ""], "natrual_language": ["EmitMachineConstantPoolValue", "-", "Print", "a", "machine", "constantpool", "value", "to", "the", ".s", "file", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARMII::MO_NONLAZY", "0", "ARM", "ARM", "\"unrecognized constant pool value\"", "ARM"], "File": "ARMAsmPrinter35", "Func": "emitMachineConstantPoolValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9755, "Length": 483} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ",", "raw_ostream", "&", "O", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "{", "if", "(", "ExtraCode", "[", "1", "]", "!=", "0", ")", "return", "true", ";", "switch", "(", "ExtraCode", "[", "0", "]", ")", "{", "default", ":", "return", "true", ";", "case", "'a'", ":", "if", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isReg", "(", ")", ")", "{", "O", "<<", "\"[\"", "<<", "ARMInstPrinter", "::", "getRegisterName", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "getReg", "(", ")", ")", "<<", "\"]\"", ";", "return", "false", ";", "}", "case", "'c'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isImm", "(", ")", ")", "return", "true", ";", "O", "<<", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "getImm", "(", ")", ";", "return", "false", ";", "case", "'P'", ":", "case", "'q'", ":", "printOperand", "(", "MI", ",", "OpNum", ",", "O", ")", ";", "return", "false", ";", "case", "'Q'", ":", "case", "'R'", ":", "case", "'H'", ":", "report_fatal_error", "(", "\"llvm does not support 'Q', 'R', and 'H' modifiers!\"", ")", ";", "return", "true", ";", "}", "}", "printOperand", "(", "MI", ",", "OpNum", ",", "O", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["PrintAsmOperand", "-", "Print", "out", "an", "operand", "for", "an", "inline", "asm", "expression", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "0", "\"[\"", "ARM", "\"]\"", "\"llvm does not support 'Q', 'R', and 'H' modifiers!\""], "File": "ARMAsmPrinter40", "Func": "PrintAsmOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9756, "Length": 190} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "if", "(", "FlagSfiBranch", ")", "{", "NaclAlignAllJumpTargetsAndConstantPools", "(", "MF", ")", ";", "}", "return", "AsmPrinter", "::", "runOnMachineFunction", "(", "MF", ")", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmPrinter55", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9757, "Length": 49} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Subtarget", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "for", "(", "auto", "*", "GV", ":", "AFI", "->", "getGlobalsPromotedToConstantPool", "(", ")", ")", "PromotedGlobals", ".", "insert", "(", "GV", ")", ";", "unsigned", "OptimizationGoal", ";", "if", "(", "F", ".", "hasOptNone", "(", ")", ")", "OptimizationGoal", "=", "6", ";", "else", "if", "(", "F", ".", "hasMinSize", "(", ")", ")", "OptimizationGoal", "=", "4", ";", "else", "if", "(", "F", ".", "hasOptSize", "(", ")", ")", "OptimizationGoal", "=", "3", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "OptimizationGoal", "=", "2", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", ">", "CodeGenOpt", "::", "None", ")", "OptimizationGoal", "=", "1", ";", "else", "OptimizationGoal", "=", "5", ";", "if", "(", "OptimizationGoals", "==", "-", "1", ")", "OptimizationGoals", "=", "OptimizationGoal", ";", "else", "if", "(", "OptimizationGoals", "!=", "(", "int", ")", "OptimizationGoal", ")", "OptimizationGoals", "=", "0", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "F", ".", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", "->", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", "->", "emitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", "->", "emitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", "->", "EndCOFFSymbolDef", "(", ")", ";", "}", "emitFunctionBody", "(", ")", ";", "emitXRayTable", "(", ")", ";", "if", "(", "!", "ThumbIndirectPads", ".", "empty", "(", ")", ")", "{", "OutStreamer", "->", "emitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "emitAlignment", "(", "Align", "(", "2", ")", ")", ";", "for", "(", "std", "::", "pair", "<", "unsigned", ",", "MCSymbol", "*", ">", "&", "TIP", ":", "ThumbIndirectPads", ")", "{", "OutStreamer", "->", "emitLabel", "(", "TIP", ".", "second", ")", ";", "EmitToStreamer", "(", "*", "OutStreamer", ",", "MCInstBuilder", "(", "ARM", "::", "tBX", ")", ".", "addReg", "(", "TIP", ".", "first", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ")", ";", "}", "ThumbIndirectPads", ".", "clear", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "6", "4", "3", "2", "1", "5", "1", "0", "2", "ARM::tBX", "ARMCC::AL", "0"], "File": "ARMAsmPrinter58", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9758, "Length": 367} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitMachineConstantPoolValue", "(", "MachineConstantPoolValue", "*", "MCPV", ")", "{", "const", "DataLayout", "&", "DL", "=", "getDataLayout", "(", ")", ";", "int", "Size", "=", "DL", ".", "getTypeAllocSize", "(", "MCPV", "->", "getType", "(", ")", ")", ";", "ARMConstantPoolValue", "*", "ACPV", "=", "static_cast", "<", "ARMConstantPoolValue", "*", ">", "(", "MCPV", ")", ";", "if", "(", "ACPV", "->", "isPromotedGlobal", "(", ")", ")", "{", "auto", "*", "ACPC", "=", "cast", "<", "ARMConstantPoolConstant", ">", "(", "ACPV", ")", ";", "for", "(", "const", "auto", "*", "GV", ":", "ACPC", "->", "promotedGlobals", "(", ")", ")", "{", "if", "(", "!", "EmittedPromotedGlobalLabels", ".", "count", "(", "GV", ")", ")", "{", "MCSymbol", "*", "GVSym", "=", "getSymbol", "(", "GV", ")", ";", "OutStreamer", "->", "emitLabel", "(", "GVSym", ")", ";", "EmittedPromotedGlobalLabels", ".", "insert", "(", "GV", ")", ";", "}", "}", "return", "emitGlobalConstant", "(", "DL", ",", "ACPC", "->", "getPromotedGlobalInit", "(", ")", ",", "0", ")", ";", "}", "MCSymbol", "*", "MCSym", ";", "if", "(", "ACPV", "->", "isLSDA", "(", ")", ")", "{", "MCSym", "=", "getMBBExceptionSym", "(", "MF", "->", "front", "(", ")", ")", ";", "}", "else", "if", "(", "ACPV", "->", "isBlockAddress", "(", ")", ")", "{", "const", "BlockAddress", "*", "BA", "=", "cast", "<", "ARMConstantPoolConstant", ">", "(", "ACPV", ")", "->", "getBlockAddress", "(", ")", ";", "MCSym", "=", "GetBlockAddressSymbol", "(", "BA", ")", ";", "}", "else", "if", "(", "ACPV", "->", "isGlobalValue", "(", ")", ")", "{", "const", "GlobalValue", "*", "GV", "=", "cast", "<", "ARMConstantPoolConstant", ">", "(", "ACPV", ")", "->", "getGV", "(", ")", ";", "unsigned", "char", "TF", "=", "Subtarget", "->", "isTargetMachO", "(", ")", "?", "ARMII", "::", "MO_NONLAZY", ":", "0", ";", "MCSym", "=", "GetARMGVSymbol", "(", "GV", ",", "TF", ")", ";", "}", "else", "if", "(", "ACPV", "->", "isMachineBasicBlock", "(", ")", ")", "{", "const", "MachineBasicBlock", "*", "MBB", "=", "cast", "<", "ARMConstantPoolMBB", ">", "(", "ACPV", ")", "->", "getMBB", "(", ")", ";", "MCSym", "=", "MBB", "->", "getSymbol", "(", ")", ";", "}", "else", "{", "assert", "(", "ACPV", "->", "isExtSymbol", "(", ")", "&&", "\"unrecognized constant pool value\"", ")", ";", "auto", "Sym", "=", "cast", "<", "ARMConstantPoolSymbol", ">", "(", "ACPV", ")", "->", "getSymbol", "(", ")", ";", "MCSym", "=", "GetExternalSymbolSymbol", "(", "Sym", ")", ";", "}", "const", "MCExpr", "*", "Expr", "=", "MCSymbolRefExpr", "::", "create", "(", "MCSym", ",", "getModifierVariantKind", "(", "ACPV", "->", "getModifier", "(", ")", ")", ",", "OutContext", ")", ";", "if", "(", "ACPV", "->", "getPCAdjustment", "(", ")", ")", "{", "MCSymbol", "*", "PCLabel", "=", "getPICLabel", "(", "DL", ".", "getPrivateGlobalPrefix", "(", ")", ",", "getFunctionNumber", "(", ")", ",", "ACPV", "->", "getLabelId", "(", ")", ",", "OutContext", ")", ";", "const", "MCExpr", "*", "PCRelExpr", "=", "MCSymbolRefExpr", "::", "create", "(", "PCLabel", ",", "OutContext", ")", ";", "PCRelExpr", "=", "MCBinaryExpr", "::", "createAdd", "(", "PCRelExpr", ",", "MCConstantExpr", "::", "create", "(", "ACPV", "->", "getPCAdjustment", "(", ")", ",", "OutContext", ")", ",", "OutContext", ")", ";", "if", "(", "ACPV", "->", "mustAddCurrentAddress", "(", ")", ")", "{", "MCSymbol", "*", "DotSym", "=", "OutContext", ".", "createTempSymbol", "(", ")", ";", "OutStreamer", "->", "emitLabel", "(", "DotSym", ")", ";", "const", "MCExpr", "*", "DotExpr", "=", "MCSymbolRefExpr", "::", "create", "(", "DotSym", ",", "OutContext", ")", ";", "PCRelExpr", "=", "MCBinaryExpr", "::", "createSub", "(", "PCRelExpr", ",", "DotExpr", ",", "OutContext", ")", ";", "}", "Expr", "=", "MCBinaryExpr", "::", "createSub", "(", "Expr", ",", "PCRelExpr", ",", "OutContext", ")", ";", "}", "OutStreamer", "->", "emitValue", "(", "Expr", ",", "Size", ")", ";", "}", ""], "natrual_language": ["EmitMachineConstantPoolValue", "-", "Print", "a", "machine", "constantpool", "value", "to", "the", ".s", "file", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "0", "ARM", "ARM", "ARMII::MO_NONLAZY", "0", "ARM", "ARM", "\"unrecognized constant pool value\"", "ARM"], "File": "ARMAsmPrinter59", "Func": "emitMachineConstantPoolValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9759, "Length": 490} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitXXStructor", "(", "const", "DataLayout", "&", "DL", ",", "const", "Constant", "*", "CV", ")", "{", "uint64_t", "Size", "=", "getDataLayout", "(", ")", ".", "getTypeAllocSize", "(", "CV", "->", "getType", "(", ")", ")", ";", "assert", "(", "Size", "&&", "\"C++ constructor pointer had zero size!\"", ")", ";", "const", "GlobalValue", "*", "GV", "=", "dyn_cast", "<", "GlobalValue", ">", "(", "CV", "->", "stripPointerCasts", "(", "true", ")", ")", ";", "assert", "(", "GV", "&&", "\"C++ constructor pointer was not a GlobalValue!\"", ")", ";", "const", "MCExpr", "*", "E", "=", "MCSymbolRefExpr", "::", "create", "(", "GetARMGVSymbol", "(", "GV", ",", "ARMII", "::", "MO_NO_FLAG", ")", ",", "(", "Subtarget", "->", "isTargetELF", "(", ")", "?", "MCSymbolRefExpr", "::", "VK_ARM_TARGET1", ":", "MCSymbolRefExpr", "::", "VK_None", ")", ",", "OutContext", ")", ";", "OutStreamer", "->", "emitValue", "(", "E", ",", "Size", ")", ";", "}", ""], "natrual_language": ["Targets", "can", "override", "this", "to", "change", "how", "global", "constants", "that", "are", "part", "of", "a", "C++", "static/global", "constructor", "list", "are", "emitted", "."], "TS_V_token": ["ARM", "ARM", "\"C++ constructor pointer had zero size!\"", "\"C++ constructor pointer was not a GlobalValue!\"", "ARM", "ARMII::MO_NO_FLAG", "ARM"], "File": "ARMAsmPrinter5", "Func": "emitXXStructor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9760, "Length": 111} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitFunctionEntryLabel", "(", ")", "{", "if", "(", "AFI", "->", "isThumbFunction", "(", ")", ")", "{", "OutStreamer", "->", "emitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "OutStreamer", "->", "emitThumbFunc", "(", "CurrentFnSym", ")", ";", "}", "else", "{", "OutStreamer", "->", "emitAssemblerFlag", "(", "MCAF_Code32", ")", ";", "}", "OutStreamer", "->", "emitLabel", "(", "CurrentFnSym", ")", ";", "}", ""], "natrual_language": ["EmitFunctionEntryLabel", "-", "Emit", "the", "label", "that", "is", "the", "entrypoint", "for", "the", "function", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmPrinter60", "Func": "emitFunctionEntryLabel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9761, "Length": 49} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Subtarget", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "MF", ".", "getFunction", "(", ")", "->", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", ".", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", ".", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", ".", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", ".", "EndCOFFSymbolDef", "(", ")", ";", "}", "EmitFunctionBody", "(", ")", ";", "if", "(", "!", "ThumbIndirectPads", ".", "empty", "(", ")", ")", "{", "OutStreamer", ".", "EmitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "EmitAlignment", "(", "1", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "ThumbIndirectPads", ".", "size", "(", ")", ";", "i", "<", "e", ";", "i", "++", ")", "{", "OutStreamer", ".", "EmitLabel", "(", "ThumbIndirectPads", "[", "i", "]", ".", "second", ")", ";", "EmitToStreamer", "(", "OutStreamer", ",", "MCInstBuilder", "(", "ARM", "::", "tBX", ")", ".", "addReg", "(", "ThumbIndirectPads", "[", "i", "]", ".", "first", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ")", ";", "}", "ThumbIndirectPads", ".", "clear", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "1", "0", "ARM::tBX", "ARMCC::AL", "0"], "File": "ARMAsmPrinter61", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9762, "Length": 229} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "doInitialization", "(", "Module", "&", "M", ")", "{", "bool", "Result", "=", "AsmPrinter", "::", "doInitialization", "(", "M", ")", ";", "MMI", "=", "getAnalysisIfAvailable", "<", "MachineModuleInfo", ">", "(", ")", ";", "assert", "(", "MMI", ")", ";", "DW", "=", "getAnalysisIfAvailable", "<", "DwarfWriter", ">", "(", ")", ";", "assert", "(", "DW", "&&", "\"Dwarf Writer is not available\"", ")", ";", "DW", "->", "BeginModule", "(", "&", "M", ",", "MMI", ",", "O", ",", "this", ",", "TAI", ")", ";", "if", "(", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "Mang", "->", "setUseQuotes", "(", "true", ")", ";", "return", "Result", ";", "}", ""], "natrual_language": ["Set", "up", "the", "AsmPrinter", "when", "we", "are", "working", "on", "a", "new", "module", "."], "TS_V_token": ["ARM", "ARM", "\"Dwarf Writer is not available\""], "File": "ARMAsmPrinter76", "Func": "doInitialization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9763, "Length": 85} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNo", ",", "unsigned", "AsmVariant", ",", "const", "char", "*", "ExtraCode", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "{", "if", "(", "ExtraCode", "[", "1", "]", "!=", "0", ")", "return", "true", ";", "switch", "(", "ExtraCode", "[", "0", "]", ")", "{", "default", ":", "return", "true", ";", "case", "'c'", ":", "case", "'P'", ":", "printOperand", "(", "MI", ",", "OpNo", ")", ";", "return", "false", ";", "case", "'Q'", ":", "if", "(", "TM", ".", "getTargetData", "(", ")", "->", "isLittleEndian", "(", ")", ")", "break", ";", "case", "'R'", ":", "if", "(", "TM", ".", "getTargetData", "(", ")", "->", "isBigEndian", "(", ")", ")", "break", ";", "case", "'H'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNo", ")", ".", "isReg", "(", ")", "||", "OpNo", "+", "1", "==", "MI", "->", "getNumOperands", "(", ")", "||", "!", "MI", "->", "getOperand", "(", "OpNo", "+", "1", ")", ".", "isReg", "(", ")", ")", "return", "true", ";", "++", "OpNo", ";", "}", "}", "printOperand", "(", "MI", ",", "OpNo", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["PrintAsmOperand", "-", "Print", "out", "an", "operand", "for", "an", "inline", "asm", "expression", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "0", "1", "1"], "File": "ARMAsmPrinter76", "Func": "PrintAsmOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9764, "Length": 167} {"ground_truth": ["", "void", "Finish", "(", ")", "{", "const", "size_t", "VendorHeaderSize", "=", "4", "+", "CurrentVendor", ".", "size", "(", ")", "+", "1", ";", "const", "size_t", "TagHeaderSize", "=", "1", "+", "4", ";", "Streamer", ".", "EmitIntValue", "(", "VendorHeaderSize", "+", "TagHeaderSize", "+", "ContentsSize", ",", "4", ")", ";", "Streamer", ".", "EmitBytes", "(", "CurrentVendor", ",", "0", ")", ";", "Streamer", ".", "EmitIntValue", "(", "0", ",", "1", ")", ";", "Streamer", ".", "EmitIntValue", "(", "ARMBuildAttrs", "::", "File", ",", "1", ")", ";", "Streamer", ".", "EmitIntValue", "(", "TagHeaderSize", "+", "ContentsSize", ",", "4", ")", ";", "for", "(", "unsigned", "int", "i", "=", "0", ";", "i", "<", "Contents", ".", "size", "(", ")", ";", "++", "i", ")", "{", "AttributeItemType", "item", "=", "Contents", "[", "i", "]", ";", "Streamer", ".", "EmitULEB128IntValue", "(", "item", ".", "Tag", ",", "0", ")", ";", "switch", "(", "item", ".", "Type", ")", "{", "case", "AttributeItemType", "::", "NumericAttribute", ":", "Streamer", ".", "EmitULEB128IntValue", "(", "item", ".", "IntValue", ",", "0", ")", ";", "break", ";", "case", "AttributeItemType", "::", "TextAttribute", ":", "Streamer", ".", "EmitBytes", "(", "UppercaseString", "(", "item", ".", "StringValue", ")", ",", "0", ")", ";", "Streamer", ".", "EmitIntValue", "(", "0", ",", "1", ")", ";", "break", ";", "default", ":", "assert", "(", "0", "&&", "\"Invalid attribute type\"", ")", ";", "}", "}", "Contents", ".", "clear", "(", ")", ";", "}", ""], "natrual_language": ["Finish", "-", "Do", "final", "processing", "and", "write", "the", "object", "to", "the", "output", "stream", "."], "TS_V_token": ["ARM", "4", "1", "1", "4", "4", "0", "0", "1", "ARMBuildAttrs::File", "1", "4", "0", "0", "0", "0", "0", "1", "0", "\"Invalid attribute type\""], "File": "ARMAsmPrinter96", "Func": "Finish", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9765, "Length": 192} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "if", "(", "Subtarget", "->", "isTargetNaCl", "(", ")", ")", "{", "NaClAlignAllJumpTargetsAndConstantPools", "(", "MF", ")", ";", "}", "return", "AsmPrinter", "::", "runOnMachineFunction", "(", "MF", ")", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMAsmPrinter97", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9766, "Length": 53} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitEndOfAsmFile", "(", "Module", "&", "M", ")", "{", "const", "Triple", "&", "TT", "=", "TM", ".", "getTargetTriple", "(", ")", ";", "if", "(", "TT", ".", "isOSBinFormatMachO", "(", ")", ")", "{", "const", "TargetLoweringObjectFileMachO", "&", "TLOFMacho", "=", "static_cast", "<", "const", "TargetLoweringObjectFileMachO", "&", ">", "(", "getObjFileLowering", "(", ")", ")", ";", "MachineModuleInfoMachO", "&", "MMIMacho", "=", "MMI", "->", "getObjFileInfo", "<", "MachineModuleInfoMachO", ">", "(", ")", ";", "MachineModuleInfoMachO", "::", "SymbolListTy", "Stubs", "=", "MMIMacho", ".", "GetGVStubList", "(", ")", ";", "if", "(", "!", "Stubs", ".", "empty", "(", ")", ")", "{", "OutStreamer", "->", "SwitchSection", "(", "TLOFMacho", ".", "getNonLazySymbolPointerSection", "(", ")", ")", ";", "emitAlignment", "(", "Align", "(", "4", ")", ")", ";", "for", "(", "auto", "&", "Stub", ":", "Stubs", ")", "emitNonLazySymbolPointer", "(", "*", "OutStreamer", ",", "Stub", ".", "first", ",", "Stub", ".", "second", ")", ";", "Stubs", ".", "clear", "(", ")", ";", "OutStreamer", "->", "AddBlankLine", "(", ")", ";", "}", "Stubs", "=", "MMIMacho", ".", "GetThreadLocalGVStubList", "(", ")", ";", "if", "(", "!", "Stubs", ".", "empty", "(", ")", ")", "{", "OutStreamer", "->", "SwitchSection", "(", "TLOFMacho", ".", "getThreadLocalPointerSection", "(", ")", ")", ";", "emitAlignment", "(", "Align", "(", "4", ")", ")", ";", "for", "(", "auto", "&", "Stub", ":", "Stubs", ")", "emitNonLazySymbolPointer", "(", "*", "OutStreamer", ",", "Stub", ".", "first", ",", "Stub", ".", "second", ")", ";", "Stubs", ".", "clear", "(", ")", ";", "OutStreamer", "->", "AddBlankLine", "(", ")", ";", "}", "OutStreamer", "->", "emitAssemblerFlag", "(", "MCAF_SubsectionsViaSymbols", ")", ";", "}", "MCTargetStreamer", "&", "TS", "=", "*", "OutStreamer", "->", "getTargetStreamer", "(", ")", ";", "ARMTargetStreamer", "&", "ATS", "=", "static_cast", "<", "ARMTargetStreamer", "&", ">", "(", "TS", ")", ";", "if", "(", "OptimizationGoals", ">", "0", "&&", "(", "Subtarget", "->", "isTargetAEABI", "(", ")", "||", "Subtarget", "->", "isTargetGNUAEABI", "(", ")", "||", "Subtarget", "->", "isTargetMuslAEABI", "(", ")", ")", ")", "ATS", ".", "emitAttribute", "(", "ARMBuildAttrs", "::", "ABI_optimization_goals", ",", "OptimizationGoals", ")", ";", "OptimizationGoals", "=", "-", "1", ";", "ATS", ".", "finishAttributeSection", "(", ")", ";", "}", ""], "natrual_language": ["This", "virtual", "method", "can", "be", "overridden", "by", "targets", "that", "want", "to", "emit", "something", "at", "the", "end", "of", "their", "file", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "ARM", "ARM", "0", "ARMBuildAttrs::ABI_optimization_goals", "1"], "File": "ARMAsmPrinter", "Func": "emitEndOfAsmFile", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9767, "Length": 288} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitFunctionBodyEnd", "(", ")", "{", "if", "(", "!", "InConstantPool", ")", "return", ";", "InConstantPool", "=", "false", ";", "OutStreamer", "->", "emitDataRegion", "(", "MCDR_DataRegionEnd", ")", ";", "}", ""], "natrual_language": ["Targets", "can", "override", "this", "to", "emit", "stuff", "after", "the", "last", "basic", "block", "in", "the", "function", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmPrinter", "Func": "emitFunctionBodyEnd", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9768, "Length": 26} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitFunctionEntryLabel", "(", ")", "{", "if", "(", "AFI", "->", "isThumbFunction", "(", ")", ")", "{", "OutStreamer", "->", "emitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "OutStreamer", "->", "emitThumbFunc", "(", "CurrentFnSym", ")", ";", "}", "else", "{", "OutStreamer", "->", "emitAssemblerFlag", "(", "MCAF_Code32", ")", ";", "}", "if", "(", "AFI", "->", "isCmseNSEntryFunction", "(", ")", ")", "{", "MCSymbol", "*", "S", "=", "OutContext", ".", "getOrCreateSymbol", "(", "\"__acle_se_\"", "+", "CurrentFnSym", "->", "getName", "(", ")", ")", ";", "emitLinkage", "(", "&", "MF", "->", "getFunction", "(", ")", ",", "S", ")", ";", "OutStreamer", "->", "emitSymbolAttribute", "(", "S", ",", "MCSA_ELF_TypeFunction", ")", ";", "OutStreamer", "->", "emitLabel", "(", "S", ")", ";", "}", "OutStreamer", "->", "emitLabel", "(", "CurrentFnSym", ")", ";", "}", ""], "natrual_language": ["EmitFunctionEntryLabel", "-", "Emit", "the", "label", "that", "is", "the", "entrypoint", "for", "the", "function", "."], "TS_V_token": ["ARM", "ARM", "\"__acle_se_\""], "File": "ARMAsmPrinter", "Func": "emitFunctionEntryLabel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9769, "Length": 104} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitGlobalVariable", "(", "const", "GlobalVariable", "*", "GV", ")", "{", "if", "(", "PromotedGlobals", ".", "count", "(", "GV", ")", ")", "return", ";", "AsmPrinter", "::", "emitGlobalVariable", "(", "GV", ")", ";", "}", ""], "natrual_language": ["Emit", "the", "specified", "global", "variable", "to", "the", ".s", "file", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmPrinter", "Func": "emitGlobalVariable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9770, "Length": 30} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitInlineAsmEnd", "(", "const", "MCSubtargetInfo", "&", "StartInfo", ",", "const", "MCSubtargetInfo", "*", "EndInfo", ")", "const", "{", "const", "bool", "WasThumb", "=", "isThumb", "(", "StartInfo", ")", ";", "if", "(", "!", "EndInfo", "||", "WasThumb", "!=", "isThumb", "(", "*", "EndInfo", ")", ")", "{", "OutStreamer", "->", "emitAssemblerFlag", "(", "WasThumb", "?", "MCAF_Code16", ":", "MCAF_Code32", ")", ";", "}", "}", ""], "natrual_language": ["Let", "the", "target", "do", "anything", "it", "needs", "to", "do", "after", "emitting", "inlineasm", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmPrinter", "Func": "emitInlineAsmEnd", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9771, "Length": 53} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitMachineConstantPoolValue", "(", "MachineConstantPoolValue", "*", "MCPV", ")", "{", "const", "DataLayout", "&", "DL", "=", "getDataLayout", "(", ")", ";", "int", "Size", "=", "DL", ".", "getTypeAllocSize", "(", "MCPV", "->", "getType", "(", ")", ")", ";", "ARMConstantPoolValue", "*", "ACPV", "=", "static_cast", "<", "ARMConstantPoolValue", "*", ">", "(", "MCPV", ")", ";", "if", "(", "ACPV", "->", "isPromotedGlobal", "(", ")", ")", "{", "auto", "*", "ACPC", "=", "cast", "<", "ARMConstantPoolConstant", ">", "(", "ACPV", ")", ";", "for", "(", "const", "auto", "*", "GV", ":", "ACPC", "->", "promotedGlobals", "(", ")", ")", "{", "if", "(", "!", "EmittedPromotedGlobalLabels", ".", "count", "(", "GV", ")", ")", "{", "MCSymbol", "*", "GVSym", "=", "getSymbol", "(", "GV", ")", ";", "OutStreamer", "->", "emitLabel", "(", "GVSym", ")", ";", "EmittedPromotedGlobalLabels", ".", "insert", "(", "GV", ")", ";", "}", "}", "return", "emitGlobalConstant", "(", "DL", ",", "ACPC", "->", "getPromotedGlobalInit", "(", ")", ")", ";", "}", "MCSymbol", "*", "MCSym", ";", "if", "(", "ACPV", "->", "isLSDA", "(", ")", ")", "{", "MCSym", "=", "getMBBExceptionSym", "(", "MF", "->", "front", "(", ")", ")", ";", "}", "else", "if", "(", "ACPV", "->", "isBlockAddress", "(", ")", ")", "{", "const", "BlockAddress", "*", "BA", "=", "cast", "<", "ARMConstantPoolConstant", ">", "(", "ACPV", ")", "->", "getBlockAddress", "(", ")", ";", "MCSym", "=", "GetBlockAddressSymbol", "(", "BA", ")", ";", "}", "else", "if", "(", "ACPV", "->", "isGlobalValue", "(", ")", ")", "{", "const", "GlobalValue", "*", "GV", "=", "cast", "<", "ARMConstantPoolConstant", ">", "(", "ACPV", ")", "->", "getGV", "(", ")", ";", "unsigned", "char", "TF", "=", "Subtarget", "->", "isTargetMachO", "(", ")", "?", "ARMII", "::", "MO_NONLAZY", ":", "0", ";", "MCSym", "=", "GetARMGVSymbol", "(", "GV", ",", "TF", ")", ";", "}", "else", "if", "(", "ACPV", "->", "isMachineBasicBlock", "(", ")", ")", "{", "const", "MachineBasicBlock", "*", "MBB", "=", "cast", "<", "ARMConstantPoolMBB", ">", "(", "ACPV", ")", "->", "getMBB", "(", ")", ";", "MCSym", "=", "MBB", "->", "getSymbol", "(", ")", ";", "}", "else", "{", "assert", "(", "ACPV", "->", "isExtSymbol", "(", ")", "&&", "\"unrecognized constant pool value\"", ")", ";", "auto", "Sym", "=", "cast", "<", "ARMConstantPoolSymbol", ">", "(", "ACPV", ")", "->", "getSymbol", "(", ")", ";", "MCSym", "=", "GetExternalSymbolSymbol", "(", "Sym", ")", ";", "}", "const", "MCExpr", "*", "Expr", "=", "MCSymbolRefExpr", "::", "create", "(", "MCSym", ",", "getModifierVariantKind", "(", "ACPV", "->", "getModifier", "(", ")", ")", ",", "OutContext", ")", ";", "if", "(", "ACPV", "->", "getPCAdjustment", "(", ")", ")", "{", "MCSymbol", "*", "PCLabel", "=", "getPICLabel", "(", "DL", ".", "getPrivateGlobalPrefix", "(", ")", ",", "getFunctionNumber", "(", ")", ",", "ACPV", "->", "getLabelId", "(", ")", ",", "OutContext", ")", ";", "const", "MCExpr", "*", "PCRelExpr", "=", "MCSymbolRefExpr", "::", "create", "(", "PCLabel", ",", "OutContext", ")", ";", "PCRelExpr", "=", "MCBinaryExpr", "::", "createAdd", "(", "PCRelExpr", ",", "MCConstantExpr", "::", "create", "(", "ACPV", "->", "getPCAdjustment", "(", ")", ",", "OutContext", ")", ",", "OutContext", ")", ";", "if", "(", "ACPV", "->", "mustAddCurrentAddress", "(", ")", ")", "{", "MCSymbol", "*", "DotSym", "=", "OutContext", ".", "createTempSymbol", "(", ")", ";", "OutStreamer", "->", "emitLabel", "(", "DotSym", ")", ";", "const", "MCExpr", "*", "DotExpr", "=", "MCSymbolRefExpr", "::", "create", "(", "DotSym", ",", "OutContext", ")", ";", "PCRelExpr", "=", "MCBinaryExpr", "::", "createSub", "(", "PCRelExpr", ",", "DotExpr", ",", "OutContext", ")", ";", "}", "Expr", "=", "MCBinaryExpr", "::", "createSub", "(", "Expr", ",", "PCRelExpr", ",", "OutContext", ")", ";", "}", "OutStreamer", "->", "emitValue", "(", "Expr", ",", "Size", ")", ";", "}", ""], "natrual_language": ["EmitMachineConstantPoolValue", "-", "Print", "a", "machine", "constantpool", "value", "to", "the", ".s", "file", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARMII::MO_NONLAZY", "0", "ARM", "ARM", "\"unrecognized constant pool value\"", "ARM"], "File": "ARMAsmPrinter", "Func": "emitMachineConstantPoolValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9772, "Length": 488} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitStartOfAsmFile", "(", "Module", "&", "M", ")", "{", "const", "Triple", "&", "TT", "=", "TM", ".", "getTargetTriple", "(", ")", ";", "OutStreamer", "->", "emitAssemblerFlag", "(", "MCAF_SyntaxUnified", ")", ";", "if", "(", "TT", ".", "isOSBinFormatELF", "(", ")", ")", "emitAttributes", "(", ")", ";", "if", "(", "!", "M", ".", "getModuleInlineAsm", "(", ")", ".", "empty", "(", ")", "&&", "TT", ".", "isThumb", "(", ")", ")", "OutStreamer", "->", "emitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "}", ""], "natrual_language": ["This", "virtual", "method", "can", "be", "overridden", "by", "targets", "that", "want", "to", "emit", "something", "at", "the", "start", "of", "their", "file", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMAsmPrinter", "Func": "emitStartOfAsmFile", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9773, "Length": 67} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "emitXXStructor", "(", "const", "DataLayout", "&", "DL", ",", "const", "Constant", "*", "CV", ")", "{", "uint64_t", "Size", "=", "getDataLayout", "(", ")", ".", "getTypeAllocSize", "(", "CV", "->", "getType", "(", ")", ")", ";", "assert", "(", "Size", "&&", "\"C++ constructor pointer had zero size!\"", ")", ";", "const", "GlobalValue", "*", "GV", "=", "dyn_cast", "<", "GlobalValue", ">", "(", "CV", "->", "stripPointerCasts", "(", ")", ")", ";", "assert", "(", "GV", "&&", "\"C++ constructor pointer was not a GlobalValue!\"", ")", ";", "const", "MCExpr", "*", "E", "=", "MCSymbolRefExpr", "::", "create", "(", "GetARMGVSymbol", "(", "GV", ",", "ARMII", "::", "MO_NO_FLAG", ")", ",", "(", "Subtarget", "->", "isTargetELF", "(", ")", "?", "MCSymbolRefExpr", "::", "VK_ARM_TARGET1", ":", "MCSymbolRefExpr", "::", "VK_None", ")", ",", "OutContext", ")", ";", "OutStreamer", "->", "emitValue", "(", "E", ",", "Size", ")", ";", "}", ""], "natrual_language": ["Targets", "can", "override", "this", "to", "change", "how", "global", "constants", "that", "are", "part", "of", "a", "C++", "static/global", "constructor", "list", "are", "emitted", "."], "TS_V_token": ["ARM", "ARM", "\"C++ constructor pointer had zero size!\"", "\"C++ constructor pointer was not a GlobalValue!\"", "ARM", "ARMII::MO_NO_FLAG", "ARM"], "File": "ARMAsmPrinter", "Func": "emitXXStructor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9774, "Length": 110} {"ground_truth": ["", "MCSymbol", "*", "ARMAsmPrinter", "::", "GetCPISymbol", "(", "unsigned", "CPID", ")", "const", "{", "const", "DataLayout", "&", "DL", "=", "getDataLayout", "(", ")", ";", "return", "OutContext", ".", "getOrCreateSymbol", "(", "Twine", "(", "DL", ".", "getPrivateGlobalPrefix", "(", ")", ")", "+", "\"CPI\"", "+", "Twine", "(", "getFunctionNumber", "(", ")", ")", "+", "\"_\"", "+", "Twine", "(", "CPID", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "symbol", "for", "the", "specified", "constant", "pool", "entry", "."], "TS_V_token": ["ARM", "ARM", "\"CPI\"", "\"_\""], "File": "ARMAsmPrinter", "Func": "GetCPISymbol", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9775, "Length": 52} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM Assembly Printer\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Assembly Printer\""], "File": "ARMAsmPrinter", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9776, "Length": 11} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "PrintAsmMemoryOperand", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "const", "char", "*", "ExtraCode", ",", "raw_ostream", "&", "O", ")", "{", "if", "(", "ExtraCode", "&&", "ExtraCode", "[", "0", "]", ")", "{", "if", "(", "ExtraCode", "[", "1", "]", "!=", "0", ")", "return", "true", ";", "switch", "(", "ExtraCode", "[", "0", "]", ")", "{", "case", "'A'", ":", "default", ":", "return", "true", ";", "case", "'m'", ":", "if", "(", "!", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "isReg", "(", ")", ")", "return", "true", ";", "O", "<<", "ARMInstPrinter", "::", "getRegisterName", "(", "MI", "->", "getOperand", "(", "OpNum", ")", ".", "getReg", "(", ")", ")", ";", "return", "false", ";", "}", "}", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "OpNum", ")", ";", "assert", "(", "MO", ".", "isReg", "(", ")", "&&", "\"unexpected inline asm memory operand\"", ")", ";", "O", "<<", "\"[\"", "<<", "ARMInstPrinter", "::", "getRegisterName", "(", "MO", ".", "getReg", "(", ")", ")", "<<", "\"]\"", ";", "return", "false", ";", "}", ""], "natrual_language": ["Print", "the", "specified", "operand", "of", "MI", ",", "an", "INLINEASM", "instruction", ",", "using", "the", "specified", "assembler", "variant", "as", "an", "address", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "0", "ARM", "\"unexpected inline asm memory operand\"", "\"[\"", "ARM", "\"]\""], "File": "ARMAsmPrinter", "Func": "PrintAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9777, "Length": 148} {"ground_truth": ["", "void", "ARMAsmPrinter", "::", "PrintSymbolOperand", "(", "const", "MachineOperand", "&", "MO", ",", "raw_ostream", "&", "O", ")", "{", "assert", "(", "MO", ".", "isGlobal", "(", ")", "&&", "\"caller should check MO.isGlobal\"", ")", ";", "unsigned", "TF", "=", "MO", ".", "getTargetFlags", "(", ")", ";", "if", "(", "TF", "&", "ARMII", "::", "MO_LO16", ")", "O", "<<", "\":lower16:\"", ";", "else", "if", "(", "TF", "&", "ARMII", "::", "MO_HI16", ")", "O", "<<", "\":upper16:\"", ";", "GetARMGVSymbol", "(", "MO", ".", "getGlobal", "(", ")", ",", "TF", ")", "->", "print", "(", "O", ",", "MAI", ")", ";", "printOffset", "(", "MO", ".", "getOffset", "(", ")", ",", "O", ")", ";", "}", ""], "natrual_language": ["Print", "the", "MachineOperand", "as", "a", "symbol", "."], "TS_V_token": ["ARM", "ARM", "\"caller should check MO.isGlobal\"", "ARMII::MO_LO16", "\":lower16:\"", "ARMII::MO_HI16", "\":upper16:\"", "ARM"], "File": "ARMAsmPrinter", "Func": "PrintSymbolOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9778, "Length": 90} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "MCP", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Subtarget", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SetupMachineFunction", "(", "MF", ")", ";", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "for", "(", "auto", "*", "GV", ":", "AFI", "->", "getGlobalsPromotedToConstantPool", "(", ")", ")", "PromotedGlobals", ".", "insert", "(", "GV", ")", ";", "unsigned", "OptimizationGoal", ";", "if", "(", "F", ".", "hasOptNone", "(", ")", ")", "OptimizationGoal", "=", "6", ";", "else", "if", "(", "F", ".", "hasMinSize", "(", ")", ")", "OptimizationGoal", "=", "4", ";", "else", "if", "(", "F", ".", "hasOptSize", "(", ")", ")", "OptimizationGoal", "=", "3", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "OptimizationGoal", "=", "2", ";", "else", "if", "(", "TM", ".", "getOptLevel", "(", ")", ">", "CodeGenOpt", "::", "None", ")", "OptimizationGoal", "=", "1", ";", "else", "OptimizationGoal", "=", "5", ";", "if", "(", "OptimizationGoals", "==", "-", "1", ")", "OptimizationGoals", "=", "OptimizationGoal", ";", "else", "if", "(", "OptimizationGoals", "!=", "(", "int", ")", "OptimizationGoal", ")", "OptimizationGoals", "=", "0", ";", "if", "(", "Subtarget", "->", "isTargetCOFF", "(", ")", ")", "{", "bool", "Internal", "=", "F", ".", "hasInternalLinkage", "(", ")", ";", "COFF", "::", "SymbolStorageClass", "Scl", "=", "Internal", "?", "COFF", "::", "IMAGE_SYM_CLASS_STATIC", ":", "COFF", "::", "IMAGE_SYM_CLASS_EXTERNAL", ";", "int", "Type", "=", "COFF", "::", "IMAGE_SYM_DTYPE_FUNCTION", "<<", "COFF", "::", "SCT_COMPLEX_TYPE_SHIFT", ";", "OutStreamer", "->", "BeginCOFFSymbolDef", "(", "CurrentFnSym", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolStorageClass", "(", "Scl", ")", ";", "OutStreamer", "->", "EmitCOFFSymbolType", "(", "Type", ")", ";", "OutStreamer", "->", "EndCOFFSymbolDef", "(", ")", ";", "}", "emitFunctionBody", "(", ")", ";", "emitXRayTable", "(", ")", ";", "if", "(", "!", "ThumbIndirectPads", ".", "empty", "(", ")", ")", "{", "OutStreamer", "->", "emitAssemblerFlag", "(", "MCAF_Code16", ")", ";", "emitAlignment", "(", "Align", "(", "2", ")", ")", ";", "for", "(", "std", "::", "pair", "<", "unsigned", ",", "MCSymbol", "*", ">", "&", "TIP", ":", "ThumbIndirectPads", ")", "{", "OutStreamer", "->", "emitLabel", "(", "TIP", ".", "second", ")", ";", "EmitToStreamer", "(", "*", "OutStreamer", ",", "MCInstBuilder", "(", "ARM", "::", "tBX", ")", ".", "addReg", "(", "TIP", ".", "first", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ")", ";", "}", "ThumbIndirectPads", ".", "clear", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "6", "4", "3", "2", "1", "5", "1", "0", "2", "ARM::tBX", "ARMCC::AL", "0"], "File": "ARMAsmPrinter", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9779, "Length": 367} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "areLoadsFromSameBasePtr", "(", "SDNode", "*", "Load1", ",", "SDNode", "*", "Load2", ",", "int64_t", "&", "Offset1", ",", "int64_t", "&", "Offset2", ")", "const", "{", "if", "(", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "!", "Load1", "->", "isMachineOpcode", "(", ")", "||", "!", "Load2", "->", "isMachineOpcode", "(", ")", ")", "return", "false", ";", "switch", "(", "Load1", "->", "getMachineOpcode", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "LDRD", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRSB", ":", "case", "ARM", "::", "LDRSH", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2LDRDi8", ":", "case", "ARM", "::", "t2LDRSHi8", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRSHi12", ":", "break", ";", "}", "switch", "(", "Load2", "->", "getMachineOpcode", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "LDRD", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRSB", ":", "case", "ARM", "::", "LDRSH", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2LDRSHi8", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRSHi12", ":", "break", ";", "}", "if", "(", "Load1", "->", "getOperand", "(", "0", ")", "!=", "Load2", "->", "getOperand", "(", "0", ")", "||", "Load1", "->", "getOperand", "(", "4", ")", "!=", "Load2", "->", "getOperand", "(", "4", ")", ")", "return", "false", ";", "if", "(", "Load1", "->", "getOperand", "(", "3", ")", "!=", "Load2", "->", "getOperand", "(", "3", ")", ")", "return", "false", ";", "if", "(", "isa", "<", "ConstantSDNode", ">", "(", "Load1", "->", "getOperand", "(", "1", ")", ")", "&&", "isa", "<", "ConstantSDNode", ">", "(", "Load2", "->", "getOperand", "(", "1", ")", ")", ")", "{", "Offset1", "=", "cast", "<", "ConstantSDNode", ">", "(", "Load1", "->", "getOperand", "(", "1", ")", ")", "->", "getSExtValue", "(", ")", ";", "Offset2", "=", "cast", "<", "ConstantSDNode", ">", "(", "Load2", "->", "getOperand", "(", "1", ")", ")", "->", "getSExtValue", "(", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["areLoadsFromSameBasePtr", "-", "This", "is", "used", "by", "the", "pre-regalloc", "scheduler", "to", "determine", "if", "two", "loads", "are", "loading", "from", "the", "same", "base", "address", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDRi12", "ARM::LDRBi12", "ARM::LDRD", "ARM::LDRH", "ARM::LDRSB", "ARM::LDRSH", "ARM::VLDRD", "ARM::VLDRS", "ARM::t2LDRi8", "ARM::t2LDRDi8", "ARM::t2LDRSHi8", "ARM::t2LDRi12", "ARM::t2LDRSHi12", "ARM::LDRi12", "ARM::LDRBi12", "ARM::LDRD", "ARM::LDRH", "ARM::LDRSB", "ARM::LDRSH", "ARM::VLDRD", "ARM::VLDRS", "ARM::t2LDRi8", "ARM::t2LDRSHi8", "ARM::t2LDRi12", "ARM::t2LDRSHi12", "0", "0", "4", "4", "3", "3", "1", "1", "1", "1"], "File": "ARMBaseInstrInfo (2)1", "Func": "areLoadsFromSameBasePtr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9780, "Length": 339} {"ground_truth": ["", "bool", "canCauseFpMLxStall", "(", "unsigned", "Opcode", ")", "const", "{", "return", "MLxHazardOpcodes", ".", "count", "(", "Opcode", ")", ";", "}", ""], "natrual_language": ["canCauseFpMLxStall", "-", "Return", "true", "if", "an", "instruction", "of", "the", "specified", "opcode", "will", "cause", "stalls", "when", "scheduled", "after", "(", "within", "4-cycle", "window", ")", "a", "fp", "MLA", "/", "MLS", "instruction", "."], "TS_V_token": ["ARM"], "File": "ARMBaseInstrInfo (2)1", "Func": "canCauseFpMLxStall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9781, "Length": 17} {"ground_truth": ["", "ARMCC", "::", "CondCodes", "getPredicate", "(", "const", "MachineInstr", "*", "MI", ")", "const", "{", "int", "PIdx", "=", "MI", "->", "findFirstPredOperandIdx", "(", ")", ";", "return", "PIdx", "!=", "-", "1", "?", "(", "ARMCC", "::", "CondCodes", ")", "MI", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ":", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Returns", "the", "comparison", "predicate", "underlying", "the", "intrinsic", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "1", "ARMCC::CondCodes", "ARMCC::AL"], "File": "ARMBaseInstrInfo (2)1", "Func": "getPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9782, "Length": 48} {"ground_truth": ["", "const", "ARMSubtarget", "&", "getSubtarget", "(", ")", "const", "{", "return", "Subtarget", ";", "}", ""], "natrual_language": ["getSubtarget", "-", "Return", "the", "subtarget", "for", "which", "this", "machine", "code", "is", "being", "compiled", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo (2)1", "Func": "getSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9783, "Length": 12} {"ground_truth": ["", "bool", "isFpMLxInstruction", "(", "unsigned", "Opcode", ")", "const", "{", "return", "MLxEntryMap", ".", "count", "(", "Opcode", ")", ";", "}", ""], "natrual_language": ["isFpMLxInstruction", "-", "This", "version", "also", "returns", "the", "multiply", "opcode", "and", "the", "addition", "/", "subtraction", "opcode", "to", "expand", "to", "."], "TS_V_token": ["ARM"], "File": "ARMBaseInstrInfo (2)1", "Func": "isFpMLxInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9784, "Length": 17} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicable", "(", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "!", "MI", "->", "isPredicable", "(", ")", ")", "return", "false", ";", "if", "(", "(", "MI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainNEON", ")", "{", "ARMFunctionInfo", "*", "AFI", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "return", "AFI", "->", "isThumb2Function", "(", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "instruction", "can", "be", "predicated", "."], "TS_V_token": ["ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainNEON", "ARM", "ARM"], "File": "ARMBaseInstrInfo (2)1", "Func": "isPredicable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9785, "Length": 77} {"ground_truth": ["", "bool", "isProfitableToDupForIfCvt", "(", "MachineBasicBlock", "&", "MBB", ",", "unsigned", "NumCycles", ",", "BranchProbability", "Probability", ")", "const", "override", "{", "return", "NumCycles", "==", "1", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "profitable", "for", "if-converter", "to", "duplicate", "instructions", "of", "specified", "accumulated", "instruction", "latencies", "in", "the", "specified", "MBB", "to", "enable", "if-conversion", "."], "TS_V_token": ["ARM", "1"], "File": "ARMBaseInstrInfo (2)1", "Func": "isProfitableToDupForIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9786, "Length": 22} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isSchedulingBoundary", "(", "const", "MachineInstr", "*", "MI", ",", "const", "MachineBasicBlock", "*", "MBB", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "MI", "->", "isDebugValue", "(", ")", ")", "return", "false", ";", "if", "(", "MI", "->", "isTerminator", "(", ")", "||", "MI", "->", "isLabel", "(", ")", ")", "return", "true", ";", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MI", ";", "while", "(", "++", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "isDebugValue", "(", ")", ")", ";", "if", "(", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "return", "true", ";", "if", "(", "!", "MI", "->", "isCall", "(", ")", "&&", "MI", "->", "definesRegister", "(", "ARM", "::", "SP", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["isSchedulingBoundary", "-", "Overrides", "the", "isSchedulingBoundary", "from", "Codegen/TargetInstrInfo.cpp", "to", "make", "it", "capable", "of", "identifying", "ENDBR", "intructions", "and", "prevent", "it", "from", "being", "re-scheduled", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2IT", "ARM::SP"], "File": "ARMBaseInstrInfo (2)1", "Func": "isSchedulingBoundary", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9787, "Length": 123} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "optimizeSelect", "(", "MachineInstr", "*", "MI", ",", "bool", "PreferFalse", ")", "const", "{", "assert", "(", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MOVCCr", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2MOVCCr", ")", "&&", "\"Unknown select instruction\"", ")", ";", "const", "MachineRegisterInfo", "&", "MRI", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineInstr", "*", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "bool", "Invert", "=", "!", "DefMI", ";", "if", "(", "!", "DefMI", ")", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "if", "(", "!", "DefMI", ")", "return", "0", ";", "MachineInstrBuilder", "NewMI", "=", "BuildMI", "(", "*", "MI", "->", "getParent", "(", ")", ",", "MI", ",", "MI", "->", "getDebugLoc", "(", ")", ",", "DefMI", "->", "getDesc", "(", ")", ",", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", ";", "const", "MCInstrDesc", "&", "DefDesc", "=", "DefMI", "->", "getDesc", "(", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "DefDesc", ".", "getNumOperands", "(", ")", ";", "i", "!=", "e", "&&", "!", "DefDesc", ".", "OpInfo", "[", "i", "]", ".", "isPredicate", "(", ")", ";", "++", "i", ")", "NewMI", ".", "addOperand", "(", "DefMI", "->", "getOperand", "(", "i", ")", ")", ";", "unsigned", "CondCode", "=", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", ";", "if", "(", "Invert", ")", "NewMI", ".", "addImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "ARMCC", "::", "CondCodes", "(", "CondCode", ")", ")", ")", ";", "else", "NewMI", ".", "addImm", "(", "CondCode", ")", ";", "NewMI", ".", "addOperand", "(", "MI", "->", "getOperand", "(", "4", ")", ")", ";", "if", "(", "NewMI", "->", "hasOptionalDef", "(", ")", ")", "AddDefaultCC", "(", "NewMI", ")", ";", "MachineOperand", "FalseReg", "=", "MI", "->", "getOperand", "(", "Invert", "?", "2", ":", "1", ")", ";", "FalseReg", ".", "setImplicit", "(", ")", ";", "NewMI", ".", "addOperand", "(", "FalseReg", ")", ";", "NewMI", "->", "tieOperands", "(", "0", ",", "NewMI", "->", "getNumOperands", "(", ")", "-", "1", ")", ";", "DefMI", "->", "eraseFromParent", "(", ")", ";", "return", "NewMI", ";", "}", ""], "natrual_language": ["Given", "a", "select", "instruction", "that", "was", "understood", "by", "analyzeSelect", "and", "returned", "Optimizable", "=", "true", ",", "attempt", "to", "optimize", "MI", "by", "merging", "it", "with", "one", "of", "its", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "\"Unknown select instruction\"", "2", "1", "0", "0", "1", "3", "ARMCC::getOppositeCondition", "ARMCC::CondCodes", "4", "2", "1", "0", "1"], "File": "ARMBaseInstrInfo (2)1", "Func": "optimizeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9788, "Length": 337} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "shouldScheduleLoadsNear", "(", "SDNode", "*", "Load1", ",", "SDNode", "*", "Load2", ",", "int64_t", "Offset1", ",", "int64_t", "Offset2", ",", "unsigned", "NumLoads", ")", "const", "{", "if", "(", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "return", "false", ";", "assert", "(", "Offset2", ">", "Offset1", ")", ";", "if", "(", "(", "Offset2", "-", "Offset1", ")", "/", "8", ">", "64", ")", "return", "false", ";", "if", "(", "Load1", "->", "getMachineOpcode", "(", ")", "!=", "Load2", "->", "getMachineOpcode", "(", ")", ")", "return", "false", ";", "if", "(", "NumLoads", ">=", "3", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["shouldScheduleLoadsNear", "-", "This", "is", "a", "used", "by", "the", "pre-regalloc", "scheduler", "to", "determine", "(", "in", "conjunction", "with", "areLoadsFromSameBasePtr", ")", "if", "two", "loads", "should", "be", "scheduled", "togther", "."], "TS_V_token": ["ARM", "ARM", "8", "64", "3"], "File": "ARMBaseInstrInfo (2)1", "Func": "shouldScheduleLoadsNear", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9789, "Length": 87} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeBranch", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "*", "&", "TBB", ",", "MachineBasicBlock", "*", "&", "FBB", ",", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Cond", ",", "bool", "AllowModify", ")", "const", "{", "TBB", "=", "nullptr", ";", "FBB", "=", "nullptr", ";", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", ".", "end", "(", ")", ";", "if", "(", "I", "==", "MBB", ".", "begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "while", "(", "isPredicated", "(", "*", "I", ")", "||", "I", "->", "isTerminator", "(", ")", "||", "I", "->", "isDebugValue", "(", ")", ")", "{", "bool", "CantAnalyze", "=", "false", ";", "while", "(", "I", "->", "isDebugValue", "(", ")", "||", "!", "I", "->", "isTerminator", "(", ")", ")", "{", "if", "(", "I", "==", "MBB", ".", "begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "}", "if", "(", "isIndirectBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isJumpTableBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "CantAnalyze", "=", "true", ";", "}", "else", "if", "(", "isUncondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "TBB", "=", "I", "->", "getOperand", "(", "0", ")", ".", "getMBB", "(", ")", ";", "}", "else", "if", "(", "isCondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "if", "(", "!", "Cond", ".", "empty", "(", ")", ")", "return", "true", ";", "assert", "(", "!", "FBB", "&&", "\"FBB should have been null.\"", ")", ";", "FBB", "=", "TBB", ";", "TBB", "=", "I", "->", "getOperand", "(", "0", ")", ".", "getMBB", "(", ")", ";", "Cond", ".", "push_back", "(", "I", "->", "getOperand", "(", "1", ")", ")", ";", "Cond", ".", "push_back", "(", "I", "->", "getOperand", "(", "2", ")", ")", ";", "}", "else", "if", "(", "I", "->", "isReturn", "(", ")", ")", "{", "CantAnalyze", "=", "!", "isPredicated", "(", "*", "I", ")", ";", "}", "else", "{", "return", "true", ";", "}", "if", "(", "!", "isPredicated", "(", "*", "I", ")", "&&", "(", "isUncondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isIndirectBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isJumpTableBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "I", "->", "isReturn", "(", ")", ")", ")", "{", "Cond", ".", "clear", "(", ")", ";", "FBB", "=", "nullptr", ";", "if", "(", "AllowModify", ")", "{", "MachineBasicBlock", "::", "iterator", "DI", "=", "std", "::", "next", "(", "I", ")", ";", "while", "(", "DI", "!=", "MBB", ".", "end", "(", ")", ")", "{", "MachineInstr", "&", "InstToDelete", "=", "*", "DI", ";", "++", "DI", ";", "InstToDelete", ".", "eraseFromParent", "(", ")", ";", "}", "}", "}", "if", "(", "CantAnalyze", ")", "return", "true", ";", "if", "(", "I", "==", "MBB", ".", "begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["analyzeBranch", "-", "Analyze", "the", "branching", "code", "at", "the", "end", "of", "MBB", ",", "returning", "true", "if", "it", "can", "not", "be", "understood", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "\"FBB should have been null.\"", "0", "1", "2"], "File": "ARMBaseInstrInfo (2)2", "Func": "analyzeBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9790, "Length": 409} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeCompare", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "&", "SrcReg", ",", "unsigned", "&", "SrcReg2", ",", "int", "&", "CmpMask", ",", "int", "&", "CmpValue", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "CMPri", ":", "case", "ARM", "::", "t2CMPri", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "0", ";", "CmpMask", "=", "~", "0", ";", "CmpValue", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "return", "true", ";", "case", "ARM", "::", "CMPrr", ":", "case", "ARM", "::", "t2CMPrr", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "CmpMask", "=", "~", "0", ";", "CmpValue", "=", "0", ";", "return", "true", ";", "case", "ARM", "::", "TSTri", ":", "case", "ARM", "::", "t2TSTri", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "0", ";", "CmpMask", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "CmpValue", "=", "0", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["analyzeCompare", "-", "For", "a", "comparison", "instruction", ",", "return", "the", "source", "registers", "in", "SrcReg", "and", "SrcReg2", "if", "having", "two", "register", "operands", ",", "and", "the", "value", "it", "compares", "against", "in", "CmpValue", "."], "TS_V_token": ["ARM", "ARM", "ARM::CMPri", "ARM::t2CMPri", "0", "0", "0", "1", "ARM::CMPrr", "ARM::t2CMPrr", "0", "1", "0", "0", "ARM::TSTri", "ARM::t2TSTri", "0", "0", "1", "0"], "File": "ARMBaseInstrInfo (2)2", "Func": "analyzeCompare", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9791, "Length": 189} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeSelect", "(", "const", "MachineInstr", "&", "MI", ",", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Cond", ",", "unsigned", "&", "TrueOp", ",", "unsigned", "&", "FalseOp", ",", "bool", "&", "Optimizable", ")", "const", "{", "assert", "(", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MOVCCr", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "t2MOVCCr", ")", "&&", "\"Unknown select instruction\"", ")", ";", "TrueOp", "=", "1", ";", "FalseOp", "=", "2", ";", "Cond", ".", "push_back", "(", "MI", ".", "getOperand", "(", "3", ")", ")", ";", "Cond", ".", "push_back", "(", "MI", ".", "getOperand", "(", "4", ")", ")", ";", "Optimizable", "=", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Analyze", "the", "given", "select", "instruction", ",", "returning", "true", "if", "it", "can", "not", "be", "understood", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "\"Unknown select instruction\"", "1", "2", "3", "4"], "File": "ARMBaseInstrInfo (2)2", "Func": "analyzeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9792, "Length": 98} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "breakPartialRegDependency", "(", "MachineInstr", "&", "MI", ",", "unsigned", "OpNum", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "OpNum", "<", "MI", ".", "getDesc", "(", ")", ".", "getNumDefs", "(", ")", "&&", "\"OpNum is not a def\"", ")", ";", "assert", "(", "TRI", "&&", "\"Need TRI instance\"", ")", ";", "const", "MachineOperand", "&", "MO", "=", "MI", ".", "getOperand", "(", "OpNum", ")", ";", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "assert", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "Reg", ")", "&&", "\"Can't break virtual register dependencies.\"", ")", ";", "unsigned", "DReg", "=", "Reg", ";", "if", "(", "ARM", "::", "SPRRegClass", ".", "contains", "(", "Reg", ")", ")", "{", "DReg", "=", "ARM", "::", "D0", "+", "(", "Reg", "-", "ARM", "::", "S0", ")", "/", "2", ";", "assert", "(", "TRI", "->", "isSuperRegister", "(", "Reg", ",", "DReg", ")", "&&", "\"Register enums broken\"", ")", ";", "}", "assert", "(", "ARM", "::", "DPRRegClass", ".", "contains", "(", "DReg", ")", "&&", "\"Can only break D-reg deps\"", ")", ";", "assert", "(", "MI", ".", "definesRegister", "(", "DReg", ",", "TRI", ")", "&&", "\"MI doesn't clobber full D-reg\"", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "*", "MI", ".", "getParent", "(", ")", ",", "MI", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "get", "(", "ARM", "::", "FCONSTD", ")", ",", "DReg", ")", ".", "addImm", "(", "96", ")", ")", ";", "MI", ".", "addRegisterKilled", "(", "DReg", ",", "TRI", ",", "true", ")", ";", "}", ""], "natrual_language": ["Insert", "a", "dependency-breaking", "instruction", "before", "MI", "to", "eliminate", "an", "unwanted", "dependency", "on", "OpNum", "."], "TS_V_token": ["ARM", "ARM", "\"OpNum is not a def\"", "\"Need TRI instance\"", "\"Can't break virtual register dependencies.\"", "ARM::SPRRegClass", "ARM::D0", "ARM::S0", "2", "\"Register enums broken\"", "ARM::DPRRegClass", "\"Can only break D-reg deps\"", "\"MI doesn't clobber full D-reg\"", "ARM::FCONSTD", "96"], "File": "ARMBaseInstrInfo (2)2", "Func": "breakPartialRegDependency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9793, "Length": 199} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "commuteInstructionImpl", "(", "MachineInstr", "&", "MI", ",", "bool", "NewMI", ",", "unsigned", "OpIdx1", ",", "unsigned", "OpIdx2", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "MOVCCr", ":", "case", "ARM", "::", "t2MOVCCr", ":", "{", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "MI", ",", "PredReg", ")", ";", "if", "(", "CC", "==", "ARMCC", "::", "AL", "||", "PredReg", "!=", "ARM", "::", "CPSR", ")", "return", "nullptr", ";", "MachineInstr", "*", "CommutedMI", "=", "TargetInstrInfo", "::", "commuteInstructionImpl", "(", "MI", ",", "NewMI", ",", "OpIdx1", ",", "OpIdx2", ")", ";", "if", "(", "!", "CommutedMI", ")", "return", "nullptr", ";", "CommutedMI", "->", "getOperand", "(", "CommutedMI", "->", "findFirstPredOperandIdx", "(", ")", ")", ".", "setImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "CC", ")", ")", ";", "return", "CommutedMI", ";", "}", "}", "return", "TargetInstrInfo", "::", "commuteInstructionImpl", "(", "MI", ",", "NewMI", ",", "OpIdx1", ",", "OpIdx2", ")", ";", "}", ""], "natrual_language": ["Commutes", "the", "operands", "in", "the", "given", "instruction", "by", "changing", "the", "operands", "order", "and/or", "changing", "the", "instruction", "'s", "opcode", "and/or", "the", "immediate", "value", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "0", "ARMCC::CondCodes", "ARMCC::AL", "ARM::CPSR", "ARMCC::getOppositeCondition"], "File": "ARMBaseInstrInfo (2)2", "Func": "commuteInstructionImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9794, "Length": 141} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "ARMBaseInstrInfo", "::", "CreateTargetHazardRecognizer", "(", "const", "TargetSubtargetInfo", "*", "STI", ",", "const", "ScheduleDAG", "*", "DAG", ")", "const", "{", "if", "(", "usePreRAHazardRecognizer", "(", ")", ")", "{", "const", "InstrItineraryData", "*", "II", "=", "static_cast", "<", "const", "ARMSubtarget", "*", ">", "(", "STI", ")", "->", "getInstrItineraryData", "(", ")", ";", "return", "new", "ScoreboardHazardRecognizer", "(", "II", ",", "DAG", ",", "\"pre-RA-sched\"", ")", ";", "}", "return", "TargetInstrInfo", "::", "CreateTargetHazardRecognizer", "(", "STI", ",", "DAG", ")", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "this", "target", "when", "scheduling", "the", "machine", "instructions", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"pre-RA-sched\""], "File": "ARMBaseInstrInfo (2)2", "Func": "CreateTargetHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9795, "Length": 67} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "duplicate", "(", "MachineInstr", "&", "Orig", ",", "MachineFunction", "&", "MF", ")", "const", "{", "MachineInstr", "*", "MI", "=", "TargetInstrInfo", "::", "duplicate", "(", "Orig", ",", "MF", ")", ";", "switch", "(", "Orig", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "tLDRpci_pic", ":", "case", "ARM", "::", "t2LDRpci_pic", ":", "{", "unsigned", "CPI", "=", "Orig", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "unsigned", "PCLabelId", "=", "duplicateCPV", "(", "MF", ",", "CPI", ")", ";", "Orig", ".", "getOperand", "(", "1", ")", ".", "setIndex", "(", "CPI", ")", ";", "Orig", ".", "getOperand", "(", "2", ")", ".", "setImm", "(", "PCLabelId", ")", ";", "break", ";", "}", "}", "return", "MI", ";", "}", ""], "natrual_language": ["Clones", "instruction", "or", "the", "whole", "instruction", "bundle", "Orig", "and", "insert", "into", "MBB", "before", "InsertBefore", "."], "TS_V_token": ["ARM", "ARM", "ARM::tLDRpci_pic", "ARM::t2LDRpci_pic", "1", "1", "2"], "File": "ARMBaseInstrInfo (2)2", "Func": "duplicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9796, "Length": 105} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "TargetOpcode", "::", "LOAD_STACK_GUARD", ")", "{", "assert", "(", "getSubtarget", "(", ")", ".", "getTargetTriple", "(", ")", ".", "isOSBinFormatMachO", "(", ")", "&&", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", ")", ";", "expandLoadStackGuard", "(", "MI", ")", ";", "MI", ".", "getParent", "(", ")", "->", "erase", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MEMCPY", ")", "{", "expandMEMCPY", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "!", "MI", ".", "isCopy", "(", ")", "||", "Subtarget", ".", "dontWidenVMOVS", "(", ")", "||", "Subtarget", ".", "isFPOnlySP", "(", ")", ")", "return", "false", ";", "unsigned", "DstRegS", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "unsigned", "SrcRegS", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", ".", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", ".", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "MI", ")", ";", "MachineInstrBuilder", "MIB", "(", "*", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", ".", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", ".", "RemoveOperand", "(", "ImpDefIdx", ")", ";", "MI", ".", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", ".", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MIB", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", ".", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", "ARM::MEMCPY", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo (2)2", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9797, "Length": 419} {"ground_truth": ["", "std", "::", "pair", "<", "uint16_t", ",", "uint16_t", ">", "ARMBaseInstrInfo", "::", "getExecutionDomain", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "Subtarget", ".", "hasNEON", "(", ")", ")", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVD", "&&", "!", "isPredicated", "(", "MI", ")", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "(", "1", "<<", "ExeVFP", ")", "|", "(", "1", "<<", "ExeNEON", ")", ")", ";", "if", "(", "Subtarget", ".", "useNEONForFPMovs", "(", ")", "&&", "!", "isPredicated", "(", "MI", ")", "&&", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVRS", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVSR", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVS", ")", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "(", "1", "<<", "ExeVFP", ")", "|", "(", "1", "<<", "ExeNEON", ")", ")", ";", "}", "unsigned", "Domain", "=", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "Domain", "&", "ARMII", "::", "DomainNEON", ")", "return", "std", "::", "make_pair", "(", "ExeNEON", ",", "0", ")", ";", "if", "(", "(", "Domain", "&", "ARMII", "::", "DomainNEONA8", ")", "&&", "Subtarget", ".", "isCortexA8", "(", ")", ")", "return", "std", "::", "make_pair", "(", "ExeNEON", ",", "0", ")", ";", "if", "(", "Domain", "&", "ARMII", "::", "DomainVFP", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "0", ")", ";", "return", "std", "::", "make_pair", "(", "ExeGeneric", ",", "0", ")", ";", "}", ""], "natrual_language": ["Return", "the", "current", "execution", "domain", "and", "bit", "mask", "of", "possible", "domains", "for", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::VMOVD", "1", "1", "ARM::VMOVRS", "ARM::VMOVSR", "ARM::VMOVS", "1", "1", "ARMII::DomainMask", "ARMII::DomainNEON", "0", "ARMII::DomainNEONA8", "0", "ARMII::DomainVFP", "0", "0"], "File": "ARMBaseInstrInfo (2)2", "Func": "getExecutionDomain", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9798, "Length": 221} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "getExtractSubregLikeInputs", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "DefIdx", ",", "RegSubRegPairAndIdx", "&", "InputReg", ")", "const", "{", "assert", "(", "DefIdx", "<", "MI", ".", "getDesc", "(", ")", ".", "getNumDefs", "(", ")", "&&", "\"Invalid definition index\"", ")", ";", "assert", "(", "MI", ".", "isExtractSubregLike", "(", ")", "&&", "\"Invalid kind of instruction\"", ")", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "VMOVRRD", ":", "const", "MachineOperand", "&", "MOReg", "=", "MI", ".", "getOperand", "(", "2", ")", ";", "InputReg", ".", "Reg", "=", "MOReg", ".", "getReg", "(", ")", ";", "InputReg", ".", "SubReg", "=", "MOReg", ".", "getSubReg", "(", ")", ";", "InputReg", ".", "SubIdx", "=", "DefIdx", "==", "0", "?", "ARM", "::", "ssub_0", ":", "ARM", "::", "ssub_1", ";", "return", "true", ";", "}", "llvm_unreachable", "(", "\"Target dependent opcode missing\"", ")", ";", "}", ""], "natrual_language": ["Target-dependent", "implementation", "of", "getExtractSubregInputs", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid definition index\"", "\"Invalid kind of instruction\"", "ARM::VMOVRRD", "2", "0", "ARM::ssub_0", "ARM::ssub_1", "\"Target dependent opcode missing\""], "File": "ARMBaseInstrInfo (2)2", "Func": "getExtractSubregLikeInputs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9799, "Length": 119} {"ground_truth": ["", "unsigned", "getFramePred", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "assert", "(", "isFrameInstr", "(", "MI", ")", ")", ";", "return", "MI", ".", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ";", "}", ""], "natrual_language": ["Returns", "predicate", "register", "associated", "with", "the", "given", "frame", "instruction", "."], "TS_V_token": ["ARM", "3"], "File": "ARMBaseInstrInfo (2)2", "Func": "getFramePred", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9800, "Length": 31} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "getInsertSubregLikeInputs", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "DefIdx", ",", "RegSubRegPair", "&", "BaseReg", ",", "RegSubRegPairAndIdx", "&", "InsertedReg", ")", "const", "{", "assert", "(", "DefIdx", "<", "MI", ".", "getDesc", "(", ")", ".", "getNumDefs", "(", ")", "&&", "\"Invalid definition index\"", ")", ";", "assert", "(", "MI", ".", "isInsertSubregLike", "(", ")", "&&", "\"Invalid kind of instruction\"", ")", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "VSETLNi32", ":", "const", "MachineOperand", "&", "MOBaseReg", "=", "MI", ".", "getOperand", "(", "1", ")", ";", "const", "MachineOperand", "&", "MOInsertedReg", "=", "MI", ".", "getOperand", "(", "2", ")", ";", "const", "MachineOperand", "&", "MOIndex", "=", "MI", ".", "getOperand", "(", "3", ")", ";", "BaseReg", ".", "Reg", "=", "MOBaseReg", ".", "getReg", "(", ")", ";", "BaseReg", ".", "SubReg", "=", "MOBaseReg", ".", "getSubReg", "(", ")", ";", "InsertedReg", ".", "Reg", "=", "MOInsertedReg", ".", "getReg", "(", ")", ";", "InsertedReg", ".", "SubReg", "=", "MOInsertedReg", ".", "getSubReg", "(", ")", ";", "InsertedReg", ".", "SubIdx", "=", "MOIndex", ".", "getImm", "(", ")", "==", "0", "?", "ARM", "::", "ssub_0", ":", "ARM", "::", "ssub_1", ";", "return", "true", ";", "}", "llvm_unreachable", "(", "\"Target dependent opcode missing\"", ")", ";", "}", ""], "natrual_language": ["Target-dependent", "implementation", "of", "getInsertSubregInputs", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid definition index\"", "\"Invalid kind of instruction\"", "ARM::VSETLNi32", "1", "2", "3", "0", "ARM::ssub_0", "ARM::ssub_1", "\"Target dependent opcode missing\""], "File": "ARMBaseInstrInfo (2)2", "Func": "getInsertSubregLikeInputs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9801, "Length": 171} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getInstrLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "&", "MI", ",", "unsigned", "*", "PredCost", ")", "const", "{", "if", "(", "MI", ".", "isCopyLike", "(", ")", "||", "MI", ".", "isInsertSubreg", "(", ")", "||", "MI", ".", "isRegSequence", "(", ")", "||", "MI", ".", "isImplicitDef", "(", ")", ")", "return", "1", ";", "if", "(", "MI", ".", "isBundle", "(", ")", ")", "{", "unsigned", "Latency", "=", "0", ";", "MachineBasicBlock", "::", "const_instr_iterator", "I", "=", "MI", ".", "getIterator", "(", ")", ";", "MachineBasicBlock", "::", "const_instr_iterator", "E", "=", "MI", ".", "getParent", "(", ")", "->", "instr_end", "(", ")", ";", "while", "(", "++", "I", "!=", "E", "&&", "I", "->", "isInsideBundle", "(", ")", ")", "{", "if", "(", "I", "->", "getOpcode", "(", ")", "!=", "ARM", "::", "t2IT", ")", "Latency", "+=", "getInstrLatency", "(", "ItinData", ",", "*", "I", ",", "PredCost", ")", ";", "}", "return", "Latency", ";", "}", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "if", "(", "PredCost", "&&", "(", "MCID", ".", "isCall", "(", ")", "||", "MCID", ".", "hasImplicitDefOfPhysReg", "(", "ARM", "::", "CPSR", ")", ")", ")", "{", "*", "PredCost", "=", "1", ";", "}", "if", "(", "!", "ItinData", ")", "return", "MI", ".", "mayLoad", "(", ")", "?", "3", ":", "1", ";", "unsigned", "Class", "=", "MCID", ".", "getSchedClass", "(", ")", ";", "if", "(", "!", "ItinData", "->", "isEmpty", "(", ")", "&&", "ItinData", "->", "getNumMicroOps", "(", "Class", ")", "<", "0", ")", "return", "getNumMicroOps", "(", "ItinData", ",", "MI", ")", ";", "unsigned", "Latency", "=", "ItinData", "->", "getStageLatency", "(", "Class", ")", ";", "unsigned", "DefAlign", "=", "MI", ".", "hasOneMemOperand", "(", ")", "?", "(", "*", "MI", ".", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", ":", "0", ";", "int", "Adj", "=", "adjustDefLatency", "(", "Subtarget", ",", "MI", ",", "MCID", ",", "DefAlign", ")", ";", "if", "(", "Adj", ">=", "0", "||", "(", "int", ")", "Latency", ">", "-", "Adj", ")", "{", "return", "Latency", "+", "Adj", ";", "}", "return", "Latency", ";", "}", ""], "natrual_language": ["Compute", "the", "instruction", "latency", "of", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "ARM::t2IT", "ARM::CPSR", "1", "3", "1", "0", "0", "0"], "File": "ARMBaseInstrInfo (2)2", "Func": "getInstrLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9802, "Length": 296} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getNumLDMAddresses", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "unsigned", "Size", "=", "0", ";", "for", "(", "MachineInstr", "::", "mmo_iterator", "I", "=", "MI", ".", "memoperands_begin", "(", ")", ",", "E", "=", "MI", ".", "memoperands_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "Size", "+=", "(", "*", "I", ")", "->", "getSize", "(", ")", ";", "}", "return", "Size", "/", "4", ";", "}", ""], "natrual_language": ["Get", "the", "number", "of", "addresses", "by", "LDM", "or", "VLDM", "or", "zero", "for", "unknown", "."], "TS_V_token": ["ARM", "ARM", "0", "4"], "File": "ARMBaseInstrInfo (2)2", "Func": "getNumLDMAddresses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9803, "Length": 64} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getPartialRegUpdateClearance", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "OpNum", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "auto", "PartialUpdateClearance", "=", "Subtarget", ".", "getPartialUpdateClearance", "(", ")", ";", "if", "(", "!", "PartialUpdateClearance", ")", "return", "0", ";", "assert", "(", "TRI", "&&", "\"Need TRI instance\"", ")", ";", "const", "MachineOperand", "&", "MO", "=", "MI", ".", "getOperand", "(", "OpNum", ")", ";", "if", "(", "MO", ".", "readsReg", "(", ")", ")", "return", "0", ";", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "int", "UseOp", "=", "-", "1", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "FCONSTS", ":", "case", "ARM", "::", "VMOVSR", ":", "case", "ARM", "::", "VMOVv8i8", ":", "case", "ARM", "::", "VMOVv4i16", ":", "case", "ARM", "::", "VMOVv2i32", ":", "case", "ARM", "::", "VMOVv2f32", ":", "case", "ARM", "::", "VMOVv1i64", ":", "UseOp", "=", "MI", ".", "findRegisterUseOperandIdx", "(", "Reg", ",", "false", ",", "TRI", ")", ";", "break", ";", "case", "ARM", "::", "VLD1LNd32", ":", "UseOp", "=", "3", ";", "break", ";", "default", ":", "return", "0", ";", "}", "if", "(", "UseOp", "!=", "-", "1", "&&", "MI", ".", "getOperand", "(", "UseOp", ")", ".", "readsReg", "(", ")", ")", "return", "0", ";", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "Reg", ")", ")", "{", "if", "(", "!", "MO", ".", "getSubReg", "(", ")", "||", "MI", ".", "readsVirtualRegister", "(", "Reg", ")", ")", "return", "0", ";", "}", "else", "if", "(", "ARM", "::", "SPRRegClass", ".", "contains", "(", "Reg", ")", ")", "{", "unsigned", "DReg", "=", "TRI", "->", "getMatchingSuperReg", "(", "Reg", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DReg", "||", "!", "MI", ".", "definesRegister", "(", "DReg", ",", "TRI", ")", ")", "return", "0", ";", "}", "return", "PartialUpdateClearance", ";", "}", ""], "natrual_language": ["Inform", "the", "BreakFalseDeps", "pass", "how", "many", "idle", "instructions", "we", "would", "like", "before", "a", "partial", "register", "update", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Need TRI instance\"", "0", "1", "ARM::VLDRS", "ARM::FCONSTS", "ARM::VMOVSR", "ARM::VMOVv8i8", "ARM::VMOVv4i16", "ARM::VMOVv2i32", "ARM::VMOVv2f32", "ARM::VMOVv1i64", "ARM::VLD1LNd32", "3", "0", "1", "0", "0", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0"], "File": "ARMBaseInstrInfo (2)2", "Func": "getPartialRegUpdateClearance", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9804, "Length": 269} {"ground_truth": ["", "ARMCC", "::", "CondCodes", "getPredicate", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "int", "PIdx", "=", "MI", ".", "findFirstPredOperandIdx", "(", ")", ";", "return", "PIdx", "!=", "-", "1", "?", "(", "ARMCC", "::", "CondCodes", ")", "MI", ".", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ":", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Returns", "the", "comparison", "predicate", "underlying", "the", "intrinsic", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "1", "ARMCC::CondCodes", "ARMCC::AL"], "File": "ARMBaseInstrInfo (2)2", "Func": "getPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9805, "Length": 48} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "getRegSequenceLikeInputs", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "DefIdx", ",", "SmallVectorImpl", "<", "RegSubRegPairAndIdx", ">", "&", "InputRegs", ")", "const", "{", "assert", "(", "DefIdx", "<", "MI", ".", "getDesc", "(", ")", ".", "getNumDefs", "(", ")", "&&", "\"Invalid definition index\"", ")", ";", "assert", "(", "MI", ".", "isRegSequenceLike", "(", ")", "&&", "\"Invalid kind of instruction\"", ")", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "VMOVDRR", ":", "const", "MachineOperand", "*", "MOReg", "=", "&", "MI", ".", "getOperand", "(", "1", ")", ";", "InputRegs", ".", "push_back", "(", "RegSubRegPairAndIdx", "(", "MOReg", "->", "getReg", "(", ")", ",", "MOReg", "->", "getSubReg", "(", ")", ",", "ARM", "::", "ssub_0", ")", ")", ";", "MOReg", "=", "&", "MI", ".", "getOperand", "(", "2", ")", ";", "InputRegs", ".", "push_back", "(", "RegSubRegPairAndIdx", "(", "MOReg", "->", "getReg", "(", ")", ",", "MOReg", "->", "getSubReg", "(", ")", ",", "ARM", "::", "ssub_1", ")", ")", ";", "return", "true", ";", "}", "llvm_unreachable", "(", "\"Target dependent opcode missing\"", ")", ";", "}", ""], "natrual_language": ["Target-dependent", "implementation", "of", "getRegSequenceInputs", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid definition index\"", "\"Invalid kind of instruction\"", "ARM::VMOVDRR", "1", "ARM::ssub_0", "2", "ARM::ssub_1", "\"Target dependent opcode missing\""], "File": "ARMBaseInstrInfo (2)2", "Func": "getRegSequenceLikeInputs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9806, "Length": 145} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "hasHighOperandLatency", "(", "const", "TargetSchedModel", "&", "SchedModel", ",", "const", "MachineRegisterInfo", "*", "MRI", ",", "const", "MachineInstr", "&", "DefMI", ",", "unsigned", "DefIdx", ",", "const", "MachineInstr", "&", "UseMI", ",", "unsigned", "UseIdx", ")", "const", "{", "unsigned", "DDomain", "=", "DefMI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "unsigned", "UDomain", "=", "UseMI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "Subtarget", ".", "nonpipelinedVFP", "(", ")", "&&", "(", "DDomain", "==", "ARMII", "::", "DomainVFP", "||", "UDomain", "==", "ARMII", "::", "DomainVFP", ")", ")", "return", "true", ";", "unsigned", "Latency", "=", "SchedModel", ".", "computeOperandLatency", "(", "&", "DefMI", ",", "DefIdx", ",", "&", "UseMI", ",", "UseIdx", ")", ";", "if", "(", "Latency", "<=", "3", ")", "return", "false", ";", "return", "DDomain", "==", "ARMII", "::", "DomainVFP", "||", "DDomain", "==", "ARMII", "::", "DomainNEON", "||", "UDomain", "==", "ARMII", "::", "DomainVFP", "||", "UDomain", "==", "ARMII", "::", "DomainNEON", ";", "}", ""], "natrual_language": ["Compute", "operand", "latency", "between", "a", "def", "of", "'Reg", "'", "and", "a", "use", "in", "the", "current", "loop", "."], "TS_V_token": ["ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainMask", "ARMII::DomainVFP", "ARMII::DomainVFP", "3", "ARMII::DomainVFP", "ARMII::DomainNEON", "ARMII::DomainVFP", "ARMII::DomainNEON"], "File": "ARMBaseInstrInfo (2)2", "Func": "hasHighOperandLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9807, "Length": 141} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "hasLowDefLatency", "(", "const", "TargetSchedModel", "&", "SchedModel", ",", "const", "MachineInstr", "&", "DefMI", ",", "unsigned", "DefIdx", ")", "const", "{", "const", "InstrItineraryData", "*", "ItinData", "=", "SchedModel", ".", "getInstrItineraries", "(", ")", ";", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "false", ";", "unsigned", "DDomain", "=", "DefMI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "DDomain", "==", "ARMII", "::", "DomainGeneral", ")", "{", "unsigned", "DefClass", "=", "DefMI", ".", "getDesc", "(", ")", ".", "getSchedClass", "(", ")", ";", "int", "DefCycle", "=", "ItinData", "->", "getOperandCycle", "(", "DefClass", ",", "DefIdx", ")", ";", "return", "(", "DefCycle", "!=", "-", "1", "&&", "DefCycle", "<=", "2", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Compute", "operand", "latency", "of", "a", "def", "of", "'Reg", "'", "."], "TS_V_token": ["ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainGeneral", "1", "2"], "File": "ARMBaseInstrInfo (2)2", "Func": "hasLowDefLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9808, "Length": 111} {"ground_truth": ["", "static", "inline", "bool", "isIndirectCall", "(", "const", "MachineInstr", "&", "MI", ")", "{", "int", "Opc", "=", "MI", ".", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "case", "ARM", "::", "BLX", ":", "case", "ARM", "::", "BLX_noip", ":", "case", "ARM", "::", "BLX_pred", ":", "case", "ARM", "::", "BLX_pred_noip", ":", "case", "ARM", "::", "BX_CALL", ":", "case", "ARM", "::", "BMOVPCRX_CALL", ":", "case", "ARM", "::", "TCRETURNri", ":", "case", "ARM", "::", "TAILJMPr", ":", "case", "ARM", "::", "TAILJMPr4", ":", "case", "ARM", "::", "tBLXr", ":", "case", "ARM", "::", "tBLXr_noip", ":", "case", "ARM", "::", "tBLXNSr", ":", "case", "ARM", "::", "tBLXNS_CALL", ":", "case", "ARM", "::", "tBX_CALL", ":", "case", "ARM", "::", "tTAILJMPr", ":", "assert", "(", "MI", ".", "isCall", "(", "MachineInstr", "::", "IgnoreBundle", ")", ")", ";", "return", "true", ";", "case", "ARM", "::", "BL", ":", "case", "ARM", "::", "BL_pred", ":", "case", "ARM", "::", "BMOVPCB_CALL", ":", "case", "ARM", "::", "BL_PUSHLR", ":", "case", "ARM", "::", "BLXi", ":", "case", "ARM", "::", "TCRETURNdi", ":", "case", "ARM", "::", "TAILJMPd", ":", "case", "ARM", "::", "SVC", ":", "case", "ARM", "::", "HVC", ":", "case", "ARM", "::", "TPsoft", ":", "case", "ARM", "::", "tTAILJMPd", ":", "case", "ARM", "::", "t2SMC", ":", "case", "ARM", "::", "t2HVC", ":", "case", "ARM", "::", "tBL", ":", "case", "ARM", "::", "tBLXi", ":", "case", "ARM", "::", "tBL_PUSHLR", ":", "case", "ARM", "::", "tTAILJMPdND", ":", "case", "ARM", "::", "tSVC", ":", "case", "ARM", "::", "tTPsoft", ":", "assert", "(", "MI", ".", "isCall", "(", "MachineInstr", "::", "IgnoreBundle", ")", ")", ";", "return", "false", ";", "}", "assert", "(", "!", "MI", ".", "isCall", "(", "MachineInstr", "::", "IgnoreBundle", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "callsite", "is", "an", "indirect", "call", "."], "TS_V_token": ["ARM", "ARM::BLX", "ARM::BLX_noip", "ARM::BLX_pred", "ARM::BLX_pred_noip", "ARM::BX_CALL", "ARM::BMOVPCRX_CALL", "ARM::TCRETURNri", "ARM::TAILJMPr", "ARM::TAILJMPr4", "ARM::tBLXr", "ARM::tBLXr_noip", "ARM::tBLXNSr", "ARM::tBLXNS_CALL", "ARM::tBX_CALL", "ARM::tTAILJMPr", "ARM::BL", "ARM::BL_pred", "ARM::BMOVPCB_CALL", "ARM::BL_PUSHLR", "ARM::BLXi", "ARM::TCRETURNdi", "ARM::TAILJMPd", "ARM::SVC", "ARM::HVC", "ARM::TPsoft", "ARM::tTAILJMPd", "ARM::t2SMC", "ARM::t2HVC", "ARM::tBL", "ARM::tBLXi", "ARM::tBL_PUSHLR", "ARM::tTAILJMPdND", "ARM::tSVC", "ARM::tTPsoft"], "File": "ARMBaseInstrInfo (2)2", "Func": "isIndirectCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9809, "Length": 243} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlot", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDRrs", ":", "case", "ARM", "::", "t2LDRs", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "tLDRspi", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLD1q64", ":", "case", "ARM", "::", "VLD1d64TPseudo", ":", "case", "ARM", "::", "VLD1d64QPseudo", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLDMQIA", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isLoadFromStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "load", "from", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "destination", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDRrs", "ARM::t2LDRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::LDRi12", "ARM::t2LDRi12", "ARM::tLDRspi", "ARM::VLDRD", "ARM::VLDRS", "1", "2", "2", "0", "1", "0", "ARM::VLD1q64", "ARM::VLD1d64TPseudo", "ARM::VLD1d64QPseudo", "1", "0", "0", "1", "0", "ARM::VLDMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo (2)2", "Func": "isLoadFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9810, "Length": 355} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlotPostFE", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "const", "MachineMemOperand", "*", "Dummy", ";", "return", "MI", ".", "mayLoad", "(", ")", "&&", "hasLoadFromStackSlot", "(", "MI", ",", "Dummy", ",", "FrameIndex", ")", ";", "}", ""], "natrual_language": ["isLoadFromStackSlotPostFE", "-", "Check", "for", "post-frame", "ptr", "elimination", "stack", "locations", "as", "well", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo (2)2", "Func": "isLoadFromStackSlotPostFE", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9811, "Length": 38} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicable", "(", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "!", "MI", ".", "isPredicable", "(", ")", ")", "return", "false", ";", "if", "(", "!", "isEligibleForITBlock", "(", "&", "MI", ")", ")", "return", "false", ";", "ARMFunctionInfo", "*", "AFI", "=", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", "{", "if", "(", "getSubtarget", "(", ")", ".", "restrictIT", "(", ")", ")", "return", "isV8EligibleForIT", "(", "&", "MI", ")", ";", "}", "else", "{", "if", "(", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainNEON", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "instruction", "can", "be", "predicated", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainNEON"], "File": "ARMBaseInstrInfo (2)2", "Func": "isPredicable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9812, "Length": 113} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicated", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "MI", ".", "isBundle", "(", ")", ")", "{", "MachineBasicBlock", "::", "const_instr_iterator", "I", "=", "MI", ".", "getIterator", "(", ")", ";", "MachineBasicBlock", "::", "const_instr_iterator", "E", "=", "MI", ".", "getParent", "(", ")", "->", "instr_end", "(", ")", ";", "while", "(", "++", "I", "!=", "E", "&&", "I", "->", "isInsideBundle", "(", ")", ")", "{", "int", "PIdx", "=", "I", "->", "findFirstPredOperandIdx", "(", ")", ";", "if", "(", "PIdx", "!=", "-", "1", "&&", "I", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", "!=", "ARMCC", "::", "AL", ")", "return", "true", ";", "}", "return", "false", ";", "}", "int", "PIdx", "=", "MI", ".", "findFirstPredOperandIdx", "(", ")", ";", "return", "PIdx", "!=", "-", "1", "&&", "MI", ".", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", "!=", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "is", "already", "predicated", "."], "TS_V_token": ["ARM", "ARM", "1", "ARMCC::AL", "1", "ARMCC::AL"], "File": "ARMBaseInstrInfo (2)2", "Func": "isPredicated", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9813, "Length": 131} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToIfCvt", "(", "MachineBasicBlock", "&", "TMBB", ",", "unsigned", "TCycles", ",", "unsigned", "TExtra", ",", "MachineBasicBlock", "&", "FMBB", ",", "unsigned", "FCycles", ",", "unsigned", "FExtra", ",", "BranchProbability", "Probability", ")", "const", "{", "if", "(", "!", "TCycles", "||", "!", "FCycles", ")", "return", "false", ";", "const", "unsigned", "ScalingUpFactor", "=", "1024", ";", "unsigned", "TUnpredCost", "=", "Probability", ".", "scale", "(", "TCycles", "*", "ScalingUpFactor", ")", ";", "unsigned", "FUnpredCost", "=", "Probability", ".", "getCompl", "(", ")", ".", "scale", "(", "FCycles", "*", "ScalingUpFactor", ")", ";", "unsigned", "UnpredCost", "=", "TUnpredCost", "+", "FUnpredCost", ";", "UnpredCost", "+=", "1", "*", "ScalingUpFactor", ";", "UnpredCost", "+=", "Subtarget", ".", "getMispredictionPenalty", "(", ")", "*", "ScalingUpFactor", "/", "10", ";", "return", "(", "TCycles", "+", "FCycles", "+", "TExtra", "+", "FExtra", ")", "*", "ScalingUpFactor", "<=", "UnpredCost", ";", "}", ""], "natrual_language": ["Second", "variant", "of", "isProfitableToIfCvt", "."], "TS_V_token": ["ARM", "ARM", "1024", "1", "10"], "File": "ARMBaseInstrInfo (2)2", "Func": "isProfitableToIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9814, "Length": 116} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToUnpredicate", "(", "MachineBasicBlock", "&", "TMBB", ",", "MachineBasicBlock", "&", "FMBB", ")", "const", "{", "return", "Subtarget", ".", "isProfitableToUnpredicate", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "profitable", "to", "unpredicate", "one", "side", "of", "a", "'diamond", "'", ",", "i.e", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo (2)2", "Func": "isProfitableToUnpredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9815, "Length": 23} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isSchedulingBoundary", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineBasicBlock", "*", "MBB", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "MI", ".", "isDebugValue", "(", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "isTerminator", "(", ")", "||", "MI", ".", "isPosition", "(", ")", ")", "return", "true", ";", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MI", ";", "while", "(", "++", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "isDebugValue", "(", ")", ")", ";", "if", "(", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "return", "true", ";", "if", "(", "!", "MI", ".", "isCall", "(", ")", "&&", "MI", ".", "definesRegister", "(", "ARM", "::", "SP", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["isSchedulingBoundary", "-", "Overrides", "the", "isSchedulingBoundary", "from", "Codegen/TargetInstrInfo.cpp", "to", "make", "it", "capable", "of", "identifying", "ENDBR", "intructions", "and", "prevent", "it", "from", "being", "re-scheduled", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2IT", "ARM::SP"], "File": "ARMBaseInstrInfo (2)2", "Func": "isSchedulingBoundary", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9816, "Length": 123} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlot", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "STRrs", ":", "case", "ARM", "::", "t2STRs", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "VSTRS", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VST1q64", ":", "case", "ARM", "::", "VST1d64TPseudo", ":", "case", "ARM", "::", "VST1d64QPseudo", ":", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VSTMQIA", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isStoreToStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "store", "to", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "source", "reg", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::STRrs", "ARM::t2STRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::STRi12", "ARM::t2STRi12", "ARM::tSTRspi", "ARM::VSTRD", "ARM::VSTRS", "1", "2", "2", "0", "1", "0", "ARM::VST1q64", "ARM::VST1d64TPseudo", "ARM::VST1d64QPseudo", "0", "2", "0", "0", "2", "ARM::VSTMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo (2)2", "Func": "isStoreToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9817, "Length": 355} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlotPostFE", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "const", "MachineMemOperand", "*", "Dummy", ";", "return", "MI", ".", "mayStore", "(", ")", "&&", "hasStoreToStackSlot", "(", "MI", ",", "Dummy", ",", "FrameIndex", ")", ";", "}", ""], "natrual_language": ["isStoreToStackSlotPostFE", "-", "Check", "for", "post-frame", "ptr", "elimination", "stack", "locations", "as", "well", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo (2)2", "Func": "isStoreToStackSlotPostFE", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9818, "Length": 38} {"ground_truth": ["", "bool", "isUnspillableTerminatorImpl", "(", "const", "MachineInstr", "*", "MI", ")", "const", "override", "{", "return", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2LoopEndDec", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2DoLoopStartTP", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2WhileLoopStartLR", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2WhileLoopStartTP", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "given", "terminator", "MI", "is", "not", "expected", "to", "spill", "."], "TS_V_token": ["ARM", "ARM::t2LoopEndDec", "ARM::t2DoLoopStartTP", "ARM::t2WhileLoopStartLR", "ARM::t2WhileLoopStartTP"], "File": "ARMBaseInstrInfo (2)2", "Func": "isUnspillableTerminatorImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9819, "Length": 53} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "optimizeSelect", "(", "MachineInstr", "&", "MI", ",", "SmallPtrSetImpl", "<", "MachineInstr", "*", ">", "&", "SeenMIs", ",", "bool", "PreferFalse", ")", "const", "{", "assert", "(", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MOVCCr", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "t2MOVCCr", ")", "&&", "\"Unknown select instruction\"", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineInstr", "*", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "bool", "Invert", "=", "!", "DefMI", ";", "if", "(", "!", "DefMI", ")", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "if", "(", "!", "DefMI", ")", "return", "nullptr", ";", "MachineOperand", "FalseReg", "=", "MI", ".", "getOperand", "(", "Invert", "?", "2", ":", "1", ")", ";", "unsigned", "DestReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "const", "TargetRegisterClass", "*", "PreviousClass", "=", "MRI", ".", "getRegClass", "(", "FalseReg", ".", "getReg", "(", ")", ")", ";", "if", "(", "!", "MRI", ".", "constrainRegClass", "(", "DestReg", ",", "PreviousClass", ")", ")", "return", "nullptr", ";", "MachineInstrBuilder", "NewMI", "=", "BuildMI", "(", "*", "MI", ".", "getParent", "(", ")", ",", "MI", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "DefMI", "->", "getDesc", "(", ")", ",", "DestReg", ")", ";", "const", "MCInstrDesc", "&", "DefDesc", "=", "DefMI", "->", "getDesc", "(", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "DefDesc", ".", "getNumOperands", "(", ")", ";", "i", "!=", "e", "&&", "!", "DefDesc", ".", "OpInfo", "[", "i", "]", ".", "isPredicate", "(", ")", ";", "++", "i", ")", "NewMI", ".", "addOperand", "(", "DefMI", "->", "getOperand", "(", "i", ")", ")", ";", "unsigned", "CondCode", "=", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", ";", "if", "(", "Invert", ")", "NewMI", ".", "addImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "ARMCC", "::", "CondCodes", "(", "CondCode", ")", ")", ")", ";", "else", "NewMI", ".", "addImm", "(", "CondCode", ")", ";", "NewMI", ".", "addOperand", "(", "MI", ".", "getOperand", "(", "4", ")", ")", ";", "if", "(", "NewMI", "->", "hasOptionalDef", "(", ")", ")", "AddDefaultCC", "(", "NewMI", ")", ";", "FalseReg", ".", "setImplicit", "(", ")", ";", "NewMI", ".", "addOperand", "(", "FalseReg", ")", ";", "NewMI", "->", "tieOperands", "(", "0", ",", "NewMI", "->", "getNumOperands", "(", ")", "-", "1", ")", ";", "SeenMIs", ".", "insert", "(", "NewMI", ")", ";", "SeenMIs", ".", "erase", "(", "DefMI", ")", ";", "if", "(", "DefMI", "->", "getParent", "(", ")", "!=", "MI", ".", "getParent", "(", ")", ")", "NewMI", "->", "clearKillInfo", "(", ")", ";", "DefMI", "->", "eraseFromParent", "(", ")", ";", "return", "NewMI", ";", "}", ""], "natrual_language": ["Given", "a", "select", "instruction", "that", "was", "understood", "by", "analyzeSelect", "and", "returned", "Optimizable", "=", "true", ",", "attempt", "to", "optimize", "MI", "by", "merging", "it", "with", "one", "of", "its", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "\"Unknown select instruction\"", "2", "1", "2", "1", "0", "1", "3", "ARMCC::getOppositeCondition", "ARMCC::CondCodes", "4", "0", "1"], "File": "ARMBaseInstrInfo (2)2", "Func": "optimizeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9820, "Length": 414} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "PredicateInstruction", "(", "MachineInstr", "&", "MI", ",", "ArrayRef", "<", "MachineOperand", ">", "Pred", ")", "const", "{", "unsigned", "Opc", "=", "MI", ".", "getOpcode", "(", ")", ";", "if", "(", "isUncondBranchOpcode", "(", "Opc", ")", ")", "{", "MI", ".", "setDesc", "(", "get", "(", "getMatchingCondBranchOpcode", "(", "Opc", ")", ")", ")", ";", "MachineInstrBuilder", "(", "*", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ".", "addImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ".", "addReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ")", ";", "return", "true", ";", "}", "int", "PIdx", "=", "MI", ".", "findFirstPredOperandIdx", "(", ")", ";", "if", "(", "PIdx", "!=", "-", "1", ")", "{", "MachineOperand", "&", "PMO", "=", "MI", ".", "getOperand", "(", "PIdx", ")", ";", "PMO", ".", "setImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ";", "MI", ".", "getOperand", "(", "PIdx", "+", "1", ")", ".", "setReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Convert", "the", "instruction", "into", "a", "predicated", "instruction", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "1", "0", "1", "1"], "File": "ARMBaseInstrInfo (2)2", "Func": "PredicateInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9821, "Length": 162} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "reMaterialize", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "const", "MachineInstr", "&", "Orig", ",", "const", "TargetRegisterInfo", "&", "TRI", ")", "const", "{", "unsigned", "Opcode", "=", "Orig", ".", "getOpcode", "(", ")", ";", "switch", "(", "Opcode", ")", "{", "default", ":", "{", "MachineInstr", "*", "MI", "=", "MBB", ".", "getParent", "(", ")", "->", "CloneMachineInstr", "(", "&", "Orig", ")", ";", "MI", "->", "substituteRegister", "(", "Orig", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ",", "DestReg", ",", "SubIdx", ",", "TRI", ")", ";", "MBB", ".", "insert", "(", "I", ",", "MI", ")", ";", "break", ";", "}", "case", "ARM", "::", "tLDRpci_pic", ":", "case", "ARM", "::", "t2LDRpci_pic", ":", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "unsigned", "CPI", "=", "Orig", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "unsigned", "PCLabelId", "=", "duplicateCPV", "(", "MF", ",", "CPI", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "Orig", ".", "getDebugLoc", "(", ")", ",", "get", "(", "Opcode", ")", ",", "DestReg", ")", ".", "addConstantPoolIndex", "(", "CPI", ")", ".", "addImm", "(", "PCLabelId", ")", ";", "MIB", "->", "setMemRefs", "(", "Orig", ".", "memoperands_begin", "(", ")", ",", "Orig", ".", "memoperands_end", "(", ")", ")", ";", "break", ";", "}", "}", "}", ""], "natrual_language": ["Re-issue", "the", "specified", "'original", "'", "instruction", "at", "the", "specific", "location", "targeting", "a", "new", "destination", "register", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tLDRpci_pic", "ARM::t2LDRpci_pic", "1"], "File": "ARMBaseInstrInfo (2)2", "Func": "reMaterialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9822, "Length": 200} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "SubsumesPredicate", "(", "ArrayRef", "<", "MachineOperand", ">", "Pred1", ",", "ArrayRef", "<", "MachineOperand", ">", "Pred2", ")", "const", "{", "if", "(", "Pred1", ".", "size", "(", ")", ">", "2", "||", "Pred2", ".", "size", "(", ")", ">", "2", ")", "return", "false", ";", "ARMCC", "::", "CondCodes", "CC1", "=", "(", "ARMCC", "::", "CondCodes", ")", "Pred1", "[", "0", "]", ".", "getImm", "(", ")", ";", "ARMCC", "::", "CondCodes", "CC2", "=", "(", "ARMCC", "::", "CondCodes", ")", "Pred2", "[", "0", "]", ".", "getImm", "(", ")", ";", "if", "(", "CC1", "==", "CC2", ")", "return", "true", ";", "switch", "(", "CC1", ")", "{", "default", ":", "return", "false", ";", "case", "ARMCC", "::", "AL", ":", "return", "true", ";", "case", "ARMCC", "::", "HS", ":", "return", "CC2", "==", "ARMCC", "::", "HI", ";", "case", "ARMCC", "::", "LS", ":", "return", "CC2", "==", "ARMCC", "::", "LO", "||", "CC2", "==", "ARMCC", "::", "EQ", ";", "case", "ARMCC", "::", "GE", ":", "return", "CC2", "==", "ARMCC", "::", "GT", ";", "case", "ARMCC", "::", "LE", ":", "return", "CC2", "==", "ARMCC", "::", "LT", ";", "}", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "first", "specified", "predicate", "subsumes", "the", "second", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "2", "2", "ARMCC::CondCodes", "ARMCC::CondCodes", "0", "ARMCC::CondCodes", "ARMCC::CondCodes", "0", "ARMCC::AL", "ARMCC::HS", "ARMCC::HI", "ARMCC::LS", "ARMCC::LO", "ARMCC::EQ", "ARMCC::GE", "ARMCC::GT", "ARMCC::LE", "ARMCC::LT"], "File": "ARMBaseInstrInfo (2)2", "Func": "SubsumesPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9823, "Length": 161} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "verifyInstruction", "(", "const", "MachineInstr", "&", "MI", ",", "StringRef", "&", "ErrInfo", ")", "const", "{", "if", "(", "convertAddSubFlagsOpcode", "(", "MI", ".", "getOpcode", "(", ")", ")", ")", "{", "ErrInfo", "=", "\"Pseudo flag setting opcodes only exist in Selection DAG\"", ";", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Perform", "target-specific", "instruction", "verification", "."], "TS_V_token": ["ARM", "ARM", "\"Pseudo flag setting opcodes only exist in Selection DAG\""], "File": "ARMBaseInstrInfo (2)2", "Func": "verifyInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9824, "Length": 40} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "commuteInstructionImpl", "(", "MachineInstr", "*", "MI", ",", "bool", "NewMI", ",", "unsigned", "OpIdx1", ",", "unsigned", "OpIdx2", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "MOVCCr", ":", "case", "ARM", "::", "t2MOVCCr", ":", "{", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "MI", ",", "PredReg", ")", ";", "if", "(", "CC", "==", "ARMCC", "::", "AL", "||", "PredReg", "!=", "ARM", "::", "CPSR", ")", "return", "nullptr", ";", "MI", "=", "TargetInstrInfo", "::", "commuteInstructionImpl", "(", "MI", ",", "NewMI", ",", "OpIdx1", ",", "OpIdx2", ")", ";", "if", "(", "!", "MI", ")", "return", "nullptr", ";", "MI", "->", "getOperand", "(", "MI", "->", "findFirstPredOperandIdx", "(", ")", ")", ".", "setImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "CC", ")", ")", ";", "return", "MI", ";", "}", "}", "return", "TargetInstrInfo", "::", "commuteInstructionImpl", "(", "MI", ",", "NewMI", ",", "OpIdx1", ",", "OpIdx2", ")", ";", "}", ""], "natrual_language": ["Commutes", "the", "operands", "in", "the", "given", "instruction", "by", "changing", "the", "operands", "order", "and/or", "changing", "the", "instruction", "'s", "opcode", "and/or", "the", "immediate", "value", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "0", "ARMCC::CondCodes", "ARMCC::AL", "ARM::CPSR", "ARMCC::getOppositeCondition"], "File": "ARMBaseInstrInfo (2)3", "Func": "commuteInstructionImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9825, "Length": 139} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineBasicBlock", "::", "iterator", "MI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "Reloc", "::", "Model", "RM", "=", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", ";", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "TargetOpcode", "::", "LOAD_STACK_GUARD", ")", "{", "assert", "(", "getSubtarget", "(", ")", ".", "getTargetTriple", "(", ")", ".", "isOSBinFormatMachO", "(", ")", "&&", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", ")", ";", "expandLoadStackGuard", "(", "MI", ",", "RM", ")", ";", "MI", "->", "getParent", "(", ")", "->", "erase", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MEMCPY", ")", "{", "expandMEMCPY", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "!", "WidenVMOVS", "||", "!", "MI", "->", "isCopy", "(", ")", "||", "Subtarget", ".", "isCortexA15", "(", ")", "||", "Subtarget", ".", "isFPOnlySP", "(", ")", ")", "return", "false", ";", "unsigned", "DstRegS", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "unsigned", "SrcRegS", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", "->", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", "->", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", "->", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "*", "MI", ")", ";", "MachineInstrBuilder", "MIB", "(", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", "->", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", "->", "RemoveOperand", "(", "ImpDefIdx", ")", ";", "MI", "->", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", "->", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", "->", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "MI", "->", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MIB", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", "->", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", "->", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "*", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", "ARM::MEMCPY", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo (2)3", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9826, "Length": 457} {"ground_truth": ["", "std", "::", "pair", "<", "uint16_t", ",", "uint16_t", ">", "ARMBaseInstrInfo", "::", "getExecutionDomain", "(", "const", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "Subtarget", ".", "hasNEON", "(", ")", ")", "{", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVD", "&&", "!", "isPredicated", "(", "MI", ")", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "(", "1", "<<", "ExeVFP", ")", "|", "(", "1", "<<", "ExeNEON", ")", ")", ";", "if", "(", "Subtarget", ".", "isCortexA9", "(", ")", "&&", "!", "isPredicated", "(", "MI", ")", "&&", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVRS", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVSR", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVS", ")", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "(", "1", "<<", "ExeVFP", ")", "|", "(", "1", "<<", "ExeNEON", ")", ")", ";", "}", "unsigned", "Domain", "=", "MI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "Domain", "&", "ARMII", "::", "DomainNEON", ")", "return", "std", "::", "make_pair", "(", "ExeNEON", ",", "0", ")", ";", "if", "(", "(", "Domain", "&", "ARMII", "::", "DomainNEONA8", ")", "&&", "Subtarget", ".", "isCortexA8", "(", ")", ")", "return", "std", "::", "make_pair", "(", "ExeNEON", ",", "0", ")", ";", "if", "(", "Domain", "&", "ARMII", "::", "DomainVFP", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "0", ")", ";", "return", "std", "::", "make_pair", "(", "ExeGeneric", ",", "0", ")", ";", "}", ""], "natrual_language": ["Return", "the", "current", "execution", "domain", "and", "bit", "mask", "of", "possible", "domains", "for", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::VMOVD", "1", "1", "ARM::VMOVRS", "ARM::VMOVSR", "ARM::VMOVS", "1", "1", "ARMII::DomainMask", "ARMII::DomainNEON", "0", "ARMII::DomainNEONA8", "0", "ARMII::DomainVFP", "0", "0"], "File": "ARMBaseInstrInfo (2)3", "Func": "getExecutionDomain", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9827, "Length": 221} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getInstrLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "*", "MI", ",", "unsigned", "*", "PredCost", ")", "const", "{", "if", "(", "MI", "->", "isCopyLike", "(", ")", "||", "MI", "->", "isInsertSubreg", "(", ")", "||", "MI", "->", "isRegSequence", "(", ")", "||", "MI", "->", "isImplicitDef", "(", ")", ")", "return", "1", ";", "if", "(", "MI", "->", "isBundle", "(", ")", ")", "{", "unsigned", "Latency", "=", "0", ";", "MachineBasicBlock", "::", "const_instr_iterator", "I", "=", "MI", "->", "getIterator", "(", ")", ";", "MachineBasicBlock", "::", "const_instr_iterator", "E", "=", "MI", "->", "getParent", "(", ")", "->", "instr_end", "(", ")", ";", "while", "(", "++", "I", "!=", "E", "&&", "I", "->", "isInsideBundle", "(", ")", ")", "{", "if", "(", "I", "->", "getOpcode", "(", ")", "!=", "ARM", "::", "t2IT", ")", "Latency", "+=", "getInstrLatency", "(", "ItinData", ",", "&", "*", "I", ",", "PredCost", ")", ";", "}", "return", "Latency", ";", "}", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "PredCost", "&&", "(", "MCID", ".", "isCall", "(", ")", "||", "MCID", ".", "hasImplicitDefOfPhysReg", "(", "ARM", "::", "CPSR", ")", ")", ")", "{", "*", "PredCost", "=", "1", ";", "}", "if", "(", "!", "ItinData", ")", "return", "MI", "->", "mayLoad", "(", ")", "?", "3", ":", "1", ";", "unsigned", "Class", "=", "MCID", ".", "getSchedClass", "(", ")", ";", "if", "(", "!", "ItinData", "->", "isEmpty", "(", ")", "&&", "ItinData", "->", "getNumMicroOps", "(", "Class", ")", "<", "0", ")", "return", "getNumMicroOps", "(", "ItinData", ",", "MI", ")", ";", "unsigned", "Latency", "=", "ItinData", "->", "getStageLatency", "(", "Class", ")", ";", "unsigned", "DefAlign", "=", "MI", "->", "hasOneMemOperand", "(", ")", "?", "(", "*", "MI", "->", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", ":", "0", ";", "int", "Adj", "=", "adjustDefLatency", "(", "Subtarget", ",", "MI", ",", "&", "MCID", ",", "DefAlign", ")", ";", "if", "(", "Adj", ">=", "0", "||", "(", "int", ")", "Latency", ">", "-", "Adj", ")", "{", "return", "Latency", "+", "Adj", ";", "}", "return", "Latency", ";", "}", ""], "natrual_language": ["Compute", "the", "instruction", "latency", "of", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "ARM::t2IT", "ARM::CPSR", "1", "3", "1", "0", "0", "0"], "File": "ARMBaseInstrInfo (2)3", "Func": "getInstrLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9828, "Length": 298} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "hasHighOperandLatency", "(", "const", "TargetSchedModel", "&", "SchedModel", ",", "const", "MachineRegisterInfo", "*", "MRI", ",", "const", "MachineInstr", "*", "DefMI", ",", "unsigned", "DefIdx", ",", "const", "MachineInstr", "*", "UseMI", ",", "unsigned", "UseIdx", ")", "const", "{", "unsigned", "DDomain", "=", "DefMI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "unsigned", "UDomain", "=", "UseMI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "Subtarget", ".", "isCortexA8", "(", ")", "&&", "(", "DDomain", "==", "ARMII", "::", "DomainVFP", "||", "UDomain", "==", "ARMII", "::", "DomainVFP", ")", ")", "return", "true", ";", "unsigned", "Latency", "=", "SchedModel", ".", "computeOperandLatency", "(", "DefMI", ",", "DefIdx", ",", "UseMI", ",", "UseIdx", ")", ";", "if", "(", "Latency", "<=", "3", ")", "return", "false", ";", "return", "DDomain", "==", "ARMII", "::", "DomainVFP", "||", "DDomain", "==", "ARMII", "::", "DomainNEON", "||", "UDomain", "==", "ARMII", "::", "DomainVFP", "||", "UDomain", "==", "ARMII", "::", "DomainNEON", ";", "}", ""], "natrual_language": ["Compute", "operand", "latency", "between", "a", "def", "of", "'Reg", "'", "and", "a", "use", "in", "the", "current", "loop", "."], "TS_V_token": ["ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainMask", "ARMII::DomainVFP", "ARMII::DomainVFP", "3", "ARMII::DomainVFP", "ARMII::DomainNEON", "ARMII::DomainVFP", "ARMII::DomainNEON"], "File": "ARMBaseInstrInfo (2)3", "Func": "hasHighOperandLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9829, "Length": 139} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "hasLowDefLatency", "(", "const", "TargetSchedModel", "&", "SchedModel", ",", "const", "MachineInstr", "*", "DefMI", ",", "unsigned", "DefIdx", ")", "const", "{", "const", "InstrItineraryData", "*", "ItinData", "=", "SchedModel", ".", "getInstrItineraries", "(", ")", ";", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "false", ";", "unsigned", "DDomain", "=", "DefMI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "DDomain", "==", "ARMII", "::", "DomainGeneral", ")", "{", "unsigned", "DefClass", "=", "DefMI", "->", "getDesc", "(", ")", ".", "getSchedClass", "(", ")", ";", "int", "DefCycle", "=", "ItinData", "->", "getOperandCycle", "(", "DefClass", ",", "DefIdx", ")", ";", "return", "(", "DefCycle", "!=", "-", "1", "&&", "DefCycle", "<=", "2", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Compute", "operand", "latency", "of", "a", "def", "of", "'Reg", "'", "."], "TS_V_token": ["ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainGeneral", "1", "2"], "File": "ARMBaseInstrInfo (2)3", "Func": "hasLowDefLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9830, "Length": 111} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicable", "(", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "!", "MI", "->", "isPredicable", "(", ")", ")", "return", "false", ";", "if", "(", "!", "isEligibleForITBlock", "(", "MI", ")", ")", "return", "false", ";", "ARMFunctionInfo", "*", "AFI", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", "{", "if", "(", "getSubtarget", "(", ")", ".", "restrictIT", "(", ")", ")", "return", "isV8EligibleForIT", "(", "MI", ")", ";", "}", "else", "{", "if", "(", "(", "MI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainNEON", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "instruction", "can", "be", "predicated", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainNEON"], "File": "ARMBaseInstrInfo (2)3", "Func": "isPredicable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9831, "Length": 111} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicated", "(", "const", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "MI", "->", "isBundle", "(", ")", ")", "{", "MachineBasicBlock", "::", "const_instr_iterator", "I", "=", "MI", "->", "getIterator", "(", ")", ";", "MachineBasicBlock", "::", "const_instr_iterator", "E", "=", "MI", "->", "getParent", "(", ")", "->", "instr_end", "(", ")", ";", "while", "(", "++", "I", "!=", "E", "&&", "I", "->", "isInsideBundle", "(", ")", ")", "{", "int", "PIdx", "=", "I", "->", "findFirstPredOperandIdx", "(", ")", ";", "if", "(", "PIdx", "!=", "-", "1", "&&", "I", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", "!=", "ARMCC", "::", "AL", ")", "return", "true", ";", "}", "return", "false", ";", "}", "int", "PIdx", "=", "MI", "->", "findFirstPredOperandIdx", "(", ")", ";", "return", "PIdx", "!=", "-", "1", "&&", "MI", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", "!=", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "is", "already", "predicated", "."], "TS_V_token": ["ARM", "ARM", "1", "ARMCC::AL", "1", "ARMCC::AL"], "File": "ARMBaseInstrInfo (2)3", "Func": "isPredicated", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9832, "Length": 131} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToIfCvt", "(", "MachineBasicBlock", "&", "MBB", ",", "unsigned", "NumCycles", ",", "unsigned", "ExtraPredCycles", ",", "BranchProbability", "Probability", ")", "const", "{", "if", "(", "!", "NumCycles", ")", "return", "false", ";", "if", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "optForSize", "(", ")", ")", "{", "MachineBasicBlock", "*", "Pred", "=", "*", "MBB", ".", "pred_begin", "(", ")", ";", "if", "(", "!", "Pred", "->", "empty", "(", ")", ")", "{", "MachineInstr", "*", "LastMI", "=", "&", "*", "Pred", "->", "rbegin", "(", ")", ";", "if", "(", "LastMI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2Bcc", ")", "{", "MachineBasicBlock", "::", "iterator", "CmpMI", "=", "LastMI", ";", "if", "(", "CmpMI", "!=", "Pred", "->", "begin", "(", ")", ")", "{", "--", "CmpMI", ";", "if", "(", "CmpMI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tCMPi8", "||", "CmpMI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2CMPri", ")", "{", "unsigned", "Reg", "=", "CmpMI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "P", "=", "getInstrPredicate", "(", "CmpMI", ",", "PredReg", ")", ";", "if", "(", "P", "==", "ARMCC", "::", "AL", "&&", "CmpMI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", "==", "0", "&&", "isARMLowRegister", "(", "Reg", ")", ")", "return", "false", ";", "}", "}", "}", "}", "}", "const", "unsigned", "ScalingUpFactor", "=", "1024", ";", "unsigned", "UnpredCost", "=", "Probability", ".", "scale", "(", "NumCycles", "*", "ScalingUpFactor", ")", ";", "UnpredCost", "+=", "ScalingUpFactor", ";", "UnpredCost", "+=", "Subtarget", ".", "getMispredictionPenalty", "(", ")", "*", "ScalingUpFactor", "/", "10", ";", "return", "(", "NumCycles", "+", "ExtraPredCycles", ")", "*", "ScalingUpFactor", "<=", "UnpredCost", ";", "}", ""], "natrual_language": ["Second", "variant", "of", "isProfitableToIfCvt", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2Bcc", "ARM::tCMPi8", "ARM::t2CMPri", "0", "0", "ARMCC::CondCodes", "ARMCC::AL", "1", "0", "ARM", "1024", "10"], "File": "ARMBaseInstrInfo (2)3", "Func": "isProfitableToIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9833, "Length": 246} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "optimizeSelect", "(", "MachineInstr", "*", "MI", ",", "SmallPtrSetImpl", "<", "MachineInstr", "*", ">", "&", "SeenMIs", ",", "bool", "PreferFalse", ")", "const", "{", "assert", "(", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MOVCCr", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2MOVCCr", ")", "&&", "\"Unknown select instruction\"", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineInstr", "*", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "bool", "Invert", "=", "!", "DefMI", ";", "if", "(", "!", "DefMI", ")", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "if", "(", "!", "DefMI", ")", "return", "nullptr", ";", "MachineOperand", "FalseReg", "=", "MI", "->", "getOperand", "(", "Invert", "?", "2", ":", "1", ")", ";", "unsigned", "DestReg", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "const", "TargetRegisterClass", "*", "PreviousClass", "=", "MRI", ".", "getRegClass", "(", "FalseReg", ".", "getReg", "(", ")", ")", ";", "if", "(", "!", "MRI", ".", "constrainRegClass", "(", "DestReg", ",", "PreviousClass", ")", ")", "return", "nullptr", ";", "MachineInstrBuilder", "NewMI", "=", "BuildMI", "(", "*", "MI", "->", "getParent", "(", ")", ",", "MI", ",", "MI", "->", "getDebugLoc", "(", ")", ",", "DefMI", "->", "getDesc", "(", ")", ",", "DestReg", ")", ";", "const", "MCInstrDesc", "&", "DefDesc", "=", "DefMI", "->", "getDesc", "(", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "DefDesc", ".", "getNumOperands", "(", ")", ";", "i", "!=", "e", "&&", "!", "DefDesc", ".", "OpInfo", "[", "i", "]", ".", "isPredicate", "(", ")", ";", "++", "i", ")", "NewMI", ".", "addOperand", "(", "DefMI", "->", "getOperand", "(", "i", ")", ")", ";", "unsigned", "CondCode", "=", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", ";", "if", "(", "Invert", ")", "NewMI", ".", "addImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "ARMCC", "::", "CondCodes", "(", "CondCode", ")", ")", ")", ";", "else", "NewMI", ".", "addImm", "(", "CondCode", ")", ";", "NewMI", ".", "addOperand", "(", "MI", "->", "getOperand", "(", "4", ")", ")", ";", "if", "(", "NewMI", "->", "hasOptionalDef", "(", ")", ")", "AddDefaultCC", "(", "NewMI", ")", ";", "FalseReg", ".", "setImplicit", "(", ")", ";", "NewMI", ".", "addOperand", "(", "FalseReg", ")", ";", "NewMI", "->", "tieOperands", "(", "0", ",", "NewMI", "->", "getNumOperands", "(", ")", "-", "1", ")", ";", "SeenMIs", ".", "insert", "(", "NewMI", ")", ";", "SeenMIs", ".", "erase", "(", "DefMI", ")", ";", "if", "(", "DefMI", "->", "getParent", "(", ")", "!=", "MI", "->", "getParent", "(", ")", ")", "NewMI", "->", "clearKillInfo", "(", ")", ";", "DefMI", "->", "eraseFromParent", "(", ")", ";", "return", "NewMI", ";", "}", ""], "natrual_language": ["Given", "a", "select", "instruction", "that", "was", "understood", "by", "analyzeSelect", "and", "returned", "Optimizable", "=", "true", ",", "attempt", "to", "optimize", "MI", "by", "merging", "it", "with", "one", "of", "its", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "\"Unknown select instruction\"", "2", "1", "2", "1", "0", "1", "3", "ARMCC::getOppositeCondition", "ARMCC::CondCodes", "4", "0", "1"], "File": "ARMBaseInstrInfo (2)3", "Func": "optimizeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9834, "Length": 414} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "PredicateInstruction", "(", "MachineInstr", "*", "MI", ",", "ArrayRef", "<", "MachineOperand", ">", "Pred", ")", "const", "{", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "if", "(", "isUncondBranchOpcode", "(", "Opc", ")", ")", "{", "MI", "->", "setDesc", "(", "get", "(", "getMatchingCondBranchOpcode", "(", "Opc", ")", ")", ")", ";", "MachineInstrBuilder", "(", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ".", "addImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ".", "addReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ")", ";", "return", "true", ";", "}", "int", "PIdx", "=", "MI", "->", "findFirstPredOperandIdx", "(", ")", ";", "if", "(", "PIdx", "!=", "-", "1", ")", "{", "MachineOperand", "&", "PMO", "=", "MI", "->", "getOperand", "(", "PIdx", ")", ";", "PMO", ".", "setImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ";", "MI", "->", "getOperand", "(", "PIdx", "+", "1", ")", ".", "setReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Convert", "the", "instruction", "into", "a", "predicated", "instruction", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "1", "0", "1", "1"], "File": "ARMBaseInstrInfo (2)3", "Func": "PredicateInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9835, "Length": 162} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "areLoadsFromSameBasePtr", "(", "SDNode", "*", "Load1", ",", "SDNode", "*", "Load2", ",", "int64_t", "&", "Offset1", ",", "int64_t", "&", "Offset2", ")", "const", "{", "if", "(", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "!", "Load1", "->", "isMachineOpcode", "(", ")", "||", "!", "Load2", "->", "isMachineOpcode", "(", ")", ")", "return", "false", ";", "switch", "(", "Load1", "->", "getMachineOpcode", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "LDRD", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRSB", ":", "case", "ARM", "::", "LDRSH", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2LDRDi8", ":", "case", "ARM", "::", "t2LDRSHi8", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRSHi12", ":", "break", ";", "}", "switch", "(", "Load2", "->", "getMachineOpcode", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "LDRD", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRSB", ":", "case", "ARM", "::", "LDRSH", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2LDRDi8", ":", "case", "ARM", "::", "t2LDRSHi8", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRSHi12", ":", "break", ";", "}", "if", "(", "Load1", "->", "getOperand", "(", "0", ")", "!=", "Load2", "->", "getOperand", "(", "0", ")", "||", "Load1", "->", "getOperand", "(", "4", ")", "!=", "Load2", "->", "getOperand", "(", "4", ")", ")", "return", "false", ";", "if", "(", "Load1", "->", "getOperand", "(", "3", ")", "!=", "Load2", "->", "getOperand", "(", "3", ")", ")", "return", "false", ";", "if", "(", "isa", "<", "ConstantSDNode", ">", "(", "Load1", "->", "getOperand", "(", "1", ")", ")", "&&", "isa", "<", "ConstantSDNode", ">", "(", "Load2", "->", "getOperand", "(", "1", ")", ")", ")", "{", "Offset1", "=", "cast", "<", "ConstantSDNode", ">", "(", "Load1", "->", "getOperand", "(", "1", ")", ")", "->", "getSExtValue", "(", ")", ";", "Offset2", "=", "cast", "<", "ConstantSDNode", ">", "(", "Load2", "->", "getOperand", "(", "1", ")", ")", "->", "getSExtValue", "(", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["areLoadsFromSameBasePtr", "-", "This", "is", "used", "by", "the", "pre-regalloc", "scheduler", "to", "determine", "if", "two", "loads", "are", "loading", "from", "the", "same", "base", "address", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDRi12", "ARM::LDRBi12", "ARM::LDRD", "ARM::LDRH", "ARM::LDRSB", "ARM::LDRSH", "ARM::VLDRD", "ARM::VLDRS", "ARM::t2LDRi8", "ARM::t2LDRDi8", "ARM::t2LDRSHi8", "ARM::t2LDRi12", "ARM::t2LDRSHi12", "ARM::LDRi12", "ARM::LDRBi12", "ARM::LDRD", "ARM::LDRH", "ARM::LDRSB", "ARM::LDRSH", "ARM::VLDRD", "ARM::VLDRS", "ARM::t2LDRi8", "ARM::t2LDRDi8", "ARM::t2LDRSHi8", "ARM::t2LDRi12", "ARM::t2LDRSHi12", "0", "0", "4", "4", "3", "3", "1", "1", "1", "1"], "File": "ARMBaseInstrInfo (2)4", "Func": "areLoadsFromSameBasePtr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9836, "Length": 344} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "ARMBaseInstrInfo", "::", "CreateTargetHazardRecognizer", "(", "const", "TargetMachine", "*", "TM", ",", "const", "ScheduleDAG", "*", "DAG", ")", "const", "{", "if", "(", "usePreRAHazardRecognizer", "(", ")", ")", "{", "const", "InstrItineraryData", "*", "II", "=", "TM", "->", "getInstrItineraryData", "(", ")", ";", "return", "new", "ScoreboardHazardRecognizer", "(", "II", ",", "DAG", ",", "\"pre-RA-sched\"", ")", ";", "}", "return", "TargetInstrInfoImpl", "::", "CreateTargetHazardRecognizer", "(", "TM", ",", "DAG", ")", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "this", "target", "when", "scheduling", "the", "machine", "instructions", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "\"pre-RA-sched\""], "File": "ARMBaseInstrInfo (2)4", "Func": "CreateTargetHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9837, "Length": 59} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "ARMBaseInstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "const", "InstrItineraryData", "*", "II", ",", "const", "ScheduleDAG", "*", "DAG", ")", "const", "{", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "||", "Subtarget", ".", "hasVFP2", "(", ")", ")", "return", "(", "ScheduleHazardRecognizer", "*", ")", "new", "ARMHazardRecognizer", "(", "II", ",", "*", "this", ",", "getRegisterInfo", "(", ")", ",", "Subtarget", ",", "DAG", ")", ";", "return", "TargetInstrInfoImpl", "::", "CreateTargetPostRAHazardRecognizer", "(", "II", ",", "DAG", ")", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "by", "non-scheduling", "passes", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMBaseInstrInfo (2)4", "Func": "CreateTargetPostRAHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9838, "Length": 65} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "duplicate", "(", "MachineInstr", "*", "Orig", ",", "MachineFunction", "&", "MF", ")", "const", "{", "MachineInstr", "*", "MI", "=", "TargetInstrInfoImpl", "::", "duplicate", "(", "Orig", ",", "MF", ")", ";", "switch", "(", "Orig", "->", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "tLDRpci_pic", ":", "case", "ARM", "::", "t2LDRpci_pic", ":", "{", "unsigned", "CPI", "=", "Orig", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "unsigned", "PCLabelId", "=", "duplicateCPV", "(", "MF", ",", "CPI", ")", ";", "Orig", "->", "getOperand", "(", "1", ")", ".", "setIndex", "(", "CPI", ")", ";", "Orig", "->", "getOperand", "(", "2", ")", ".", "setImm", "(", "PCLabelId", ")", ";", "break", ";", "}", "}", "return", "MI", ";", "}", ""], "natrual_language": ["Clones", "instruction", "or", "the", "whole", "instruction", "bundle", "Orig", "and", "insert", "into", "MBB", "before", "InsertBefore", "."], "TS_V_token": ["ARM", "ARM", "ARM::tLDRpci_pic", "ARM::t2LDRpci_pic", "1", "1", "2"], "File": "ARMBaseInstrInfo (2)4", "Func": "duplicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9839, "Length": 105} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineBasicBlock", "::", "iterator", "MI", ")", "const", "{", "if", "(", "!", "WidenVMOVS", "||", "!", "MI", "->", "isCopy", "(", ")", ")", "return", "false", ";", "unsigned", "DstRegS", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "unsigned", "SrcRegS", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", "->", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", "->", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", "->", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "*", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", "->", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", "->", "RemoveOperand", "(", "ImpDefIdx", ")", ";", "MI", "->", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", "->", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", "->", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "AddDefaultPred", "(", "MachineInstrBuilder", "(", "MI", ")", ")", ";", "MI", "->", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MachineInstrBuilder", "(", "MI", ")", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", "->", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", "->", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "*", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo (2)4", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9840, "Length": 330} {"ground_truth": ["", "std", "::", "pair", "<", "uint16_t", ",", "uint16_t", ">", "ARMBaseInstrInfo", "::", "getExecutionDomain", "(", "const", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVD", "&&", "!", "isPredicated", "(", "MI", ")", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "(", "1", "<<", "ExeVFP", ")", "|", "(", "1", "<<", "ExeNEON", ")", ")", ";", "unsigned", "Domain", "=", "MI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "Domain", "&", "ARMII", "::", "DomainNEON", ")", "return", "std", "::", "make_pair", "(", "ExeNEON", ",", "0", ")", ";", "if", "(", "(", "Domain", "&", "ARMII", "::", "DomainNEONA8", ")", "&&", "Subtarget", ".", "isCortexA8", "(", ")", ")", "return", "std", "::", "make_pair", "(", "ExeNEON", ",", "0", ")", ";", "if", "(", "Domain", "&", "ARMII", "::", "DomainVFP", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "0", ")", ";", "return", "std", "::", "make_pair", "(", "ExeGeneric", ",", "0", ")", ";", "}", ""], "natrual_language": ["Return", "the", "current", "execution", "domain", "and", "bit", "mask", "of", "possible", "domains", "for", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::VMOVD", "1", "1", "ARMII::DomainMask", "ARMII::DomainNEON", "0", "ARMII::DomainNEONA8", "0", "ARMII::DomainVFP", "0", "0"], "File": "ARMBaseInstrInfo (2)4", "Func": "getExecutionDomain", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9841, "Length": 145} {"ground_truth": ["", "int", "ARMBaseInstrInfo", "::", "getInstrLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "*", "MI", ",", "unsigned", "*", "PredCost", ")", "const", "{", "if", "(", "MI", "->", "isCopyLike", "(", ")", "||", "MI", "->", "isInsertSubreg", "(", ")", "||", "MI", "->", "isRegSequence", "(", ")", "||", "MI", "->", "isImplicitDef", "(", ")", ")", "return", "1", ";", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "1", ";", "if", "(", "MI", "->", "isBundle", "(", ")", ")", "{", "int", "Latency", "=", "0", ";", "MachineBasicBlock", "::", "const_instr_iterator", "I", "=", "MI", ";", "MachineBasicBlock", "::", "const_instr_iterator", "E", "=", "MI", "->", "getParent", "(", ")", "->", "instr_end", "(", ")", ";", "while", "(", "++", "I", "!=", "E", "&&", "I", "->", "isInsideBundle", "(", ")", ")", "{", "if", "(", "I", "->", "getOpcode", "(", ")", "!=", "ARM", "::", "t2IT", ")", "Latency", "+=", "getInstrLatency", "(", "ItinData", ",", "I", ",", "PredCost", ")", ";", "}", "return", "Latency", ";", "}", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "Class", "=", "MCID", ".", "getSchedClass", "(", ")", ";", "unsigned", "UOps", "=", "ItinData", "->", "Itineraries", "[", "Class", "]", ".", "NumMicroOps", ";", "if", "(", "PredCost", "&&", "(", "MCID", ".", "isCall", "(", ")", "||", "MCID", ".", "hasImplicitDefOfPhysReg", "(", "ARM", "::", "CPSR", ")", ")", ")", "*", "PredCost", "=", "1", ";", "if", "(", "UOps", ")", "return", "ItinData", "->", "getStageLatency", "(", "Class", ")", ";", "return", "getNumMicroOps", "(", "ItinData", ",", "MI", ")", ";", "}", ""], "natrual_language": ["Compute", "the", "instruction", "latency", "of", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0", "ARM::t2IT", "ARM::CPSR", "1"], "File": "ARMBaseInstrInfo (2)4", "Func": "getInstrLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9842, "Length": 221} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getNumMicroOps", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "1", ";", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "Class", "=", "Desc", ".", "getSchedClass", "(", ")", ";", "unsigned", "UOps", "=", "ItinData", "->", "Itineraries", "[", "Class", "]", ".", "NumMicroOps", ";", "if", "(", "UOps", ")", "return", "UOps", ";", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unexpected multi-uops instruction!\"", ")", ";", "case", "ARM", "::", "VLDMQIA", ":", "case", "ARM", "::", "VSTMQIA", ":", "return", "2", ";", "case", "ARM", "::", "VLDMDIA", ":", "case", "ARM", "::", "VLDMDIA_UPD", ":", "case", "ARM", "::", "VLDMDDB_UPD", ":", "case", "ARM", "::", "VLDMSIA", ":", "case", "ARM", "::", "VLDMSIA_UPD", ":", "case", "ARM", "::", "VLDMSDB_UPD", ":", "case", "ARM", "::", "VSTMDIA", ":", "case", "ARM", "::", "VSTMDIA_UPD", ":", "case", "ARM", "::", "VSTMDDB_UPD", ":", "case", "ARM", "::", "VSTMSIA", ":", "case", "ARM", "::", "VSTMSIA_UPD", ":", "case", "ARM", "::", "VSTMSDB_UPD", ":", "{", "unsigned", "NumRegs", "=", "MI", "->", "getNumOperands", "(", ")", "-", "Desc", ".", "getNumOperands", "(", ")", ";", "return", "(", "NumRegs", "/", "2", ")", "+", "(", "NumRegs", "%", "2", ")", "+", "1", ";", "}", "case", "ARM", "::", "LDMIA_RET", ":", "case", "ARM", "::", "LDMIA", ":", "case", "ARM", "::", "LDMDA", ":", "case", "ARM", "::", "LDMDB", ":", "case", "ARM", "::", "LDMIB", ":", "case", "ARM", "::", "LDMIA_UPD", ":", "case", "ARM", "::", "LDMDA_UPD", ":", "case", "ARM", "::", "LDMDB_UPD", ":", "case", "ARM", "::", "LDMIB_UPD", ":", "case", "ARM", "::", "STMIA", ":", "case", "ARM", "::", "STMDA", ":", "case", "ARM", "::", "STMDB", ":", "case", "ARM", "::", "STMIB", ":", "case", "ARM", "::", "STMIA_UPD", ":", "case", "ARM", "::", "STMDA_UPD", ":", "case", "ARM", "::", "STMDB_UPD", ":", "case", "ARM", "::", "STMIB_UPD", ":", "case", "ARM", "::", "tLDMIA", ":", "case", "ARM", "::", "tLDMIA_UPD", ":", "case", "ARM", "::", "tSTMIA_UPD", ":", "case", "ARM", "::", "tPOP_RET", ":", "case", "ARM", "::", "tPOP", ":", "case", "ARM", "::", "tPUSH", ":", "case", "ARM", "::", "t2LDMIA_RET", ":", "case", "ARM", "::", "t2LDMIA", ":", "case", "ARM", "::", "t2LDMDB", ":", "case", "ARM", "::", "t2LDMIA_UPD", ":", "case", "ARM", "::", "t2LDMDB_UPD", ":", "case", "ARM", "::", "t2STMIA", ":", "case", "ARM", "::", "t2STMDB", ":", "case", "ARM", "::", "t2STMIA_UPD", ":", "case", "ARM", "::", "t2STMDB_UPD", ":", "{", "unsigned", "NumRegs", "=", "MI", "->", "getNumOperands", "(", ")", "-", "Desc", ".", "getNumOperands", "(", ")", "+", "1", ";", "if", "(", "Subtarget", ".", "isCortexA8", "(", ")", ")", "{", "if", "(", "NumRegs", "<", "4", ")", "return", "2", ";", "UOps", "=", "(", "NumRegs", "/", "2", ")", ";", "if", "(", "NumRegs", "%", "2", ")", "++", "UOps", ";", "return", "UOps", ";", "}", "else", "if", "(", "Subtarget", ".", "isCortexA9", "(", ")", ")", "{", "UOps", "=", "(", "NumRegs", "/", "2", ")", ";", "if", "(", "(", "NumRegs", "%", "2", ")", "||", "!", "MI", "->", "hasOneMemOperand", "(", ")", "||", "(", "*", "MI", "->", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", "<", "8", ")", "++", "UOps", ";", "return", "UOps", ";", "}", "else", "{", "return", "NumRegs", ";", "}", "}", "}", "}", ""], "natrual_language": ["Return", "the", "number", "of", "issue", "slots", "required", "for", "this", "MI", "."], "TS_V_token": ["ARM", "ARM", "1", "\"Unexpected multi-uops instruction!\"", "ARM::VLDMQIA", "ARM::VSTMQIA", "2", "ARM::VLDMDIA", "ARM::VLDMDIA_UPD", "ARM::VLDMDDB_UPD", "ARM::VLDMSIA", "ARM::VLDMSIA_UPD", "ARM::VLDMSDB_UPD", "ARM::VSTMDIA", "ARM::VSTMDIA_UPD", "ARM::VSTMDDB_UPD", "ARM::VSTMSIA", "ARM::VSTMSIA_UPD", "ARM::VSTMSDB_UPD", "2", "2", "1", "ARM::LDMIA_RET", "ARM::LDMIA", "ARM::LDMDA", "ARM::LDMDB", "ARM::LDMIB", "ARM::LDMIA_UPD", "ARM::LDMDA_UPD", "ARM::LDMDB_UPD", "ARM::LDMIB_UPD", "ARM::STMIA", "ARM::STMDA", "ARM::STMDB", "ARM::STMIB", "ARM::STMIA_UPD", "ARM::STMDA_UPD", "ARM::STMDB_UPD", "ARM::STMIB_UPD", "ARM::tLDMIA", "ARM::tLDMIA_UPD", "ARM::tSTMIA_UPD", "ARM::tPOP_RET", "ARM::tPOP", "ARM::tPUSH", "ARM::t2LDMIA_RET", "ARM::t2LDMIA", "ARM::t2LDMDB", "ARM::t2LDMIA_UPD", "ARM::t2LDMDB_UPD", "ARM::t2STMIA", "ARM::t2STMDB", "ARM::t2STMIA_UPD", "ARM::t2STMDB_UPD", "1", "4", "2", "2", "2", "2", "2", "8"], "File": "ARMBaseInstrInfo (2)4", "Func": "getNumMicroOps", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9843, "Length": 477} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "hasHighOperandLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineRegisterInfo", "*", "MRI", ",", "const", "MachineInstr", "*", "DefMI", ",", "unsigned", "DefIdx", ",", "const", "MachineInstr", "*", "UseMI", ",", "unsigned", "UseIdx", ")", "const", "{", "unsigned", "DDomain", "=", "DefMI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "unsigned", "UDomain", "=", "UseMI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "Subtarget", ".", "isCortexA8", "(", ")", "&&", "(", "DDomain", "==", "ARMII", "::", "DomainVFP", "||", "UDomain", "==", "ARMII", "::", "DomainVFP", ")", ")", "return", "true", ";", "int", "Latency", "=", "getOperandLatency", "(", "ItinData", ",", "DefMI", ",", "DefIdx", ",", "UseMI", ",", "UseIdx", ")", ";", "if", "(", "Latency", "<=", "3", ")", "return", "false", ";", "return", "DDomain", "==", "ARMII", "::", "DomainVFP", "||", "DDomain", "==", "ARMII", "::", "DomainNEON", "||", "UDomain", "==", "ARMII", "::", "DomainVFP", "||", "UDomain", "==", "ARMII", "::", "DomainNEON", ";", "}", ""], "natrual_language": ["Compute", "operand", "latency", "between", "a", "def", "of", "'Reg", "'", "and", "a", "use", "in", "the", "current", "loop", "."], "TS_V_token": ["ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainMask", "ARMII::DomainVFP", "ARMII::DomainVFP", "3", "ARMII::DomainVFP", "ARMII::DomainNEON", "ARMII::DomainVFP", "ARMII::DomainNEON"], "File": "ARMBaseInstrInfo (2)4", "Func": "hasHighOperandLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9844, "Length": 139} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDRrs", ":", "case", "ARM", "::", "t2LDRs", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "tLDRspi", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLD1q64", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLDMQIA", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isLoadFromStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "load", "from", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "destination", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDRrs", "ARM::t2LDRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::LDRi12", "ARM::t2LDRi12", "ARM::tLDRspi", "ARM::VLDRD", "ARM::VLDRS", "1", "2", "2", "0", "1", "0", "ARM::VLD1q64", "1", "0", "0", "1", "0", "ARM::VLDMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo (2)4", "Func": "isLoadFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9845, "Length": 345} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "STRrs", ":", "case", "ARM", "::", "t2STRs", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "VSTRS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VST1q64", ":", "if", "(", "MI", "->", "getOperand", "(", "0", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VSTMQIA", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isStoreToStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "store", "to", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "source", "reg", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::STRrs", "ARM::t2STRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::STRi12", "ARM::t2STRi12", "ARM::tSTRspi", "ARM::VSTRD", "ARM::VSTRS", "1", "2", "2", "0", "1", "0", "ARM::VST1q64", "0", "2", "0", "0", "2", "ARM::VSTMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo (2)4", "Func": "isStoreToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9846, "Length": 345} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "PredicateInstruction", "(", "MachineInstr", "*", "MI", ",", "const", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Pred", ")", "const", "{", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "if", "(", "isUncondBranchOpcode", "(", "Opc", ")", ")", "{", "MI", "->", "setDesc", "(", "get", "(", "getMatchingCondBranchOpcode", "(", "Opc", ")", ")", ")", ";", "MI", "->", "addOperand", "(", "MachineOperand", "::", "CreateImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ")", ";", "MI", "->", "addOperand", "(", "MachineOperand", "::", "CreateReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ",", "false", ")", ")", ";", "return", "true", ";", "}", "int", "PIdx", "=", "MI", "->", "findFirstPredOperandIdx", "(", ")", ";", "if", "(", "PIdx", "!=", "-", "1", ")", "{", "MachineOperand", "&", "PMO", "=", "MI", "->", "getOperand", "(", "PIdx", ")", ";", "PMO", ".", "setImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ";", "MI", "->", "getOperand", "(", "PIdx", "+", "1", ")", ".", "setReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Convert", "the", "instruction", "into", "a", "predicated", "instruction", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "1", "0", "1", "1"], "File": "ARMBaseInstrInfo (2)4", "Func": "PredicateInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9847, "Length": 164} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "setExecutionDomain", "(", "MachineInstr", "*", "MI", ",", "unsigned", "Domain", ")", "const", "{", "assert", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVD", "&&", "\"Can only swizzle VMOVD\"", ")", ";", "if", "(", "Domain", "!=", "ExeNEON", ")", "return", ";", "assert", "(", "!", "isPredicated", "(", "MI", ")", "&&", "\"Cannot predicate a VORRd\"", ")", ";", "MI", "->", "RemoveOperand", "(", "3", ")", ";", "MI", "->", "RemoveOperand", "(", "2", ")", ";", "MI", "->", "setDesc", "(", "get", "(", "ARM", "::", "VORRd", ")", ")", ";", "AddDefaultPred", "(", "MachineInstrBuilder", "(", "MI", ")", ".", "addOperand", "(", "MI", "->", "getOperand", "(", "1", ")", ")", ")", ";", "}", ""], "natrual_language": ["Change", "the", "opcode", "of", "MI", "to", "execute", "in", "Domain", "."], "TS_V_token": ["ARM", "ARM", "ARM::VMOVD", "\"Can only swizzle VMOVD\"", "\"Cannot predicate a VORRd\"", "3", "2", "ARM::VORRd", "1"], "File": "ARMBaseInstrInfo (2)4", "Func": "setExecutionDomain", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9848, "Length": 93} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeCompare", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "&", "SrcReg", ",", "unsigned", "&", "SrcReg2", ",", "int", "&", "CmpMask", ",", "int", "&", "CmpValue", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "CMPri", ":", "case", "ARM", "::", "t2CMPri", ":", "SrcReg", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "0", ";", "CmpMask", "=", "~", "0", ";", "CmpValue", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "return", "true", ";", "case", "ARM", "::", "CMPrr", ":", "case", "ARM", "::", "t2CMPrr", ":", "SrcReg", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "CmpMask", "=", "~", "0", ";", "CmpValue", "=", "0", ";", "return", "true", ";", "case", "ARM", "::", "TSTri", ":", "case", "ARM", "::", "t2TSTri", ":", "SrcReg", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "0", ";", "CmpMask", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "CmpValue", "=", "0", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["analyzeCompare", "-", "For", "a", "comparison", "instruction", ",", "return", "the", "source", "registers", "in", "SrcReg", "and", "SrcReg2", "if", "having", "two", "register", "operands", ",", "and", "the", "value", "it", "compares", "against", "in", "CmpValue", "."], "TS_V_token": ["ARM", "ARM", "ARM::CMPri", "ARM::t2CMPri", "0", "0", "0", "1", "ARM::CMPrr", "ARM::t2CMPrr", "0", "1", "0", "0", "ARM::TSTri", "ARM::t2TSTri", "0", "0", "1", "0"], "File": "ARMBaseInstrInfo (2)", "Func": "analyzeCompare", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9849, "Length": 189} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeSelect", "(", "const", "MachineInstr", "*", "MI", ",", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Cond", ",", "unsigned", "&", "TrueOp", ",", "unsigned", "&", "FalseOp", ",", "bool", "&", "Optimizable", ")", "const", "{", "assert", "(", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MOVCCr", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2MOVCCr", ")", "&&", "\"Unknown select instruction\"", ")", ";", "TrueOp", "=", "1", ";", "FalseOp", "=", "2", ";", "Cond", ".", "push_back", "(", "MI", "->", "getOperand", "(", "3", ")", ")", ";", "Cond", ".", "push_back", "(", "MI", "->", "getOperand", "(", "4", ")", ")", ";", "Optimizable", "=", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Analyze", "the", "given", "select", "instruction", ",", "returning", "true", "if", "it", "can", "not", "be", "understood", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "\"Unknown select instruction\"", "1", "2", "3", "4"], "File": "ARMBaseInstrInfo (2)", "Func": "analyzeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9850, "Length": 98} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "areLoadsFromSameBasePtr", "(", "SDNode", "*", "Load1", ",", "SDNode", "*", "Load2", ",", "int64_t", "&", "Offset1", ",", "int64_t", "&", "Offset2", ")", "const", "{", "if", "(", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "!", "Load1", "->", "isMachineOpcode", "(", ")", "||", "!", "Load2", "->", "isMachineOpcode", "(", ")", ")", "return", "false", ";", "switch", "(", "Load1", "->", "getMachineOpcode", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "LDRD", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRSB", ":", "case", "ARM", "::", "LDRSH", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2LDRBi8", ":", "case", "ARM", "::", "t2LDRDi8", ":", "case", "ARM", "::", "t2LDRSHi8", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRBi12", ":", "case", "ARM", "::", "t2LDRSHi12", ":", "break", ";", "}", "switch", "(", "Load2", "->", "getMachineOpcode", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "LDRD", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRSB", ":", "case", "ARM", "::", "LDRSH", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2LDRBi8", ":", "case", "ARM", "::", "t2LDRSHi8", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRBi12", ":", "case", "ARM", "::", "t2LDRSHi12", ":", "break", ";", "}", "if", "(", "Load1", "->", "getOperand", "(", "0", ")", "!=", "Load2", "->", "getOperand", "(", "0", ")", "||", "Load1", "->", "getOperand", "(", "4", ")", "!=", "Load2", "->", "getOperand", "(", "4", ")", ")", "return", "false", ";", "if", "(", "Load1", "->", "getOperand", "(", "3", ")", "!=", "Load2", "->", "getOperand", "(", "3", ")", ")", "return", "false", ";", "if", "(", "isa", "<", "ConstantSDNode", ">", "(", "Load1", "->", "getOperand", "(", "1", ")", ")", "&&", "isa", "<", "ConstantSDNode", ">", "(", "Load2", "->", "getOperand", "(", "1", ")", ")", ")", "{", "Offset1", "=", "cast", "<", "ConstantSDNode", ">", "(", "Load1", "->", "getOperand", "(", "1", ")", ")", "->", "getSExtValue", "(", ")", ";", "Offset2", "=", "cast", "<", "ConstantSDNode", ">", "(", "Load2", "->", "getOperand", "(", "1", ")", ")", "->", "getSExtValue", "(", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["areLoadsFromSameBasePtr", "-", "This", "is", "used", "by", "the", "pre-regalloc", "scheduler", "to", "determine", "if", "two", "loads", "are", "loading", "from", "the", "same", "base", "address", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDRi12", "ARM::LDRBi12", "ARM::LDRD", "ARM::LDRH", "ARM::LDRSB", "ARM::LDRSH", "ARM::VLDRD", "ARM::VLDRS", "ARM::t2LDRi8", "ARM::t2LDRBi8", "ARM::t2LDRDi8", "ARM::t2LDRSHi8", "ARM::t2LDRi12", "ARM::t2LDRBi12", "ARM::t2LDRSHi12", "ARM::LDRi12", "ARM::LDRBi12", "ARM::LDRD", "ARM::LDRH", "ARM::LDRSB", "ARM::LDRSH", "ARM::VLDRD", "ARM::VLDRS", "ARM::t2LDRi8", "ARM::t2LDRBi8", "ARM::t2LDRSHi8", "ARM::t2LDRi12", "ARM::t2LDRBi12", "ARM::t2LDRSHi12", "0", "0", "4", "4", "3", "3", "1", "1", "1", "1"], "File": "ARMBaseInstrInfo (2)", "Func": "areLoadsFromSameBasePtr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9851, "Length": 359} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "breakPartialRegDependency", "(", "MachineBasicBlock", "::", "iterator", "MI", ",", "unsigned", "OpNum", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "MI", "&&", "OpNum", "<", "MI", "->", "getDesc", "(", ")", ".", "getNumDefs", "(", ")", "&&", "\"OpNum is not a def\"", ")", ";", "assert", "(", "TRI", "&&", "\"Need TRI instance\"", ")", ";", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "OpNum", ")", ";", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "assert", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "Reg", ")", "&&", "\"Can't break virtual register dependencies.\"", ")", ";", "unsigned", "DReg", "=", "Reg", ";", "if", "(", "ARM", "::", "SPRRegClass", ".", "contains", "(", "Reg", ")", ")", "{", "DReg", "=", "ARM", "::", "D0", "+", "(", "Reg", "-", "ARM", "::", "S0", ")", "/", "2", ";", "assert", "(", "TRI", "->", "isSuperRegister", "(", "Reg", ",", "DReg", ")", "&&", "\"Register enums broken\"", ")", ";", "}", "assert", "(", "ARM", "::", "DPRRegClass", ".", "contains", "(", "DReg", ")", "&&", "\"Can only break D-reg deps\"", ")", ";", "assert", "(", "MI", "->", "definesRegister", "(", "DReg", ",", "TRI", ")", "&&", "\"MI doesn't clobber full D-reg\"", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "*", "MI", "->", "getParent", "(", ")", ",", "MI", ",", "MI", "->", "getDebugLoc", "(", ")", ",", "get", "(", "ARM", "::", "FCONSTD", ")", ",", "DReg", ")", ".", "addImm", "(", "96", ")", ")", ";", "MI", "->", "addRegisterKilled", "(", "DReg", ",", "TRI", ",", "true", ")", ";", "}", ""], "natrual_language": ["Insert", "a", "dependency-breaking", "instruction", "before", "MI", "to", "eliminate", "an", "unwanted", "dependency", "on", "OpNum", "."], "TS_V_token": ["ARM", "ARM", "\"OpNum is not a def\"", "\"Need TRI instance\"", "\"Can't break virtual register dependencies.\"", "ARM::SPRRegClass", "ARM::D0", "ARM::S0", "2", "\"Register enums broken\"", "ARM::DPRRegClass", "\"Can only break D-reg deps\"", "\"MI doesn't clobber full D-reg\"", "ARM::FCONSTD", "96"], "File": "ARMBaseInstrInfo (2)", "Func": "breakPartialRegDependency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9852, "Length": 202} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "commuteInstruction", "(", "MachineInstr", "*", "MI", ",", "bool", "NewMI", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "MOVCCr", ":", "case", "ARM", "::", "t2MOVCCr", ":", "{", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "MI", ",", "PredReg", ")", ";", "if", "(", "CC", "==", "ARMCC", "::", "AL", "||", "PredReg", "!=", "ARM", "::", "CPSR", ")", "return", "NULL", ";", "MI", "=", "TargetInstrInfo", "::", "commuteInstruction", "(", "MI", ",", "NewMI", ")", ";", "if", "(", "!", "MI", ")", "return", "NULL", ";", "MI", "->", "getOperand", "(", "MI", "->", "findFirstPredOperandIdx", "(", ")", ")", ".", "setImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "CC", ")", ")", ";", "return", "MI", ";", "}", "}", "return", "TargetInstrInfo", "::", "commuteInstruction", "(", "MI", ",", "NewMI", ")", ";", "}", ""], "natrual_language": ["This", "method", "commutes", "the", "operands", "of", "the", "given", "machine", "instruction", "MI", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "0", "ARMCC::CondCodes", "ARMCC::AL", "ARM::CPSR", "ARMCC::getOppositeCondition"], "File": "ARMBaseInstrInfo (2)", "Func": "commuteInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9853, "Length": 125} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "ARMBaseInstrInfo", "::", "CreateTargetHazardRecognizer", "(", "const", "TargetMachine", "*", "TM", ",", "const", "ScheduleDAG", "*", "DAG", ")", "const", "{", "if", "(", "usePreRAHazardRecognizer", "(", ")", ")", "{", "const", "InstrItineraryData", "*", "II", "=", "TM", "->", "getInstrItineraryData", "(", ")", ";", "return", "new", "ScoreboardHazardRecognizer", "(", "II", ",", "DAG", ",", "\"pre-RA-sched\"", ")", ";", "}", "return", "TargetInstrInfo", "::", "CreateTargetHazardRecognizer", "(", "TM", ",", "DAG", ")", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "this", "target", "when", "scheduling", "the", "machine", "instructions", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "\"pre-RA-sched\""], "File": "ARMBaseInstrInfo (2)", "Func": "CreateTargetHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9854, "Length": 59} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "ARMBaseInstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "const", "InstrItineraryData", "*", "II", ",", "const", "ScheduleDAG", "*", "DAG", ")", "const", "{", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "||", "Subtarget", ".", "hasVFP2", "(", ")", ")", "return", "(", "ScheduleHazardRecognizer", "*", ")", "new", "ARMHazardRecognizer", "(", "II", ",", "DAG", ")", ";", "return", "TargetInstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "II", ",", "DAG", ")", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "by", "non-scheduling", "passes", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMBaseInstrInfo (2)", "Func": "CreateTargetPostRAHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9855, "Length": 56} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "duplicate", "(", "MachineInstr", "*", "Orig", ",", "MachineFunction", "&", "MF", ")", "const", "{", "MachineInstr", "*", "MI", "=", "TargetInstrInfo", "::", "duplicate", "(", "Orig", ",", "MF", ")", ";", "switch", "(", "Orig", "->", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "tLDRpci_pic", ":", "case", "ARM", "::", "t2LDRpci_pic", ":", "{", "unsigned", "CPI", "=", "Orig", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "unsigned", "PCLabelId", "=", "duplicateCPV", "(", "MF", ",", "CPI", ")", ";", "Orig", "->", "getOperand", "(", "1", ")", ".", "setIndex", "(", "CPI", ")", ";", "Orig", "->", "getOperand", "(", "2", ")", ".", "setImm", "(", "PCLabelId", ")", ";", "break", ";", "}", "}", "return", "MI", ";", "}", ""], "natrual_language": ["Clones", "instruction", "or", "the", "whole", "instruction", "bundle", "Orig", "and", "insert", "into", "MBB", "before", "InsertBefore", "."], "TS_V_token": ["ARM", "ARM", "ARM::tLDRpci_pic", "ARM::t2LDRpci_pic", "1", "1", "2"], "File": "ARMBaseInstrInfo (2)", "Func": "duplicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9856, "Length": 105} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineBasicBlock", "::", "iterator", "MI", ")", "const", "{", "if", "(", "!", "WidenVMOVS", "||", "!", "MI", "->", "isCopy", "(", ")", "||", "Subtarget", ".", "isCortexA15", "(", ")", ")", "return", "false", ";", "unsigned", "DstRegS", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "unsigned", "SrcRegS", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", "->", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", "->", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", "->", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "*", "MI", ")", ";", "MachineInstrBuilder", "MIB", "(", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", "->", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", "->", "RemoveOperand", "(", "ImpDefIdx", ")", ";", "MI", "->", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", "->", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", "->", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "MI", "->", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MIB", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", "->", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", "->", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "*", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo (2)", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9857, "Length": 347} {"ground_truth": ["", "std", "::", "pair", "<", "uint16_t", ",", "uint16_t", ">", "ARMBaseInstrInfo", "::", "getExecutionDomain", "(", "const", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVD", "&&", "!", "isPredicated", "(", "MI", ")", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "(", "1", "<<", "ExeVFP", ")", "|", "(", "1", "<<", "ExeNEON", ")", ")", ";", "if", "(", "Subtarget", ".", "isCortexA9", "(", ")", "&&", "!", "isPredicated", "(", "MI", ")", "&&", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVRS", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVSR", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVS", ")", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "(", "1", "<<", "ExeVFP", ")", "|", "(", "1", "<<", "ExeNEON", ")", ")", ";", "unsigned", "Domain", "=", "MI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "Domain", "&", "ARMII", "::", "DomainNEON", ")", "return", "std", "::", "make_pair", "(", "ExeNEON", ",", "0", ")", ";", "if", "(", "(", "Domain", "&", "ARMII", "::", "DomainNEONA8", ")", "&&", "Subtarget", ".", "isCortexA8", "(", ")", ")", "return", "std", "::", "make_pair", "(", "ExeNEON", ",", "0", ")", ";", "if", "(", "Domain", "&", "ARMII", "::", "DomainVFP", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "0", ")", ";", "return", "std", "::", "make_pair", "(", "ExeGeneric", ",", "0", ")", ";", "}", ""], "natrual_language": ["Return", "the", "current", "execution", "domain", "and", "bit", "mask", "of", "possible", "domains", "for", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::VMOVD", "1", "1", "ARM::VMOVRS", "ARM::VMOVSR", "ARM::VMOVS", "1", "1", "ARMII::DomainMask", "ARMII::DomainNEON", "0", "ARMII::DomainNEONA8", "0", "ARMII::DomainVFP", "0", "0"], "File": "ARMBaseInstrInfo (2)", "Func": "getExecutionDomain", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9858, "Length": 211} {"ground_truth": ["", "int", "ARMBaseInstrInfo", "::", "getInstrLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "SDNode", "*", "Node", ")", "const", "{", "if", "(", "!", "Node", "->", "isMachineOpcode", "(", ")", ")", "return", "1", ";", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "1", ";", "unsigned", "Opcode", "=", "Node", "->", "getMachineOpcode", "(", ")", ";", "switch", "(", "Opcode", ")", "{", "default", ":", "return", "ItinData", "->", "getStageLatency", "(", "get", "(", "Opcode", ")", ".", "getSchedClass", "(", ")", ")", ";", "case", "ARM", "::", "VLDMQIA", ":", "case", "ARM", "::", "VSTMQIA", ":", "return", "2", ";", "}", "}", ""], "natrual_language": ["Compute", "the", "instruction", "latency", "of", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "ARM::VLDMQIA", "ARM::VSTMQIA", "2"], "File": "ARMBaseInstrInfo (2)", "Func": "getInstrLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9859, "Length": 88} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getNumLDMAddresses", "(", "const", "MachineInstr", "*", "MI", ")", "const", "{", "unsigned", "Size", "=", "0", ";", "for", "(", "MachineInstr", "::", "mmo_iterator", "I", "=", "MI", "->", "memoperands_begin", "(", ")", ",", "E", "=", "MI", "->", "memoperands_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "Size", "+=", "(", "*", "I", ")", "->", "getSize", "(", ")", ";", "}", "return", "Size", "/", "4", ";", "}", ""], "natrual_language": ["Get", "the", "number", "of", "addresses", "by", "LDM", "or", "VLDM", "or", "zero", "for", "unknown", "."], "TS_V_token": ["ARM", "ARM", "0", "4"], "File": "ARMBaseInstrInfo (2)", "Func": "getNumLDMAddresses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9860, "Length": 64} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getPartialRegUpdateClearance", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "!", "SwiftPartialUpdateClearance", "||", "!", "(", "Subtarget", ".", "isSwift", "(", ")", "||", "Subtarget", ".", "isCortexA15", "(", ")", ")", ")", "return", "0", ";", "assert", "(", "TRI", "&&", "\"Need TRI instance\"", ")", ";", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "OpNum", ")", ";", "if", "(", "MO", ".", "readsReg", "(", ")", ")", "return", "0", ";", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "int", "UseOp", "=", "-", "1", ";", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "FCONSTS", ":", "case", "ARM", "::", "VMOVSR", ":", "case", "ARM", "::", "VMOVv8i8", ":", "case", "ARM", "::", "VMOVv4i16", ":", "case", "ARM", "::", "VMOVv2i32", ":", "case", "ARM", "::", "VMOVv2f32", ":", "case", "ARM", "::", "VMOVv1i64", ":", "UseOp", "=", "MI", "->", "findRegisterUseOperandIdx", "(", "Reg", ",", "false", ",", "TRI", ")", ";", "break", ";", "case", "ARM", "::", "VLD1LNd32", ":", "UseOp", "=", "3", ";", "break", ";", "default", ":", "return", "0", ";", "}", "if", "(", "UseOp", "!=", "-", "1", "&&", "MI", "->", "getOperand", "(", "UseOp", ")", ".", "readsReg", "(", ")", ")", "return", "0", ";", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "Reg", ")", ")", "{", "if", "(", "!", "MO", ".", "getSubReg", "(", ")", "||", "MI", "->", "readsVirtualRegister", "(", "Reg", ")", ")", "return", "0", ";", "}", "else", "if", "(", "ARM", "::", "SPRRegClass", ".", "contains", "(", "Reg", ")", ")", "{", "unsigned", "DReg", "=", "TRI", "->", "getMatchingSuperReg", "(", "Reg", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DReg", "||", "!", "MI", "->", "definesRegister", "(", "DReg", ",", "TRI", ")", ")", "return", "0", ";", "}", "return", "SwiftPartialUpdateClearance", ";", "}", ""], "natrual_language": ["Inform", "the", "BreakFalseDeps", "pass", "how", "many", "idle", "instructions", "we", "would", "like", "before", "a", "partial", "register", "update", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Need TRI instance\"", "0", "1", "ARM::VLDRS", "ARM::FCONSTS", "ARM::VMOVSR", "ARM::VMOVv8i8", "ARM::VMOVv4i16", "ARM::VMOVv2i32", "ARM::VMOVv2f32", "ARM::VMOVv1i64", "ARM::VLD1LNd32", "3", "0", "1", "0", "0", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0"], "File": "ARMBaseInstrInfo (2)", "Func": "getPartialRegUpdateClearance", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9861, "Length": 275} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "hasHighOperandLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineRegisterInfo", "*", "MRI", ",", "const", "MachineInstr", "*", "DefMI", ",", "unsigned", "DefIdx", ",", "const", "MachineInstr", "*", "UseMI", ",", "unsigned", "UseIdx", ")", "const", "{", "unsigned", "DDomain", "=", "DefMI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "unsigned", "UDomain", "=", "UseMI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "Subtarget", ".", "isCortexA8", "(", ")", "&&", "(", "DDomain", "==", "ARMII", "::", "DomainVFP", "||", "UDomain", "==", "ARMII", "::", "DomainVFP", ")", ")", "return", "true", ";", "int", "Latency", "=", "computeOperandLatency", "(", "ItinData", ",", "DefMI", ",", "DefIdx", ",", "UseMI", ",", "UseIdx", ")", ";", "if", "(", "Latency", "<", "0", ")", "Latency", "=", "getInstrLatency", "(", "ItinData", ",", "DefMI", ")", ";", "if", "(", "Latency", "<=", "3", ")", "return", "false", ";", "return", "DDomain", "==", "ARMII", "::", "DomainVFP", "||", "DDomain", "==", "ARMII", "::", "DomainNEON", "||", "UDomain", "==", "ARMII", "::", "DomainVFP", "||", "UDomain", "==", "ARMII", "::", "DomainNEON", ";", "}", ""], "natrual_language": ["Compute", "operand", "latency", "between", "a", "def", "of", "'Reg", "'", "and", "a", "use", "in", "the", "current", "loop", "."], "TS_V_token": ["ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainMask", "ARMII::DomainVFP", "ARMII::DomainVFP", "0", "3", "ARMII::DomainVFP", "ARMII::DomainNEON", "ARMII::DomainVFP", "ARMII::DomainNEON"], "File": "ARMBaseInstrInfo (2)", "Func": "hasHighOperandLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9862, "Length": 154} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "hasLowDefLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "*", "DefMI", ",", "unsigned", "DefIdx", ")", "const", "{", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "false", ";", "unsigned", "DDomain", "=", "DefMI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "DDomain", "==", "ARMII", "::", "DomainGeneral", ")", "{", "unsigned", "DefClass", "=", "DefMI", "->", "getDesc", "(", ")", ".", "getSchedClass", "(", ")", ";", "int", "DefCycle", "=", "ItinData", "->", "getOperandCycle", "(", "DefClass", ",", "DefIdx", ")", ";", "return", "(", "DefCycle", "!=", "-", "1", "&&", "DefCycle", "<=", "2", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Compute", "operand", "latency", "of", "a", "def", "of", "'Reg", "'", "."], "TS_V_token": ["ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainGeneral", "1", "2"], "File": "ARMBaseInstrInfo (2)", "Func": "hasLowDefLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9863, "Length": 100} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isFpMLxInstruction", "(", "unsigned", "Opcode", ",", "unsigned", "&", "MulOpc", ",", "unsigned", "&", "AddSubOpc", ",", "bool", "&", "NegAcc", ",", "bool", "&", "HasLane", ")", "const", "{", "DenseMap", "<", "unsigned", ",", "unsigned", ">", "::", "const_iterator", "I", "=", "MLxEntryMap", ".", "find", "(", "Opcode", ")", ";", "if", "(", "I", "==", "MLxEntryMap", ".", "end", "(", ")", ")", "return", "false", ";", "const", "ARM_MLxEntry", "&", "Entry", "=", "ARM_MLxTable", "[", "I", "->", "second", "]", ";", "MulOpc", "=", "Entry", ".", "MulOpc", ";", "AddSubOpc", "=", "Entry", ".", "AddSubOpc", ";", "NegAcc", "=", "Entry", ".", "NegAcc", ";", "HasLane", "=", "Entry", ".", "HasLane", ";", "return", "true", ";", "}", ""], "natrual_language": ["isFpMLxInstruction", "-", "This", "version", "also", "returns", "the", "multiply", "opcode", "and", "the", "addition", "/", "subtraction", "opcode", "to", "expand", "to", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseInstrInfo (2)", "Func": "isFpMLxInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9864, "Length": 96} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDRrs", ":", "case", "ARM", "::", "t2LDRs", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "tLDRspi", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLD1q64", ":", "case", "ARM", "::", "VLD1d64TPseudo", ":", "case", "ARM", "::", "VLD1d64QPseudo", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLDMQIA", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isLoadFromStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "load", "from", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "destination", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDRrs", "ARM::t2LDRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::LDRi12", "ARM::t2LDRi12", "ARM::tLDRspi", "ARM::VLDRD", "ARM::VLDRS", "1", "2", "2", "0", "1", "0", "ARM::VLD1q64", "ARM::VLD1d64TPseudo", "ARM::VLD1d64QPseudo", "1", "0", "0", "1", "0", "ARM::VLDMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo (2)", "Func": "isLoadFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9865, "Length": 355} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlotPostFE", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "const", "MachineMemOperand", "*", "Dummy", ";", "return", "MI", "->", "mayLoad", "(", ")", "&&", "hasLoadFromStackSlot", "(", "MI", ",", "Dummy", ",", "FrameIndex", ")", ";", "}", ""], "natrual_language": ["isLoadFromStackSlotPostFE", "-", "Check", "for", "post-frame", "ptr", "elimination", "stack", "locations", "as", "well", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo (2)", "Func": "isLoadFromStackSlotPostFE", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9866, "Length": 38} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicable", "(", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "!", "MI", "->", "isPredicable", "(", ")", ")", "return", "false", ";", "ARMFunctionInfo", "*", "AFI", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", "{", "if", "(", "getSubtarget", "(", ")", ".", "restrictIT", "(", ")", ")", "return", "isV8EligibleForIT", "(", "MI", ")", ";", "}", "else", "{", "if", "(", "(", "MI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainNEON", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "instruction", "can", "be", "predicated", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainNEON"], "File": "ARMBaseInstrInfo (2)", "Func": "isPredicable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9867, "Length": 100} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicated", "(", "const", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "MI", "->", "isBundle", "(", ")", ")", "{", "MachineBasicBlock", "::", "const_instr_iterator", "I", "=", "MI", ";", "MachineBasicBlock", "::", "const_instr_iterator", "E", "=", "MI", "->", "getParent", "(", ")", "->", "instr_end", "(", ")", ";", "while", "(", "++", "I", "!=", "E", "&&", "I", "->", "isInsideBundle", "(", ")", ")", "{", "int", "PIdx", "=", "I", "->", "findFirstPredOperandIdx", "(", ")", ";", "if", "(", "PIdx", "!=", "-", "1", "&&", "I", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", "!=", "ARMCC", "::", "AL", ")", "return", "true", ";", "}", "return", "false", ";", "}", "int", "PIdx", "=", "MI", "->", "findFirstPredOperandIdx", "(", ")", ";", "return", "PIdx", "!=", "-", "1", "&&", "MI", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", "!=", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "is", "already", "predicated", "."], "TS_V_token": ["ARM", "ARM", "1", "ARMCC::AL", "1", "ARMCC::AL"], "File": "ARMBaseInstrInfo (2)", "Func": "isPredicated", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9868, "Length": 127} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToIfCvt", "(", "MachineBasicBlock", "&", "TMBB", ",", "unsigned", "TCycles", ",", "unsigned", "TExtra", ",", "MachineBasicBlock", "&", "FMBB", ",", "unsigned", "FCycles", ",", "unsigned", "FExtra", ",", "const", "BranchProbability", "&", "Probability", ")", "const", "{", "if", "(", "!", "TCycles", "||", "!", "FCycles", ")", "return", "false", ";", "unsigned", "TUnpredCost", "=", "Probability", ".", "getNumerator", "(", ")", "*", "TCycles", ";", "TUnpredCost", "/=", "Probability", ".", "getDenominator", "(", ")", ";", "uint32_t", "Comp", "=", "Probability", ".", "getDenominator", "(", ")", "-", "Probability", ".", "getNumerator", "(", ")", ";", "unsigned", "FUnpredCost", "=", "Comp", "*", "FCycles", ";", "FUnpredCost", "/=", "Probability", ".", "getDenominator", "(", ")", ";", "unsigned", "UnpredCost", "=", "TUnpredCost", "+", "FUnpredCost", ";", "UnpredCost", "+=", "1", ";", "UnpredCost", "+=", "Subtarget", ".", "getMispredictionPenalty", "(", ")", "/", "10", ";", "return", "(", "TCycles", "+", "FCycles", "+", "TExtra", "+", "FExtra", ")", "<=", "UnpredCost", ";", "}", ""], "natrual_language": ["Second", "variant", "of", "isProfitableToIfCvt", "."], "TS_V_token": ["ARM", "ARM", "1", "10"], "File": "ARMBaseInstrInfo (2)", "Func": "isProfitableToIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9869, "Length": 127} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToUnpredicate", "(", "MachineBasicBlock", "&", "TMBB", ",", "MachineBasicBlock", "&", "FMBB", ")", "const", "{", "return", "Subtarget", ".", "isSwift", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "profitable", "to", "unpredicate", "one", "side", "of", "a", "'diamond", "'", ",", "i.e", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo (2)", "Func": "isProfitableToUnpredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9870, "Length": 23} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isSchedulingBoundary", "(", "const", "MachineInstr", "*", "MI", ",", "const", "MachineBasicBlock", "*", "MBB", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "MI", "->", "isDebugValue", "(", ")", ")", "return", "false", ";", "if", "(", "MI", "->", "isTerminator", "(", ")", "||", "MI", "->", "isPosition", "(", ")", ")", "return", "true", ";", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MI", ";", "while", "(", "++", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "isDebugValue", "(", ")", ")", ";", "if", "(", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "return", "true", ";", "if", "(", "!", "MI", "->", "isCall", "(", ")", "&&", "MI", "->", "definesRegister", "(", "ARM", "::", "SP", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["isSchedulingBoundary", "-", "Overrides", "the", "isSchedulingBoundary", "from", "Codegen/TargetInstrInfo.cpp", "to", "make", "it", "capable", "of", "identifying", "ENDBR", "intructions", "and", "prevent", "it", "from", "being", "re-scheduled", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2IT", "ARM::SP"], "File": "ARMBaseInstrInfo (2)", "Func": "isSchedulingBoundary", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9871, "Length": 123} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "STRrs", ":", "case", "ARM", "::", "t2STRs", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "VSTRS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VST1q64", ":", "case", "ARM", "::", "VST1d64TPseudo", ":", "case", "ARM", "::", "VST1d64QPseudo", ":", "if", "(", "MI", "->", "getOperand", "(", "0", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VSTMQIA", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isStoreToStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "store", "to", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "source", "reg", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::STRrs", "ARM::t2STRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::STRi12", "ARM::t2STRi12", "ARM::tSTRspi", "ARM::VSTRD", "ARM::VSTRS", "1", "2", "2", "0", "1", "0", "ARM::VST1q64", "ARM::VST1d64TPseudo", "ARM::VST1d64QPseudo", "0", "2", "0", "0", "2", "ARM::VSTMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo (2)", "Func": "isStoreToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9872, "Length": 355} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlotPostFE", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "const", "MachineMemOperand", "*", "Dummy", ";", "return", "MI", "->", "mayStore", "(", ")", "&&", "hasStoreToStackSlot", "(", "MI", ",", "Dummy", ",", "FrameIndex", ")", ";", "}", ""], "natrual_language": ["isStoreToStackSlotPostFE", "-", "Check", "for", "post-frame", "ptr", "elimination", "stack", "locations", "as", "well", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo (2)", "Func": "isStoreToStackSlotPostFE", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9873, "Length": 38} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isSwiftFastImmShift", "(", "const", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "MI", "->", "getNumOperands", "(", ")", "<", "4", ")", "return", "true", ";", "unsigned", "ShOpVal", "=", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", ";", "unsigned", "ShImm", "=", "ARM_AM", "::", "getSORegOffset", "(", "ShOpVal", ")", ";", "if", "(", "(", "ShImm", "==", "1", "&&", "ARM_AM", "::", "getSORegShOp", "(", "ShOpVal", ")", "==", "ARM_AM", "::", "lsr", ")", "||", "(", "(", "ShImm", "==", "1", "||", "ShImm", "==", "2", ")", "&&", "ARM_AM", "::", "getSORegShOp", "(", "ShOpVal", ")", "==", "ARM_AM", "::", "lsl", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "has", "a", "shift", "by", "immediate", "that", "can", "be", "executed", "in", "one", "cycle", "less", "."], "TS_V_token": ["ARM", "ARM", "4", "3", "ARM_AM::getSORegOffset", "1", "ARM_AM::getSORegShOp", "ARM_AM::lsr", "1", "2", "ARM_AM::getSORegShOp", "ARM_AM::lsl"], "File": "ARMBaseInstrInfo (2)", "Func": "isSwiftFastImmShift", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9874, "Length": 98} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "optimizeSelect", "(", "MachineInstr", "*", "MI", ",", "bool", "PreferFalse", ")", "const", "{", "assert", "(", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MOVCCr", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2MOVCCr", ")", "&&", "\"Unknown select instruction\"", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineInstr", "*", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "bool", "Invert", "=", "!", "DefMI", ";", "if", "(", "!", "DefMI", ")", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "if", "(", "!", "DefMI", ")", "return", "0", ";", "MachineOperand", "FalseReg", "=", "MI", "->", "getOperand", "(", "Invert", "?", "2", ":", "1", ")", ";", "unsigned", "DestReg", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "const", "TargetRegisterClass", "*", "PreviousClass", "=", "MRI", ".", "getRegClass", "(", "FalseReg", ".", "getReg", "(", ")", ")", ";", "if", "(", "!", "MRI", ".", "constrainRegClass", "(", "DestReg", ",", "PreviousClass", ")", ")", "return", "0", ";", "MachineInstrBuilder", "NewMI", "=", "BuildMI", "(", "*", "MI", "->", "getParent", "(", ")", ",", "MI", ",", "MI", "->", "getDebugLoc", "(", ")", ",", "DefMI", "->", "getDesc", "(", ")", ",", "DestReg", ")", ";", "const", "MCInstrDesc", "&", "DefDesc", "=", "DefMI", "->", "getDesc", "(", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "DefDesc", ".", "getNumOperands", "(", ")", ";", "i", "!=", "e", "&&", "!", "DefDesc", ".", "OpInfo", "[", "i", "]", ".", "isPredicate", "(", ")", ";", "++", "i", ")", "NewMI", ".", "addOperand", "(", "DefMI", "->", "getOperand", "(", "i", ")", ")", ";", "unsigned", "CondCode", "=", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", ";", "if", "(", "Invert", ")", "NewMI", ".", "addImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "ARMCC", "::", "CondCodes", "(", "CondCode", ")", ")", ")", ";", "else", "NewMI", ".", "addImm", "(", "CondCode", ")", ";", "NewMI", ".", "addOperand", "(", "MI", "->", "getOperand", "(", "4", ")", ")", ";", "if", "(", "NewMI", "->", "hasOptionalDef", "(", ")", ")", "AddDefaultCC", "(", "NewMI", ")", ";", "FalseReg", ".", "setImplicit", "(", ")", ";", "NewMI", ".", "addOperand", "(", "FalseReg", ")", ";", "NewMI", "->", "tieOperands", "(", "0", ",", "NewMI", "->", "getNumOperands", "(", ")", "-", "1", ")", ";", "DefMI", "->", "eraseFromParent", "(", ")", ";", "return", "NewMI", ";", "}", ""], "natrual_language": ["Given", "a", "select", "instruction", "that", "was", "understood", "by", "analyzeSelect", "and", "returned", "Optimizable", "=", "true", ",", "attempt", "to", "optimize", "MI", "by", "merging", "it", "with", "one", "of", "its", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "\"Unknown select instruction\"", "2", "1", "0", "2", "1", "0", "0", "1", "3", "ARMCC::getOppositeCondition", "ARMCC::CondCodes", "4", "0", "1"], "File": "ARMBaseInstrInfo (2)", "Func": "optimizeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9875, "Length": 372} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "PredicateInstruction", "(", "MachineInstr", "*", "MI", ",", "const", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Pred", ")", "const", "{", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "if", "(", "isUncondBranchOpcode", "(", "Opc", ")", ")", "{", "MI", "->", "setDesc", "(", "get", "(", "getMatchingCondBranchOpcode", "(", "Opc", ")", ")", ")", ";", "MachineInstrBuilder", "(", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ".", "addImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ".", "addReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ")", ";", "return", "true", ";", "}", "int", "PIdx", "=", "MI", "->", "findFirstPredOperandIdx", "(", ")", ";", "if", "(", "PIdx", "!=", "-", "1", ")", "{", "MachineOperand", "&", "PMO", "=", "MI", "->", "getOperand", "(", "PIdx", ")", ";", "PMO", ".", "setImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ";", "MI", "->", "getOperand", "(", "PIdx", "+", "1", ")", ".", "setReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Convert", "the", "instruction", "into", "a", "predicated", "instruction", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "1", "0", "1", "1"], "File": "ARMBaseInstrInfo (2)", "Func": "PredicateInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9876, "Length": 164} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "reMaterialize", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "const", "MachineInstr", "*", "Orig", ",", "const", "TargetRegisterInfo", "&", "TRI", ")", "const", "{", "unsigned", "Opcode", "=", "Orig", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opcode", ")", "{", "default", ":", "{", "MachineInstr", "*", "MI", "=", "MBB", ".", "getParent", "(", ")", "->", "CloneMachineInstr", "(", "Orig", ")", ";", "MI", "->", "substituteRegister", "(", "Orig", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ",", "DestReg", ",", "SubIdx", ",", "TRI", ")", ";", "MBB", ".", "insert", "(", "I", ",", "MI", ")", ";", "break", ";", "}", "case", "ARM", "::", "tLDRpci_pic", ":", "case", "ARM", "::", "t2LDRpci_pic", ":", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "unsigned", "CPI", "=", "Orig", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "unsigned", "PCLabelId", "=", "duplicateCPV", "(", "MF", ",", "CPI", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "Orig", "->", "getDebugLoc", "(", ")", ",", "get", "(", "Opcode", ")", ",", "DestReg", ")", ".", "addConstantPoolIndex", "(", "CPI", ")", ".", "addImm", "(", "PCLabelId", ")", ";", "MIB", "->", "setMemRefs", "(", "Orig", "->", "memoperands_begin", "(", ")", ",", "Orig", "->", "memoperands_end", "(", ")", ")", ";", "break", ";", "}", "}", "}", ""], "natrual_language": ["Re-issue", "the", "specified", "'original", "'", "instruction", "at", "the", "specific", "location", "targeting", "a", "new", "destination", "register", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tLDRpci_pic", "ARM::t2LDRpci_pic", "1"], "File": "ARMBaseInstrInfo (2)", "Func": "reMaterialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9877, "Length": 199} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "shouldScheduleLoadsNear", "(", "SDNode", "*", "Load1", ",", "SDNode", "*", "Load2", ",", "int64_t", "Offset1", ",", "int64_t", "Offset2", ",", "unsigned", "NumLoads", ")", "const", "{", "if", "(", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "return", "false", ";", "assert", "(", "Offset2", ">", "Offset1", ")", ";", "if", "(", "(", "Offset2", "-", "Offset1", ")", "/", "8", ">", "64", ")", "return", "false", ";", "if", "(", "(", "Load1", "->", "getMachineOpcode", "(", ")", "!=", "Load2", "->", "getMachineOpcode", "(", ")", ")", "&&", "!", "(", "(", "Load1", "->", "getMachineOpcode", "(", ")", "==", "ARM", "::", "t2LDRBi8", "&&", "Load2", "->", "getMachineOpcode", "(", ")", "==", "ARM", "::", "t2LDRBi12", ")", "||", "(", "Load1", "->", "getMachineOpcode", "(", ")", "==", "ARM", "::", "t2LDRBi12", "&&", "Load2", "->", "getMachineOpcode", "(", ")", "==", "ARM", "::", "t2LDRBi8", ")", ")", ")", "return", "false", ";", "if", "(", "NumLoads", ">=", "3", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["shouldScheduleLoadsNear", "-", "This", "is", "a", "used", "by", "the", "pre-regalloc", "scheduler", "to", "determine", "(", "in", "conjunction", "with", "areLoadsFromSameBasePtr", ")", "if", "two", "loads", "should", "be", "scheduled", "togther", "."], "TS_V_token": ["ARM", "ARM", "8", "64", "ARM::t2LDRBi8", "ARM::t2LDRBi12", "ARM::t2LDRBi12", "ARM::t2LDRBi8", "3"], "File": "ARMBaseInstrInfo (2)", "Func": "shouldScheduleLoadsNear", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9878, "Length": 136} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "SubsumesPredicate", "(", "const", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Pred1", ",", "const", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Pred2", ")", "const", "{", "if", "(", "Pred1", ".", "size", "(", ")", ">", "2", "||", "Pred2", ".", "size", "(", ")", ">", "2", ")", "return", "false", ";", "ARMCC", "::", "CondCodes", "CC1", "=", "(", "ARMCC", "::", "CondCodes", ")", "Pred1", "[", "0", "]", ".", "getImm", "(", ")", ";", "ARMCC", "::", "CondCodes", "CC2", "=", "(", "ARMCC", "::", "CondCodes", ")", "Pred2", "[", "0", "]", ".", "getImm", "(", ")", ";", "if", "(", "CC1", "==", "CC2", ")", "return", "true", ";", "switch", "(", "CC1", ")", "{", "default", ":", "return", "false", ";", "case", "ARMCC", "::", "AL", ":", "return", "true", ";", "case", "ARMCC", "::", "HS", ":", "return", "CC2", "==", "ARMCC", "::", "HI", ";", "case", "ARMCC", "::", "LS", ":", "return", "CC2", "==", "ARMCC", "::", "LO", "||", "CC2", "==", "ARMCC", "::", "EQ", ";", "case", "ARMCC", "::", "GE", ":", "return", "CC2", "==", "ARMCC", "::", "GT", ";", "case", "ARMCC", "::", "LE", ":", "return", "CC2", "==", "ARMCC", "::", "LT", ";", "}", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "first", "specified", "predicate", "subsumes", "the", "second", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "2", "2", "ARMCC::CondCodes", "ARMCC::CondCodes", "0", "ARMCC::CondCodes", "ARMCC::CondCodes", "0", "ARMCC::AL", "ARMCC::HS", "ARMCC::HI", "ARMCC::LS", "ARMCC::LO", "ARMCC::EQ", "ARMCC::GE", "ARMCC::GT", "ARMCC::LE", "ARMCC::LT"], "File": "ARMBaseInstrInfo (2)", "Func": "SubsumesPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9879, "Length": 165} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "verifyInstruction", "(", "const", "MachineInstr", "*", "MI", ",", "StringRef", "&", "ErrInfo", ")", "const", "{", "if", "(", "convertAddSubFlagsOpcode", "(", "MI", "->", "getOpcode", "(", ")", ")", ")", "{", "ErrInfo", "=", "\"Pseudo flag setting opcodes only exist in Selection DAG\"", ";", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Perform", "target-specific", "instruction", "verification", "."], "TS_V_token": ["ARM", "ARM", "\"Pseudo flag setting opcodes only exist in Selection DAG\""], "File": "ARMBaseInstrInfo (2)", "Func": "verifyInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9880, "Length": 40} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "ARMBaseInstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "const", "InstrItineraryData", "*", "II", ",", "const", "ScheduleDAG", "*", "DAG", ")", "const", "{", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "||", "Subtarget", ".", "hasVFP2", "(", ")", ")", "return", "(", "ScheduleHazardRecognizer", "*", ")", "new", "ARMHazardRecognizer", "(", "II", ",", "*", "this", ",", "getRegisterInfo", "(", ")", ",", "Subtarget", ",", "DAG", ")", ";", "return", "TargetInstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "II", ",", "DAG", ")", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "by", "non-scheduling", "passes", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMBaseInstrInfo101", "Func": "CreateTargetPostRAHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9881, "Length": 65} {"ground_truth": ["", "std", "::", "pair", "<", "uint16_t", ",", "uint16_t", ">", "ARMBaseInstrInfo", "::", "getExecutionDomain", "(", "const", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVD", "&&", "!", "isPredicated", "(", "MI", ")", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "(", "1", "<<", "ExeVFP", ")", "|", "(", "1", "<<", "ExeNEON", ")", ")", ";", "if", "(", "Subtarget", ".", "isLikeA9", "(", ")", "&&", "!", "isPredicated", "(", "MI", ")", "&&", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVRS", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVSR", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVS", ")", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "(", "1", "<<", "ExeVFP", ")", "|", "(", "1", "<<", "ExeNEON", ")", ")", ";", "unsigned", "Domain", "=", "MI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "Domain", "&", "ARMII", "::", "DomainNEON", ")", "return", "std", "::", "make_pair", "(", "ExeNEON", ",", "0", ")", ";", "if", "(", "(", "Domain", "&", "ARMII", "::", "DomainNEONA8", ")", "&&", "Subtarget", ".", "isCortexA8", "(", ")", ")", "return", "std", "::", "make_pair", "(", "ExeNEON", ",", "0", ")", ";", "if", "(", "Domain", "&", "ARMII", "::", "DomainVFP", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "0", ")", ";", "return", "std", "::", "make_pair", "(", "ExeGeneric", ",", "0", ")", ";", "}", ""], "natrual_language": ["Return", "the", "current", "execution", "domain", "and", "bit", "mask", "of", "possible", "domains", "for", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::VMOVD", "1", "1", "ARM::VMOVRS", "ARM::VMOVSR", "ARM::VMOVS", "1", "1", "ARMII::DomainMask", "ARMII::DomainNEON", "0", "ARMII::DomainNEONA8", "0", "ARMII::DomainVFP", "0", "0"], "File": "ARMBaseInstrInfo101", "Func": "getExecutionDomain", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9882, "Length": 211} {"ground_truth": ["", "int", "ARMBaseInstrInfo", "::", "getOperandLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "*", "DefMI", ",", "unsigned", "DefIdx", ",", "const", "MachineInstr", "*", "UseMI", ",", "unsigned", "UseIdx", ")", "const", "{", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "-", "1", ";", "const", "MachineOperand", "&", "DefMO", "=", "DefMI", "->", "getOperand", "(", "DefIdx", ")", ";", "unsigned", "Reg", "=", "DefMO", ".", "getReg", "(", ")", ";", "const", "MCInstrDesc", "*", "DefMCID", "=", "&", "DefMI", "->", "getDesc", "(", ")", ";", "const", "MCInstrDesc", "*", "UseMCID", "=", "&", "UseMI", "->", "getDesc", "(", ")", ";", "unsigned", "DefAdj", "=", "0", ";", "if", "(", "DefMI", "->", "isBundle", "(", ")", ")", "{", "DefMI", "=", "getBundledDefMI", "(", "&", "getRegisterInfo", "(", ")", ",", "DefMI", ",", "Reg", ",", "DefIdx", ",", "DefAdj", ")", ";", "DefMCID", "=", "&", "DefMI", "->", "getDesc", "(", ")", ";", "}", "if", "(", "DefMI", "->", "isCopyLike", "(", ")", "||", "DefMI", "->", "isInsertSubreg", "(", ")", "||", "DefMI", "->", "isRegSequence", "(", ")", "||", "DefMI", "->", "isImplicitDef", "(", ")", ")", "{", "return", "1", ";", "}", "unsigned", "UseAdj", "=", "0", ";", "if", "(", "UseMI", "->", "isBundle", "(", ")", ")", "{", "unsigned", "NewUseIdx", ";", "const", "MachineInstr", "*", "NewUseMI", "=", "getBundledUseMI", "(", "&", "getRegisterInfo", "(", ")", ",", "UseMI", ",", "Reg", ",", "NewUseIdx", ",", "UseAdj", ")", ";", "if", "(", "!", "NewUseMI", ")", "return", "-", "1", ";", "UseMI", "=", "NewUseMI", ";", "UseIdx", "=", "NewUseIdx", ";", "UseMCID", "=", "&", "UseMI", "->", "getDesc", "(", ")", ";", "}", "if", "(", "Reg", "==", "ARM", "::", "CPSR", ")", "{", "if", "(", "DefMI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "FMSTAT", ")", "{", "return", "Subtarget", ".", "isLikeA9", "(", ")", "?", "1", ":", "20", ";", "}", "if", "(", "UseMI", "->", "isBranch", "(", ")", ")", "return", "0", ";", "unsigned", "Latency", "=", "getInstrLatency", "(", "ItinData", ",", "DefMI", ")", ";", "if", "(", "Latency", ">", "0", "&&", "Subtarget", ".", "isThumb2", "(", ")", ")", "{", "const", "MachineFunction", "*", "MF", "=", "DefMI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "if", "(", "MF", "->", "getFunction", "(", ")", "->", "getFnAttributes", "(", ")", ".", "hasAttribute", "(", "Attributes", "::", "OptimizeForSize", ")", ")", "--", "Latency", ";", "}", "return", "Latency", ";", "}", "if", "(", "DefMO", ".", "isImplicit", "(", ")", "||", "UseMI", "->", "getOperand", "(", "UseIdx", ")", ".", "isImplicit", "(", ")", ")", "return", "-", "1", ";", "unsigned", "DefAlign", "=", "DefMI", "->", "hasOneMemOperand", "(", ")", "?", "(", "*", "DefMI", "->", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", ":", "0", ";", "unsigned", "UseAlign", "=", "UseMI", "->", "hasOneMemOperand", "(", ")", "?", "(", "*", "UseMI", "->", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", ":", "0", ";", "int", "Latency", "=", "getOperandLatency", "(", "ItinData", ",", "*", "DefMCID", ",", "DefIdx", ",", "DefAlign", ",", "*", "UseMCID", ",", "UseIdx", ",", "UseAlign", ")", ";", "if", "(", "Latency", "<", "0", ")", "return", "Latency", ";", "int", "Adj", "=", "DefAdj", "+", "UseAdj", ";", "Adj", "+=", "adjustDefLatency", "(", "Subtarget", ",", "DefMI", ",", "DefMCID", ",", "DefAlign", ")", ";", "if", "(", "Adj", ">=", "0", "||", "(", "int", ")", "Latency", ">", "-", "Adj", ")", "{", "return", "Latency", "+", "Adj", ";", "}", "return", "Latency", ";", "}", ""], "natrual_language": ["Compute", "and", "return", "the", "use", "operand", "latency", "of", "a", "given", "pair", "of", "def", "and", "use", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "1", "0", "1", "ARM::CPSR", "ARM::FMSTAT", "1", "20", "0", "0", "1", "0", "0", "0", "0"], "File": "ARMBaseInstrInfo101", "Func": "getOperandLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9883, "Length": 483} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getPartialRegUpdateClearance", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "OpNum", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "!", "SwiftPartialUpdateClearance", "||", "!", "Subtarget", ".", "isSwift", "(", ")", ")", "return", "0", ";", "assert", "(", "TRI", "&&", "\"Need TRI instance\"", ")", ";", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "OpNum", ")", ";", "if", "(", "MO", ".", "readsReg", "(", ")", ")", "return", "0", ";", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "int", "UseOp", "=", "-", "1", ";", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "FCONSTS", ":", "case", "ARM", "::", "VMOVSR", ":", "case", "ARM", "::", "VMOVv8i8", ":", "case", "ARM", "::", "VMOVv4i16", ":", "case", "ARM", "::", "VMOVv2i32", ":", "case", "ARM", "::", "VMOVv2f32", ":", "case", "ARM", "::", "VMOVv1i64", ":", "UseOp", "=", "MI", "->", "findRegisterUseOperandIdx", "(", "Reg", ",", "false", ",", "TRI", ")", ";", "break", ";", "case", "ARM", "::", "VLD1LNd32", ":", "UseOp", "=", "1", ";", "break", ";", "default", ":", "return", "0", ";", "}", "if", "(", "UseOp", "!=", "-", "1", "&&", "MI", "->", "getOperand", "(", "UseOp", ")", ".", "readsReg", "(", ")", ")", "return", "0", ";", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "Reg", ")", ")", "{", "if", "(", "!", "MO", ".", "getSubReg", "(", ")", "||", "MI", "->", "readsVirtualRegister", "(", "Reg", ")", ")", "return", "0", ";", "}", "else", "if", "(", "ARM", "::", "SPRRegClass", ".", "contains", "(", "Reg", ")", ")", "{", "unsigned", "DReg", "=", "TRI", "->", "getMatchingSuperReg", "(", "Reg", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DReg", "||", "!", "MI", "->", "definesRegister", "(", "DReg", ",", "TRI", ")", ")", "return", "0", ";", "}", "return", "SwiftPartialUpdateClearance", ";", "}", ""], "natrual_language": ["Inform", "the", "BreakFalseDeps", "pass", "how", "many", "idle", "instructions", "we", "would", "like", "before", "a", "partial", "register", "update", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Need TRI instance\"", "0", "1", "ARM::VLDRS", "ARM::FCONSTS", "ARM::VMOVSR", "ARM::VMOVv8i8", "ARM::VMOVv4i16", "ARM::VMOVv2i32", "ARM::VMOVv2f32", "ARM::VMOVv1i64", "ARM::VLD1LNd32", "1", "0", "1", "0", "0", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0"], "File": "ARMBaseInstrInfo101", "Func": "getPartialRegUpdateClearance", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9884, "Length": 267} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "hasHighOperandLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineRegisterInfo", "*", "MRI", ",", "const", "MachineInstr", "*", "DefMI", ",", "unsigned", "DefIdx", ",", "const", "MachineInstr", "*", "UseMI", ",", "unsigned", "UseIdx", ")", "const", "{", "unsigned", "DDomain", "=", "DefMI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "unsigned", "UDomain", "=", "UseMI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "Subtarget", ".", "isCortexA8", "(", ")", "&&", "(", "DDomain", "==", "ARMII", "::", "DomainVFP", "||", "UDomain", "==", "ARMII", "::", "DomainVFP", ")", ")", "return", "true", ";", "int", "Latency", "=", "computeOperandLatency", "(", "ItinData", ",", "DefMI", ",", "DefIdx", ",", "UseMI", ",", "UseIdx", ",", "false", ")", ";", "if", "(", "Latency", "<", "0", ")", "Latency", "=", "getInstrLatency", "(", "ItinData", ",", "DefMI", ")", ";", "if", "(", "Latency", "<=", "3", ")", "return", "false", ";", "return", "DDomain", "==", "ARMII", "::", "DomainVFP", "||", "DDomain", "==", "ARMII", "::", "DomainNEON", "||", "UDomain", "==", "ARMII", "::", "DomainVFP", "||", "UDomain", "==", "ARMII", "::", "DomainNEON", ";", "}", ""], "natrual_language": ["Compute", "operand", "latency", "between", "a", "def", "of", "'Reg", "'", "and", "a", "use", "in", "the", "current", "loop", "."], "TS_V_token": ["ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainMask", "ARMII::DomainVFP", "ARMII::DomainVFP", "0", "3", "ARMII::DomainVFP", "ARMII::DomainNEON", "ARMII::DomainVFP", "ARMII::DomainNEON"], "File": "ARMBaseInstrInfo101", "Func": "hasHighOperandLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9885, "Length": 156} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "optimizeSelect", "(", "MachineInstr", "*", "MI", ",", "bool", "PreferFalse", ")", "const", "{", "assert", "(", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MOVCCr", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2MOVCCr", ")", "&&", "\"Unknown select instruction\"", ")", ";", "const", "MachineRegisterInfo", "&", "MRI", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineInstr", "*", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "bool", "Invert", "=", "!", "DefMI", ";", "if", "(", "!", "DefMI", ")", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "if", "(", "!", "DefMI", ")", "return", "0", ";", "MachineInstrBuilder", "NewMI", "=", "BuildMI", "(", "*", "MI", "->", "getParent", "(", ")", ",", "MI", ",", "MI", "->", "getDebugLoc", "(", ")", ",", "DefMI", "->", "getDesc", "(", ")", ",", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", ";", "const", "MCInstrDesc", "&", "DefDesc", "=", "DefMI", "->", "getDesc", "(", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "DefDesc", ".", "getNumOperands", "(", ")", ";", "i", "!=", "e", "&&", "!", "DefDesc", ".", "OpInfo", "[", "i", "]", ".", "isPredicate", "(", ")", ";", "++", "i", ")", "NewMI", ".", "addOperand", "(", "DefMI", "->", "getOperand", "(", "i", ")", ")", ";", "unsigned", "CondCode", "=", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", ";", "if", "(", "Invert", ")", "NewMI", ".", "addImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "ARMCC", "::", "CondCodes", "(", "CondCode", ")", ")", ")", ";", "else", "NewMI", ".", "addImm", "(", "CondCode", ")", ";", "NewMI", ".", "addOperand", "(", "MI", "->", "getOperand", "(", "4", ")", ")", ";", "if", "(", "NewMI", "->", "hasOptionalDef", "(", ")", ")", "AddDefaultCC", "(", "NewMI", ")", ";", "MachineOperand", "FalseReg", "=", "MI", "->", "getOperand", "(", "Invert", "?", "2", ":", "1", ")", ";", "FalseReg", ".", "setImplicit", "(", ")", ";", "NewMI", "->", "addOperand", "(", "FalseReg", ")", ";", "NewMI", "->", "tieOperands", "(", "0", ",", "NewMI", "->", "getNumOperands", "(", ")", "-", "1", ")", ";", "DefMI", "->", "eraseFromParent", "(", ")", ";", "return", "NewMI", ";", "}", ""], "natrual_language": ["Given", "a", "select", "instruction", "that", "was", "understood", "by", "analyzeSelect", "and", "returned", "Optimizable", "=", "true", ",", "attempt", "to", "optimize", "MI", "by", "merging", "it", "with", "one", "of", "its", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "\"Unknown select instruction\"", "2", "1", "0", "0", "1", "3", "ARMCC::getOppositeCondition", "ARMCC::CondCodes", "4", "2", "1", "0", "1"], "File": "ARMBaseInstrInfo101", "Func": "optimizeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9886, "Length": 337} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getInstSizeInBytes", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "const", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "const", "MachineFunction", "*", "MF", "=", "MBB", ".", "getParent", "(", ")", ";", "const", "MCAsmInfo", "*", "MAI", "=", "MF", "->", "getTarget", "(", ")", ".", "getMCAsmInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "if", "(", "MCID", ".", "getSize", "(", ")", ")", "return", "MCID", ".", "getSize", "(", ")", ";", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "INLINEASM", ")", "return", "getInlineAsmLength", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getSymbolName", "(", ")", ",", "*", "MAI", ")", ";", "unsigned", "Opc", "=", "MI", ".", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "default", ":", "return", "0", ";", "case", "TargetOpcode", "::", "BUNDLE", ":", "return", "getInstBundleLength", "(", "MI", ")", ";", "case", "ARM", "::", "MOVi16_ga_pcrel", ":", "case", "ARM", "::", "MOVTi16_ga_pcrel", ":", "case", "ARM", "::", "t2MOVi16_ga_pcrel", ":", "case", "ARM", "::", "t2MOVTi16_ga_pcrel", ":", "return", "4", ";", "case", "ARM", "::", "MOVi32imm", ":", "case", "ARM", "::", "t2MOVi32imm", ":", "return", "8", ";", "case", "ARM", "::", "CONSTPOOL_ENTRY", ":", "case", "ARM", "::", "JUMPTABLE_INSTS", ":", "case", "ARM", "::", "JUMPTABLE_ADDRS", ":", "case", "ARM", "::", "JUMPTABLE_TBB", ":", "case", "ARM", "::", "JUMPTABLE_TBH", ":", "return", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", ";", "case", "ARM", "::", "Int_eh_sjlj_longjmp", ":", "return", "16", ";", "case", "ARM", "::", "tInt_eh_sjlj_longjmp", ":", "return", "10", ";", "case", "ARM", "::", "tInt_WIN_eh_sjlj_longjmp", ":", "return", "12", ";", "case", "ARM", "::", "Int_eh_sjlj_setjmp", ":", "case", "ARM", "::", "Int_eh_sjlj_setjmp_nofp", ":", "return", "20", ";", "case", "ARM", "::", "tInt_eh_sjlj_setjmp", ":", "case", "ARM", "::", "t2Int_eh_sjlj_setjmp", ":", "case", "ARM", "::", "t2Int_eh_sjlj_setjmp_nofp", ":", "return", "12", ";", "case", "ARM", "::", "SPACE", ":", "return", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "}", "}", ""], "natrual_language": ["Returns", "the", "size", "in", "bytes", "of", "the", "specified", "MachineInstr", ",", "or", "~0U", "when", "this", "function", "is", "not", "implemented", "by", "a", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM::INLINEASM", "0", "0", "ARM::MOVi16_ga_pcrel", "ARM::MOVTi16_ga_pcrel", "ARM::t2MOVi16_ga_pcrel", "ARM::t2MOVTi16_ga_pcrel", "4", "ARM::MOVi32imm", "ARM::t2MOVi32imm", "8", "ARM::CONSTPOOL_ENTRY", "ARM::JUMPTABLE_INSTS", "ARM::JUMPTABLE_ADDRS", "ARM::JUMPTABLE_TBB", "ARM::JUMPTABLE_TBH", "2", "ARM::Int_eh_sjlj_longjmp", "16", "ARM::tInt_eh_sjlj_longjmp", "10", "ARM::tInt_WIN_eh_sjlj_longjmp", "12", "ARM::Int_eh_sjlj_setjmp", "ARM::Int_eh_sjlj_setjmp_nofp", "20", "ARM::tInt_eh_sjlj_setjmp", "ARM::t2Int_eh_sjlj_setjmp", "ARM::t2Int_eh_sjlj_setjmp_nofp", "12", "ARM::SPACE", "1"], "File": "ARMBaseInstrInfo102", "Func": "getInstSizeInBytes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9887, "Length": 283} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "TargetOpcode", "::", "LOAD_STACK_GUARD", ")", "{", "assert", "(", "getSubtarget", "(", ")", ".", "getTargetTriple", "(", ")", ".", "isOSBinFormatMachO", "(", ")", "&&", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", ")", ";", "expandLoadStackGuard", "(", "MI", ")", ";", "MI", ".", "getParent", "(", ")", "->", "erase", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MEMCPY", ")", "{", "expandMEMCPY", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "!", "MI", ".", "isCopy", "(", ")", "||", "Subtarget", ".", "dontWidenVMOVS", "(", ")", "||", "Subtarget", ".", "isFPOnlySP", "(", ")", ")", "return", "false", ";", "unsigned", "DstRegS", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "unsigned", "SrcRegS", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", ".", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", ".", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "MI", ")", ";", "MachineInstrBuilder", "MIB", "(", "*", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", ".", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", ".", "RemoveOperand", "(", "ImpDefIdx", ")", ";", "MI", ".", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", ".", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MIB", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", ".", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", "ARM::MEMCPY", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "ARMCC::AL", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo103", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9888, "Length": 426} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicable", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "!", "MI", ".", "isPredicable", "(", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "isBundle", "(", ")", ")", "return", "false", ";", "if", "(", "!", "isEligibleForITBlock", "(", "&", "MI", ")", ")", "return", "false", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", "{", "if", "(", "getSubtarget", "(", ")", ".", "restrictIT", "(", ")", ")", "return", "isV8EligibleForIT", "(", "&", "MI", ")", ";", "}", "else", "{", "if", "(", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainNEON", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "instruction", "can", "be", "predicated", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainNEON"], "File": "ARMBaseInstrInfo103", "Func": "isPredicable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9889, "Length": 126} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToIfCvt", "(", "MachineBasicBlock", "&", ",", "unsigned", "TCycles", ",", "unsigned", "TExtra", ",", "MachineBasicBlock", "&", ",", "unsigned", "FCycles", ",", "unsigned", "FExtra", ",", "BranchProbability", "Probability", ")", "const", "{", "if", "(", "!", "TCycles", ")", "return", "false", ";", "const", "unsigned", "ScalingUpFactor", "=", "1024", ";", "unsigned", "TUnpredCost", "=", "Probability", ".", "scale", "(", "TCycles", "*", "ScalingUpFactor", ")", ";", "unsigned", "FUnpredCost", "=", "Probability", ".", "getCompl", "(", ")", ".", "scale", "(", "FCycles", "*", "ScalingUpFactor", ")", ";", "unsigned", "UnpredCost", "=", "TUnpredCost", "+", "FUnpredCost", ";", "UnpredCost", "+=", "1", "*", "ScalingUpFactor", ";", "UnpredCost", "+=", "Subtarget", ".", "getMispredictionPenalty", "(", ")", "*", "ScalingUpFactor", "/", "10", ";", "return", "(", "TCycles", "+", "FCycles", "+", "TExtra", "+", "FExtra", ")", "*", "ScalingUpFactor", "<=", "UnpredCost", ";", "}", ""], "natrual_language": ["Second", "variant", "of", "isProfitableToIfCvt", "."], "TS_V_token": ["ARM", "ARM", "1024", "1", "10"], "File": "ARMBaseInstrInfo103", "Func": "isProfitableToIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9890, "Length": 111} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "commuteInstruction", "(", "MachineInstr", "*", "MI", ",", "bool", "NewMI", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "MOVCCr", ":", "case", "ARM", "::", "t2MOVCCr", ":", "{", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "MI", ",", "PredReg", ")", ";", "if", "(", "CC", "==", "ARMCC", "::", "AL", "||", "PredReg", "!=", "ARM", "::", "CPSR", ")", "return", "nullptr", ";", "MI", "=", "TargetInstrInfo", "::", "commuteInstruction", "(", "MI", ",", "NewMI", ")", ";", "if", "(", "!", "MI", ")", "return", "nullptr", ";", "MI", "->", "getOperand", "(", "MI", "->", "findFirstPredOperandIdx", "(", ")", ")", ".", "setImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "CC", ")", ")", ";", "return", "MI", ";", "}", "}", "return", "TargetInstrInfo", "::", "commuteInstruction", "(", "MI", ",", "NewMI", ")", ";", "}", ""], "natrual_language": ["This", "method", "commutes", "the", "operands", "of", "the", "given", "machine", "instruction", "MI", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "0", "ARMCC::CondCodes", "ARMCC::AL", "ARM::CPSR", "ARMCC::getOppositeCondition"], "File": "ARMBaseInstrInfo105", "Func": "commuteInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9891, "Length": 125} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineBasicBlock", "::", "iterator", "MI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "Reloc", "::", "Model", "RM", "=", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", ";", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "TargetOpcode", "::", "LOAD_STACK_GUARD", ")", "{", "assert", "(", "getSubtarget", "(", ")", ".", "getTargetTriple", "(", ")", ".", "isOSBinFormatMachO", "(", ")", "&&", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", ")", ";", "expandLoadStackGuard", "(", "MI", ",", "RM", ")", ";", "MI", "->", "getParent", "(", ")", "->", "erase", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "!", "WidenVMOVS", "||", "!", "MI", "->", "isCopy", "(", ")", "||", "Subtarget", ".", "isCortexA15", "(", ")", "||", "Subtarget", ".", "isFPOnlySP", "(", ")", ")", "return", "false", ";", "unsigned", "DstRegS", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "unsigned", "SrcRegS", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", "->", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", "->", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", "->", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "*", "MI", ")", ";", "MachineInstrBuilder", "MIB", "(", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", "->", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", "->", "RemoveOperand", "(", "ImpDefIdx", ")", ";", "MI", "->", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", "->", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", "->", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "MI", "->", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MIB", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", "->", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", "->", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "*", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo105", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9892, "Length": 435} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToIfCvt", "(", "MachineBasicBlock", "&", "TMBB", ",", "unsigned", "TCycles", ",", "unsigned", "TExtra", ",", "MachineBasicBlock", "&", "FMBB", ",", "unsigned", "FCycles", ",", "unsigned", "FExtra", ",", "const", "BranchProbability", "&", "Probability", ")", "const", "{", "if", "(", "!", "TCycles", "||", "!", "FCycles", ")", "return", "false", ";", "unsigned", "TUnpredCost", "=", "Probability", ".", "scale", "(", "TCycles", ")", ";", "unsigned", "FUnpredCost", "=", "Probability", ".", "getCompl", "(", ")", ".", "scale", "(", "FCycles", ")", ";", "unsigned", "UnpredCost", "=", "TUnpredCost", "+", "FUnpredCost", ";", "UnpredCost", "+=", "1", ";", "UnpredCost", "+=", "Subtarget", ".", "getMispredictionPenalty", "(", ")", "/", "10", ";", "return", "(", "TCycles", "+", "FCycles", "+", "TExtra", "+", "FExtra", ")", "<=", "UnpredCost", ";", "}", ""], "natrual_language": ["Second", "variant", "of", "isProfitableToIfCvt", "."], "TS_V_token": ["ARM", "ARM", "1", "10"], "File": "ARMBaseInstrInfo105", "Func": "isProfitableToIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9893, "Length": 102} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineBasicBlock", "::", "iterator", "MI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "Reloc", "::", "Model", "RM", "=", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", ";", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "TargetOpcode", "::", "LOAD_STACK_GUARD", ")", "{", "assert", "(", "getSubtarget", "(", ")", ".", "getTargetTriple", "(", ")", ".", "getObjectFormat", "(", ")", "==", "Triple", "::", "MachO", "&&", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", ")", ";", "expandLoadStackGuard", "(", "MI", ",", "RM", ")", ";", "MI", "->", "getParent", "(", ")", "->", "erase", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "!", "WidenVMOVS", "||", "!", "MI", "->", "isCopy", "(", ")", "||", "Subtarget", ".", "isCortexA15", "(", ")", "||", "Subtarget", ".", "isFPOnlySP", "(", ")", ")", "return", "false", ";", "unsigned", "DstRegS", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "unsigned", "SrcRegS", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", "->", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", "->", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", "->", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "*", "MI", ")", ";", "MachineInstrBuilder", "MIB", "(", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", "->", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", "->", "RemoveOperand", "(", "ImpDefIdx", ")", ";", "MI", "->", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", "->", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", "->", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "MI", "->", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MIB", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", "->", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", "->", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "*", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo106", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9894, "Length": 439} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "optimizeSelect", "(", "MachineInstr", "*", "MI", ",", "bool", "PreferFalse", ")", "const", "{", "assert", "(", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MOVCCr", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2MOVCCr", ")", "&&", "\"Unknown select instruction\"", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineInstr", "*", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "bool", "Invert", "=", "!", "DefMI", ";", "if", "(", "!", "DefMI", ")", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "if", "(", "!", "DefMI", ")", "return", "nullptr", ";", "MachineOperand", "FalseReg", "=", "MI", "->", "getOperand", "(", "Invert", "?", "2", ":", "1", ")", ";", "unsigned", "DestReg", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "const", "TargetRegisterClass", "*", "PreviousClass", "=", "MRI", ".", "getRegClass", "(", "FalseReg", ".", "getReg", "(", ")", ")", ";", "if", "(", "!", "MRI", ".", "constrainRegClass", "(", "DestReg", ",", "PreviousClass", ")", ")", "return", "nullptr", ";", "MachineInstrBuilder", "NewMI", "=", "BuildMI", "(", "*", "MI", "->", "getParent", "(", ")", ",", "MI", ",", "MI", "->", "getDebugLoc", "(", ")", ",", "DefMI", "->", "getDesc", "(", ")", ",", "DestReg", ")", ";", "const", "MCInstrDesc", "&", "DefDesc", "=", "DefMI", "->", "getDesc", "(", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "DefDesc", ".", "getNumOperands", "(", ")", ";", "i", "!=", "e", "&&", "!", "DefDesc", ".", "OpInfo", "[", "i", "]", ".", "isPredicate", "(", ")", ";", "++", "i", ")", "NewMI", ".", "addOperand", "(", "DefMI", "->", "getOperand", "(", "i", ")", ")", ";", "unsigned", "CondCode", "=", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", ";", "if", "(", "Invert", ")", "NewMI", ".", "addImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "ARMCC", "::", "CondCodes", "(", "CondCode", ")", ")", ")", ";", "else", "NewMI", ".", "addImm", "(", "CondCode", ")", ";", "NewMI", ".", "addOperand", "(", "MI", "->", "getOperand", "(", "4", ")", ")", ";", "if", "(", "NewMI", "->", "hasOptionalDef", "(", ")", ")", "AddDefaultCC", "(", "NewMI", ")", ";", "FalseReg", ".", "setImplicit", "(", ")", ";", "NewMI", ".", "addOperand", "(", "FalseReg", ")", ";", "NewMI", "->", "tieOperands", "(", "0", ",", "NewMI", "->", "getNumOperands", "(", ")", "-", "1", ")", ";", "DefMI", "->", "eraseFromParent", "(", ")", ";", "return", "NewMI", ";", "}", ""], "natrual_language": ["Given", "a", "select", "instruction", "that", "was", "understood", "by", "analyzeSelect", "and", "returned", "Optimizable", "=", "true", ",", "attempt", "to", "optimize", "MI", "by", "merging", "it", "with", "one", "of", "its", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "\"Unknown select instruction\"", "2", "1", "2", "1", "0", "1", "3", "ARMCC::getOppositeCondition", "ARMCC::CondCodes", "4", "0", "1"], "File": "ARMBaseInstrInfo106", "Func": "optimizeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9895, "Length": 372} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicable", "(", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "!", "MI", "->", "isPredicable", "(", ")", ")", "return", "false", ";", "ARMFunctionInfo", "*", "AFI", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", "{", "if", "(", "getSubtarget", "(", ")", ".", "hasV8Ops", "(", ")", ")", "return", "isV8EligibleForIT", "(", "MI", ")", ";", "}", "else", "{", "if", "(", "(", "MI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainNEON", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "instruction", "can", "be", "predicated", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainNEON"], "File": "ARMBaseInstrInfo107", "Func": "isPredicable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9896, "Length": 100} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "DebugLoc", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "bool", "GPRDest", "=", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ")", ";", "bool", "GPRSrc", "=", "ARM", "::", "GPRRegClass", ".", "contains", "(", "SrcReg", ")", ";", "if", "(", "GPRDest", "&&", "GPRSrc", ")", "{", "AddDefaultCC", "(", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "MOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ")", ")", ";", "return", ";", "}", "bool", "SPRDest", "=", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DestReg", ")", ";", "bool", "SPRSrc", "=", "ARM", "::", "SPRRegClass", ".", "contains", "(", "SrcReg", ")", ";", "unsigned", "Opc", "=", "0", ";", "if", "(", "SPRDest", "&&", "SPRSrc", ")", "Opc", "=", "ARM", "::", "VMOVS", ";", "else", "if", "(", "GPRDest", "&&", "SPRSrc", ")", "Opc", "=", "ARM", "::", "VMOVRS", ";", "else", "if", "(", "SPRDest", "&&", "GPRSrc", ")", "Opc", "=", "ARM", "::", "VMOVSR", ";", "else", "if", "(", "ARM", "::", "DPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", ")", "Opc", "=", "ARM", "::", "VMOVD", ";", "else", "if", "(", "ARM", "::", "QPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", ")", "Opc", "=", "ARM", "::", "VORRq", ";", "if", "(", "Opc", ")", "{", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "Opc", ")", ",", "DestReg", ")", ";", "MIB", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "VORRq", ")", "MIB", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "QQPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", "||", "ARM", "::", "QQQQPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", ")", "{", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "assert", "(", "ARM", "::", "qsub_0", "+", "3", "==", "ARM", "::", "qsub_3", "&&", "\"Expected contiguous enum.\"", ")", ";", "unsigned", "EndSubReg", "=", "ARM", "::", "QQPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", "?", "ARM", "::", "qsub_1", ":", "ARM", "::", "qsub_3", ";", "for", "(", "unsigned", "i", "=", "ARM", "::", "qsub_0", ",", "e", "=", "EndSubReg", "+", "1", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "unsigned", "Dst", "=", "TRI", "->", "getSubReg", "(", "DestReg", ",", "i", ")", ";", "unsigned", "Src", "=", "TRI", "->", "getSubReg", "(", "SrcReg", ",", "i", ")", ";", "MachineInstrBuilder", "Mov", "=", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "I", "->", "getDebugLoc", "(", ")", ",", "get", "(", "ARM", "::", "VORRq", ")", ")", ".", "addReg", "(", "Dst", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "Src", ",", "getKillRegState", "(", "KillSrc", ")", ")", ".", "addReg", "(", "Src", ",", "getKillRegState", "(", "KillSrc", ")", ")", ")", ";", "if", "(", "i", "==", "EndSubReg", ")", "{", "Mov", "->", "addRegisterDefined", "(", "DestReg", ",", "TRI", ")", ";", "if", "(", "KillSrc", ")", "Mov", "->", "addRegisterKilled", "(", "SrcReg", ",", "TRI", ")", ";", "}", "}", "return", ";", "}", "llvm_unreachable", "(", "\"Impossible reg-to-reg copy\"", ")", ";", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClass", "ARM::GPRRegClass", "ARM::MOVr", "ARM::SPRRegClass", "ARM::SPRRegClass", "0", "ARM::VMOVS", "ARM::VMOVRS", "ARM::VMOVSR", "ARM::DPRRegClass", "ARM::VMOVD", "ARM::QPRRegClass", "ARM::VORRq", "ARM::VORRq", "ARM::QQPRRegClass", "ARM::QQQQPRRegClass", "ARM::qsub_0", "3", "ARM::qsub_3", "\"Expected contiguous enum.\"", "ARM::QQPRRegClass", "ARM::qsub_1", "ARM::qsub_3", "ARM::qsub_0", "1", "ARM::VORRq", "\"Impossible reg-to-reg copy\""], "File": "ARMBaseInstrInfo108", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9897, "Length": 481} {"ground_truth": ["", "int", "ARMBaseInstrInfo", "::", "getInstrLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "*", "MI", ",", "unsigned", "*", "PredCost", ")", "const", "{", "if", "(", "MI", "->", "isCopyLike", "(", ")", "||", "MI", "->", "isInsertSubreg", "(", ")", "||", "MI", "->", "isRegSequence", "(", ")", "||", "MI", "->", "isImplicitDef", "(", ")", ")", "return", "1", ";", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "1", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "Class", "=", "MCID", ".", "getSchedClass", "(", ")", ";", "unsigned", "UOps", "=", "ItinData", "->", "Itineraries", "[", "Class", "]", ".", "NumMicroOps", ";", "if", "(", "PredCost", "&&", "MCID", ".", "hasImplicitDefOfPhysReg", "(", "ARM", "::", "CPSR", ")", ")", "*", "PredCost", "=", "1", ";", "if", "(", "UOps", ")", "return", "ItinData", "->", "getStageLatency", "(", "Class", ")", ";", "return", "getNumMicroOps", "(", "ItinData", ",", "MI", ")", ";", "}", ""], "natrual_language": ["Compute", "the", "instruction", "latency", "of", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "ARM::CPSR", "1"], "File": "ARMBaseInstrInfo108", "Func": "getInstrLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9898, "Length": 135} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getNumMicroOps", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "1", ";", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "Class", "=", "Desc", ".", "getSchedClass", "(", ")", ";", "unsigned", "UOps", "=", "ItinData", "->", "Itineraries", "[", "Class", "]", ".", "NumMicroOps", ";", "if", "(", "UOps", ")", "return", "UOps", ";", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unexpected multi-uops instruction!\"", ")", ";", "break", ";", "case", "ARM", "::", "VLDMQIA", ":", "case", "ARM", "::", "VSTMQIA", ":", "return", "2", ";", "case", "ARM", "::", "VLDMDIA", ":", "case", "ARM", "::", "VLDMDIA_UPD", ":", "case", "ARM", "::", "VLDMDDB_UPD", ":", "case", "ARM", "::", "VLDMSIA", ":", "case", "ARM", "::", "VLDMSIA_UPD", ":", "case", "ARM", "::", "VLDMSDB_UPD", ":", "case", "ARM", "::", "VSTMDIA", ":", "case", "ARM", "::", "VSTMDIA_UPD", ":", "case", "ARM", "::", "VSTMDDB_UPD", ":", "case", "ARM", "::", "VSTMSIA", ":", "case", "ARM", "::", "VSTMSIA_UPD", ":", "case", "ARM", "::", "VSTMSDB_UPD", ":", "{", "unsigned", "NumRegs", "=", "MI", "->", "getNumOperands", "(", ")", "-", "Desc", ".", "getNumOperands", "(", ")", ";", "return", "(", "NumRegs", "/", "2", ")", "+", "(", "NumRegs", "%", "2", ")", "+", "1", ";", "}", "case", "ARM", "::", "LDMIA_RET", ":", "case", "ARM", "::", "LDMIA", ":", "case", "ARM", "::", "LDMDA", ":", "case", "ARM", "::", "LDMDB", ":", "case", "ARM", "::", "LDMIB", ":", "case", "ARM", "::", "LDMIA_UPD", ":", "case", "ARM", "::", "LDMDA_UPD", ":", "case", "ARM", "::", "LDMDB_UPD", ":", "case", "ARM", "::", "LDMIB_UPD", ":", "case", "ARM", "::", "STMIA", ":", "case", "ARM", "::", "STMDA", ":", "case", "ARM", "::", "STMDB", ":", "case", "ARM", "::", "STMIB", ":", "case", "ARM", "::", "STMIA_UPD", ":", "case", "ARM", "::", "STMDA_UPD", ":", "case", "ARM", "::", "STMDB_UPD", ":", "case", "ARM", "::", "STMIB_UPD", ":", "case", "ARM", "::", "tLDMIA", ":", "case", "ARM", "::", "tLDMIA_UPD", ":", "case", "ARM", "::", "tSTMIA_UPD", ":", "case", "ARM", "::", "tPOP_RET", ":", "case", "ARM", "::", "tPOP", ":", "case", "ARM", "::", "tPUSH", ":", "case", "ARM", "::", "t2LDMIA_RET", ":", "case", "ARM", "::", "t2LDMIA", ":", "case", "ARM", "::", "t2LDMDB", ":", "case", "ARM", "::", "t2LDMIA_UPD", ":", "case", "ARM", "::", "t2LDMDB_UPD", ":", "case", "ARM", "::", "t2STMIA", ":", "case", "ARM", "::", "t2STMDB", ":", "case", "ARM", "::", "t2STMIA_UPD", ":", "case", "ARM", "::", "t2STMDB_UPD", ":", "{", "unsigned", "NumRegs", "=", "MI", "->", "getNumOperands", "(", ")", "-", "Desc", ".", "getNumOperands", "(", ")", "+", "1", ";", "if", "(", "Subtarget", ".", "isCortexA8", "(", ")", ")", "{", "if", "(", "NumRegs", "<", "4", ")", "return", "2", ";", "UOps", "=", "(", "NumRegs", "/", "2", ")", ";", "if", "(", "NumRegs", "%", "2", ")", "++", "UOps", ";", "return", "UOps", ";", "}", "else", "if", "(", "Subtarget", ".", "isCortexA9", "(", ")", ")", "{", "UOps", "=", "(", "NumRegs", "/", "2", ")", ";", "if", "(", "(", "NumRegs", "%", "2", ")", "||", "!", "MI", "->", "hasOneMemOperand", "(", ")", "||", "(", "*", "MI", "->", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", "<", "8", ")", "++", "UOps", ";", "return", "UOps", ";", "}", "else", "{", "return", "NumRegs", ";", "}", "}", "}", "}", ""], "natrual_language": ["Return", "the", "number", "of", "issue", "slots", "required", "for", "this", "MI", "."], "TS_V_token": ["ARM", "ARM", "1", "\"Unexpected multi-uops instruction!\"", "ARM::VLDMQIA", "ARM::VSTMQIA", "2", "ARM::VLDMDIA", "ARM::VLDMDIA_UPD", "ARM::VLDMDDB_UPD", "ARM::VLDMSIA", "ARM::VLDMSIA_UPD", "ARM::VLDMSDB_UPD", "ARM::VSTMDIA", "ARM::VSTMDIA_UPD", "ARM::VSTMDDB_UPD", "ARM::VSTMSIA", "ARM::VSTMSIA_UPD", "ARM::VSTMSDB_UPD", "2", "2", "1", "ARM::LDMIA_RET", "ARM::LDMIA", "ARM::LDMDA", "ARM::LDMDB", "ARM::LDMIB", "ARM::LDMIA_UPD", "ARM::LDMDA_UPD", "ARM::LDMDB_UPD", "ARM::LDMIB_UPD", "ARM::STMIA", "ARM::STMDA", "ARM::STMDB", "ARM::STMIB", "ARM::STMIA_UPD", "ARM::STMDA_UPD", "ARM::STMDB_UPD", "ARM::STMIB_UPD", "ARM::tLDMIA", "ARM::tLDMIA_UPD", "ARM::tSTMIA_UPD", "ARM::tPOP_RET", "ARM::tPOP", "ARM::tPUSH", "ARM::t2LDMIA_RET", "ARM::t2LDMIA", "ARM::t2LDMDB", "ARM::t2LDMIA_UPD", "ARM::t2LDMDB_UPD", "ARM::t2STMIA", "ARM::t2STMDB", "ARM::t2STMIA_UPD", "ARM::t2STMDB_UPD", "1", "4", "2", "2", "2", "2", "2", "8"], "File": "ARMBaseInstrInfo108", "Func": "getNumMicroOps", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9899, "Length": 479} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDRrs", ":", "case", "ARM", "::", "t2LDRs", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "tLDRspi", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLD1q64Pseudo", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLDMQIA", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isLoadFromStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "load", "from", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "destination", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDRrs", "ARM::t2LDRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::LDRi12", "ARM::t2LDRi12", "ARM::tLDRspi", "ARM::VLDRD", "ARM::VLDRS", "1", "2", "2", "0", "1", "0", "ARM::VLD1q64Pseudo", "1", "0", "0", "1", "0", "ARM::VLDMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo108", "Func": "isLoadFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9900, "Length": 345} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlotPostFE", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "const", "MachineMemOperand", "*", "Dummy", ";", "return", "MI", "->", "getDesc", "(", ")", ".", "mayLoad", "(", ")", "&&", "hasLoadFromStackSlot", "(", "MI", ",", "Dummy", ",", "FrameIndex", ")", ";", "}", ""], "natrual_language": ["isLoadFromStackSlotPostFE", "-", "Check", "for", "post-frame", "ptr", "elimination", "stack", "locations", "as", "well", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo108", "Func": "isLoadFromStackSlotPostFE", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9901, "Length": 42} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicable", "(", "MachineInstr", "*", "MI", ")", "const", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "!", "MCID", ".", "isPredicable", "(", ")", ")", "return", "false", ";", "if", "(", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainNEON", ")", "{", "ARMFunctionInfo", "*", "AFI", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "return", "AFI", "->", "isThumb2Function", "(", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "instruction", "can", "be", "predicated", "."], "TS_V_token": ["ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainNEON", "ARM", "ARM"], "File": "ARMBaseInstrInfo108", "Func": "isPredicable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9902, "Length": 84} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isSchedulingBoundary", "(", "const", "MachineInstr", "*", "MI", ",", "const", "MachineBasicBlock", "*", "MBB", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "MI", "->", "isDebugValue", "(", ")", ")", "return", "false", ";", "if", "(", "MI", "->", "getDesc", "(", ")", ".", "isTerminator", "(", ")", "||", "MI", "->", "isLabel", "(", ")", ")", "return", "true", ";", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MI", ";", "while", "(", "++", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "isDebugValue", "(", ")", ")", ";", "if", "(", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "return", "true", ";", "if", "(", "MI", "->", "definesRegister", "(", "ARM", "::", "SP", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["isSchedulingBoundary", "-", "Overrides", "the", "isSchedulingBoundary", "from", "Codegen/TargetInstrInfo.cpp", "to", "make", "it", "capable", "of", "identifying", "ENDBR", "intructions", "and", "prevent", "it", "from", "being", "re-scheduled", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2IT", "ARM::SP"], "File": "ARMBaseInstrInfo108", "Func": "isSchedulingBoundary", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9903, "Length": 120} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "STRrs", ":", "case", "ARM", "::", "t2STRs", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "VSTRS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VST1q64Pseudo", ":", "if", "(", "MI", "->", "getOperand", "(", "0", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VSTMQIA", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isStoreToStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "store", "to", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "source", "reg", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::STRrs", "ARM::t2STRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::STRi12", "ARM::t2STRi12", "ARM::tSTRspi", "ARM::VSTRD", "ARM::VSTRS", "1", "2", "2", "0", "1", "0", "ARM::VST1q64Pseudo", "0", "2", "0", "0", "2", "ARM::VSTMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo108", "Func": "isStoreToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9904, "Length": 345} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlotPostFE", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "const", "MachineMemOperand", "*", "Dummy", ";", "return", "MI", "->", "getDesc", "(", ")", ".", "mayStore", "(", ")", "&&", "hasStoreToStackSlot", "(", "MI", ",", "Dummy", ",", "FrameIndex", ")", ";", "}", ""], "natrual_language": ["isStoreToStackSlotPostFE", "-", "Check", "for", "post-frame", "ptr", "elimination", "stack", "locations", "as", "well", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo108", "Func": "isStoreToStackSlotPostFE", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9905, "Length": 42} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeCompare", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "&", "SrcReg", ",", "unsigned", "&", "SrcReg2", ",", "int", "&", "CmpMask", ",", "int", "&", "CmpValue", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "CMPri", ":", "case", "ARM", "::", "t2CMPri", ":", "case", "ARM", "::", "tCMPi8", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "0", ";", "CmpMask", "=", "~", "0", ";", "CmpValue", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "return", "true", ";", "case", "ARM", "::", "CMPrr", ":", "case", "ARM", "::", "t2CMPrr", ":", "case", "ARM", "::", "tCMPr", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "CmpMask", "=", "~", "0", ";", "CmpValue", "=", "0", ";", "return", "true", ";", "case", "ARM", "::", "TSTri", ":", "case", "ARM", "::", "t2TSTri", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "0", ";", "CmpMask", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "CmpValue", "=", "0", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["analyzeCompare", "-", "For", "a", "comparison", "instruction", ",", "return", "the", "source", "registers", "in", "SrcReg", "and", "SrcReg2", "if", "having", "two", "register", "operands", ",", "and", "the", "value", "it", "compares", "against", "in", "CmpValue", "."], "TS_V_token": ["ARM", "ARM", "ARM::CMPri", "ARM::t2CMPri", "ARM::tCMPi8", "0", "0", "0", "1", "ARM::CMPrr", "ARM::t2CMPrr", "ARM::tCMPr", "0", "1", "0", "0", "ARM::TSTri", "ARM::t2TSTri", "0", "0", "1", "0"], "File": "ARMBaseInstrInfo10", "Func": "analyzeCompare", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9906, "Length": 199} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "ARMBaseInstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "const", "InstrItineraryData", "*", "II", ",", "const", "ScheduleDAG", "*", "DAG", ")", "const", "{", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "||", "Subtarget", ".", "hasVFP2Base", "(", ")", ")", "return", "(", "ScheduleHazardRecognizer", "*", ")", "new", "ARMHazardRecognizer", "(", "II", ",", "DAG", ")", ";", "return", "TargetInstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "II", ",", "DAG", ")", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "by", "non-scheduling", "passes", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMBaseInstrInfo10", "Func": "CreateTargetPostRAHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9907, "Length": 56} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "TargetOpcode", "::", "LOAD_STACK_GUARD", ")", "{", "assert", "(", "getSubtarget", "(", ")", ".", "getTargetTriple", "(", ")", ".", "isOSBinFormatMachO", "(", ")", "&&", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", ")", ";", "expandLoadStackGuard", "(", "MI", ")", ";", "MI", ".", "getParent", "(", ")", "->", "erase", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MEMCPY", ")", "{", "expandMEMCPY", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "!", "MI", ".", "isCopy", "(", ")", "||", "Subtarget", ".", "dontWidenVMOVS", "(", ")", "||", "!", "Subtarget", ".", "hasFP64", "(", ")", ")", "return", "false", ";", "unsigned", "DstRegS", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "unsigned", "SrcRegS", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", ".", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", ".", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "MI", ")", ";", "MachineInstrBuilder", "MIB", "(", "*", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", ".", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", ".", "RemoveOperand", "(", "ImpDefIdx", ")", ";", "MI", ".", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", ".", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MIB", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", ".", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", "ARM::MEMCPY", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "ARMCC::AL", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo10", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9908, "Length": 427} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getInstSizeInBytes", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "const", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "const", "MachineFunction", "*", "MF", "=", "MBB", ".", "getParent", "(", ")", ";", "const", "MCAsmInfo", "*", "MAI", "=", "MF", "->", "getTarget", "(", ")", ".", "getMCAsmInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "if", "(", "MCID", ".", "getSize", "(", ")", ")", "return", "MCID", ".", "getSize", "(", ")", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "return", "0", ";", "case", "TargetOpcode", "::", "BUNDLE", ":", "return", "getInstBundleLength", "(", "MI", ")", ";", "case", "ARM", "::", "MOVi16_ga_pcrel", ":", "case", "ARM", "::", "MOVTi16_ga_pcrel", ":", "case", "ARM", "::", "t2MOVi16_ga_pcrel", ":", "case", "ARM", "::", "t2MOVTi16_ga_pcrel", ":", "return", "4", ";", "case", "ARM", "::", "MOVi32imm", ":", "case", "ARM", "::", "t2MOVi32imm", ":", "return", "8", ";", "case", "ARM", "::", "CONSTPOOL_ENTRY", ":", "case", "ARM", "::", "JUMPTABLE_INSTS", ":", "case", "ARM", "::", "JUMPTABLE_ADDRS", ":", "case", "ARM", "::", "JUMPTABLE_TBB", ":", "case", "ARM", "::", "JUMPTABLE_TBH", ":", "return", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", ";", "case", "ARM", "::", "Int_eh_sjlj_longjmp", ":", "return", "16", ";", "case", "ARM", "::", "tInt_eh_sjlj_longjmp", ":", "return", "10", ";", "case", "ARM", "::", "tInt_WIN_eh_sjlj_longjmp", ":", "return", "12", ";", "case", "ARM", "::", "Int_eh_sjlj_setjmp", ":", "case", "ARM", "::", "Int_eh_sjlj_setjmp_nofp", ":", "return", "20", ";", "case", "ARM", "::", "tInt_eh_sjlj_setjmp", ":", "case", "ARM", "::", "t2Int_eh_sjlj_setjmp", ":", "case", "ARM", "::", "t2Int_eh_sjlj_setjmp_nofp", ":", "return", "12", ";", "case", "ARM", "::", "SPACE", ":", "return", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "case", "ARM", "::", "INLINEASM", ":", "case", "ARM", "::", "INLINEASM_BR", ":", "{", "unsigned", "Size", "=", "getInlineAsmLength", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getSymbolName", "(", ")", ",", "*", "MAI", ")", ";", "if", "(", "!", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isThumbFunction", "(", ")", ")", "Size", "=", "alignTo", "(", "Size", ",", "4", ")", ";", "return", "Size", ";", "}", "}", "}", ""], "natrual_language": ["Returns", "the", "size", "in", "bytes", "of", "the", "specified", "MachineInstr", ",", "or", "~0U", "when", "this", "function", "is", "not", "implemented", "by", "a", "target", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::MOVi16_ga_pcrel", "ARM::MOVTi16_ga_pcrel", "ARM::t2MOVi16_ga_pcrel", "ARM::t2MOVTi16_ga_pcrel", "4", "ARM::MOVi32imm", "ARM::t2MOVi32imm", "8", "ARM::CONSTPOOL_ENTRY", "ARM::JUMPTABLE_INSTS", "ARM::JUMPTABLE_ADDRS", "ARM::JUMPTABLE_TBB", "ARM::JUMPTABLE_TBH", "2", "ARM::Int_eh_sjlj_longjmp", "16", "ARM::tInt_eh_sjlj_longjmp", "10", "ARM::tInt_WIN_eh_sjlj_longjmp", "12", "ARM::Int_eh_sjlj_setjmp", "ARM::Int_eh_sjlj_setjmp_nofp", "20", "ARM::tInt_eh_sjlj_setjmp", "ARM::t2Int_eh_sjlj_setjmp", "ARM::t2Int_eh_sjlj_setjmp_nofp", "12", "ARM::SPACE", "1", "ARM::INLINEASM", "ARM::INLINEASM_BR", "0", "ARM", "4"], "File": "ARMBaseInstrInfo10", "Func": "getInstSizeInBytes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9909, "Length": 308} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getNumLDMAddresses", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "unsigned", "Size", "=", "0", ";", "for", "(", "MachineInstr", "::", "mmo_iterator", "I", "=", "MI", ".", "memoperands_begin", "(", ")", ",", "E", "=", "MI", ".", "memoperands_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "Size", "+=", "(", "*", "I", ")", "->", "getSize", "(", ")", ";", "}", "return", "std", "::", "min", "(", "Size", "/", "4", ",", "16U", ")", ";", "}", ""], "natrual_language": ["Get", "the", "number", "of", "addresses", "by", "LDM", "or", "VLDM", "or", "zero", "for", "unknown", "."], "TS_V_token": ["ARM", "ARM", "0", "4", "16U"], "File": "ARMBaseInstrInfo10", "Func": "getNumLDMAddresses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9910, "Length": 71} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlot", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDRrs", ":", "case", "ARM", "::", "t2LDRs", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "tLDRspi", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLDR_P0_off", ":", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "1", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getIndex", "(", ")", ";", "return", "ARM", "::", "P0", ";", "}", "break", ";", "case", "ARM", "::", "VLD1q64", ":", "case", "ARM", "::", "VLD1d8TPseudo", ":", "case", "ARM", "::", "VLD1d16TPseudo", ":", "case", "ARM", "::", "VLD1d32TPseudo", ":", "case", "ARM", "::", "VLD1d64TPseudo", ":", "case", "ARM", "::", "VLD1d8QPseudo", ":", "case", "ARM", "::", "VLD1d16QPseudo", ":", "case", "ARM", "::", "VLD1d32QPseudo", ":", "case", "ARM", "::", "VLD1d64QPseudo", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLDMQIA", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isLoadFromStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "load", "from", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "destination", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDRrs", "ARM::t2LDRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::LDRi12", "ARM::t2LDRi12", "ARM::tLDRspi", "ARM::VLDRD", "ARM::VLDRS", "1", "2", "2", "0", "1", "0", "ARM::VLDR_P0_off", "0", "1", "1", "0", "0", "ARM::P0", "ARM::VLD1q64", "ARM::VLD1d8TPseudo", "ARM::VLD1d16TPseudo", "ARM::VLD1d32TPseudo", "ARM::VLD1d64TPseudo", "ARM::VLD1d8QPseudo", "ARM::VLD1d16QPseudo", "ARM::VLD1d32QPseudo", "ARM::VLD1d64QPseudo", "1", "0", "0", "1", "0", "ARM::VLDMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo10", "Func": "isLoadFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9911, "Length": 449} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlotPostFE", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "SmallVector", "<", "const", "MachineMemOperand", "*", ",", "1", ">", "Accesses", ";", "if", "(", "MI", ".", "mayLoad", "(", ")", "&&", "hasLoadFromStackSlot", "(", "MI", ",", "Accesses", ")", "&&", "Accesses", ".", "size", "(", ")", "==", "1", ")", "{", "FrameIndex", "=", "cast", "<", "FixedStackPseudoSourceValue", ">", "(", "Accesses", ".", "front", "(", ")", "->", "getPseudoValue", "(", ")", ")", "->", "getFrameIndex", "(", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["isLoadFromStackSlotPostFE", "-", "Check", "for", "post-frame", "ptr", "elimination", "stack", "locations", "as", "well", "."], "TS_V_token": ["ARM", "ARM", "1", "1"], "File": "ARMBaseInstrInfo10", "Func": "isLoadFromStackSlotPostFE", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9912, "Length": 80} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToIfCvt", "(", "MachineBasicBlock", "&", "TBB", ",", "unsigned", "TCycles", ",", "unsigned", "TExtra", ",", "MachineBasicBlock", "&", "FBB", ",", "unsigned", "FCycles", ",", "unsigned", "FExtra", ",", "BranchProbability", "Probability", ")", "const", "{", "if", "(", "!", "TCycles", ")", "return", "false", ";", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "&&", "TBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", ".", "hasMinSize", "(", ")", ")", "{", "if", "(", "TBB", ".", "pred_size", "(", ")", "!=", "1", "||", "FBB", ".", "pred_size", "(", ")", "!=", "1", ")", "return", "false", ";", "}", "const", "unsigned", "ScalingUpFactor", "=", "1024", ";", "unsigned", "PredCost", "=", "(", "TCycles", "+", "FCycles", "+", "TExtra", "+", "FExtra", ")", "*", "ScalingUpFactor", ";", "unsigned", "UnpredCost", ";", "if", "(", "!", "Subtarget", ".", "hasBranchPredictor", "(", ")", ")", "{", "unsigned", "NotTakenBranchCost", "=", "1", ";", "unsigned", "TakenBranchCost", "=", "Subtarget", ".", "getMispredictionPenalty", "(", ")", ";", "unsigned", "TUnpredCycles", ",", "FUnpredCycles", ";", "if", "(", "!", "FCycles", ")", "{", "TUnpredCycles", "=", "TCycles", "+", "NotTakenBranchCost", ";", "FUnpredCycles", "=", "TakenBranchCost", ";", "}", "else", "{", "TUnpredCycles", "=", "TCycles", "+", "TakenBranchCost", ";", "FUnpredCycles", "=", "FCycles", "+", "NotTakenBranchCost", ";", "PredCost", "-=", "1", "*", "ScalingUpFactor", ";", "}", "unsigned", "TUnpredCost", "=", "Probability", ".", "scale", "(", "TUnpredCycles", "*", "ScalingUpFactor", ")", ";", "unsigned", "FUnpredCost", "=", "Probability", ".", "getCompl", "(", ")", ".", "scale", "(", "FUnpredCycles", "*", "ScalingUpFactor", ")", ";", "UnpredCost", "=", "TUnpredCost", "+", "FUnpredCost", ";", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "&&", "TCycles", "+", "FCycles", ">", "4", ")", "{", "PredCost", "+=", "(", "(", "TCycles", "+", "FCycles", "-", "4", ")", "/", "4", ")", "*", "ScalingUpFactor", ";", "}", "}", "else", "{", "unsigned", "TUnpredCost", "=", "Probability", ".", "scale", "(", "TCycles", "*", "ScalingUpFactor", ")", ";", "unsigned", "FUnpredCost", "=", "Probability", ".", "getCompl", "(", ")", ".", "scale", "(", "FCycles", "*", "ScalingUpFactor", ")", ";", "UnpredCost", "=", "TUnpredCost", "+", "FUnpredCost", ";", "UnpredCost", "+=", "1", "*", "ScalingUpFactor", ";", "UnpredCost", "+=", "Subtarget", ".", "getMispredictionPenalty", "(", ")", "*", "ScalingUpFactor", "/", "10", ";", "}", "return", "PredCost", "<=", "UnpredCost", ";", "}", ""], "natrual_language": ["Second", "variant", "of", "isProfitableToIfCvt", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "1024", "1", "1", "4", "4", "4", "1", "10"], "File": "ARMBaseInstrInfo10", "Func": "isProfitableToIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9913, "Length": 302} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlot", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "STRrs", ":", "case", "ARM", "::", "t2STRs", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "VSTRS", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VSTR_P0_off", ":", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "1", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getIndex", "(", ")", ";", "return", "ARM", "::", "P0", ";", "}", "break", ";", "case", "ARM", "::", "VST1q64", ":", "case", "ARM", "::", "VST1d64TPseudo", ":", "case", "ARM", "::", "VST1d64QPseudo", ":", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VSTMQIA", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isStoreToStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "store", "to", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "source", "reg", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::STRrs", "ARM::t2STRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::STRi12", "ARM::t2STRi12", "ARM::tSTRspi", "ARM::VSTRD", "ARM::VSTRS", "1", "2", "2", "0", "1", "0", "ARM::VSTR_P0_off", "0", "1", "1", "0", "0", "ARM::P0", "ARM::VST1q64", "ARM::VST1d64TPseudo", "ARM::VST1d64QPseudo", "0", "2", "0", "0", "2", "ARM::VSTMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo10", "Func": "isStoreToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9914, "Length": 419} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlotPostFE", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "SmallVector", "<", "const", "MachineMemOperand", "*", ",", "1", ">", "Accesses", ";", "if", "(", "MI", ".", "mayStore", "(", ")", "&&", "hasStoreToStackSlot", "(", "MI", ",", "Accesses", ")", "&&", "Accesses", ".", "size", "(", ")", "==", "1", ")", "{", "FrameIndex", "=", "cast", "<", "FixedStackPseudoSourceValue", ">", "(", "Accesses", ".", "front", "(", ")", "->", "getPseudoValue", "(", ")", ")", "->", "getFrameIndex", "(", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["isStoreToStackSlotPostFE", "-", "Check", "for", "post-frame", "ptr", "elimination", "stack", "locations", "as", "well", "."], "TS_V_token": ["ARM", "ARM", "1", "1"], "File": "ARMBaseInstrInfo10", "Func": "isStoreToStackSlotPostFE", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9915, "Length": 80} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "shouldSink", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "isPredicated", "(", "MI", ")", ")", "return", "true", ";", "MachineBasicBlock", "::", "const_iterator", "Next", "=", "&", "MI", ";", "++", "Next", ";", "unsigned", "SrcReg", ",", "SrcReg2", ";", "int", "CmpMask", ",", "CmpValue", ";", "bool", "IsThumb1", ";", "if", "(", "Next", "!=", "MI", ".", "getParent", "(", ")", "->", "end", "(", ")", "&&", "analyzeCompare", "(", "*", "Next", ",", "SrcReg", ",", "SrcReg2", ",", "CmpMask", ",", "CmpValue", ")", "&&", "isRedundantFlagInstr", "(", "&", "*", "Next", ",", "SrcReg", ",", "SrcReg2", ",", "CmpValue", ",", "&", "MI", ",", "IsThumb1", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "instruction", "should", "be", "sunk", "by", "MachineSink", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo10", "Func": "shouldSink", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9916, "Length": 99} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "verifyInstruction", "(", "const", "MachineInstr", "&", "MI", ",", "StringRef", "&", "ErrInfo", ")", "const", "{", "if", "(", "convertAddSubFlagsOpcode", "(", "MI", ".", "getOpcode", "(", ")", ")", ")", "{", "ErrInfo", "=", "\"Pseudo flag setting opcodes only exist in Selection DAG\"", ";", "return", "false", ";", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tMOVr", "&&", "!", "Subtarget", ".", "hasV6Ops", "(", ")", ")", "{", "if", "(", "!", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "!", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "{", "ErrInfo", "=", "\"Non-flag-setting Thumb1 mov is v6-only\"", ";", "return", "false", ";", "}", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPUSH", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", ")", "{", "for", "(", "int", "i", "=", "2", ",", "e", "=", "MI", ".", "getNumOperands", "(", ")", ";", "i", "<", "e", ";", "++", "i", ")", "{", "if", "(", "MI", ".", "getOperand", "(", "i", ")", ".", "isImplicit", "(", ")", "||", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isReg", "(", ")", ")", "continue", ";", "unsigned", "Reg", "=", "MI", ".", "getOperand", "(", "i", ")", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "<", "ARM", "::", "R0", "||", "Reg", ">", "ARM", "::", "R7", ")", "{", "if", "(", "!", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPUSH", "&&", "Reg", "==", "ARM", "::", "LR", ")", "&&", "!", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", "&&", "Reg", "==", "ARM", "::", "PC", ")", ")", "{", "ErrInfo", "=", "\"Unsupported register in Thumb1 push/pop\"", ";", "return", "false", ";", "}", "}", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["Perform", "target-specific", "instruction", "verification", "."], "TS_V_token": ["ARM", "ARM", "\"Pseudo flag setting opcodes only exist in Selection DAG\"", "ARM::tMOVr", "ARM::hGPRRegClass", "0", "ARM::hGPRRegClass", "1", "\"Non-flag-setting Thumb1 mov is v6-only\"", "ARM::tPUSH", "ARM::tPOP", "ARM::tPOP_RET", "2", "ARM::R0", "ARM::R7", "ARM::tPUSH", "ARM::LR", "ARM::tPOP_RET", "ARM::PC", "\"Unsupported register in Thumb1 push/pop\""], "File": "ARMBaseInstrInfo10", "Func": "verifyInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9917, "Length": 274} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeBranch", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "*", "&", "TBB", ",", "MachineBasicBlock", "*", "&", "FBB", ",", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Cond", ",", "bool", "AllowModify", ")", "const", "{", "TBB", "=", "nullptr", ";", "FBB", "=", "nullptr", ";", "MachineBasicBlock", "::", "instr_iterator", "I", "=", "MBB", ".", "instr_end", "(", ")", ";", "if", "(", "I", "==", "MBB", ".", "instr_begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "while", "(", "isPredicated", "(", "*", "I", ")", "||", "I", "->", "isTerminator", "(", ")", "||", "I", "->", "isDebugValue", "(", ")", ")", "{", "bool", "CantAnalyze", "=", "false", ";", "while", "(", "I", "->", "isDebugInstr", "(", ")", "||", "!", "I", "->", "isTerminator", "(", ")", "||", "isSpeculationBarrierEndBBOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "I", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2DoLoopStartTP", ")", "{", "if", "(", "I", "==", "MBB", ".", "instr_begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "}", "if", "(", "isIndirectBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isJumpTableBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "CantAnalyze", "=", "true", ";", "}", "else", "if", "(", "isUncondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "TBB", "=", "I", "->", "getOperand", "(", "0", ")", ".", "getMBB", "(", ")", ";", "}", "else", "if", "(", "isCondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "if", "(", "!", "Cond", ".", "empty", "(", ")", ")", "return", "true", ";", "assert", "(", "!", "FBB", "&&", "\"FBB should have been null.\"", ")", ";", "FBB", "=", "TBB", ";", "TBB", "=", "I", "->", "getOperand", "(", "0", ")", ".", "getMBB", "(", ")", ";", "Cond", ".", "push_back", "(", "I", "->", "getOperand", "(", "1", ")", ")", ";", "Cond", ".", "push_back", "(", "I", "->", "getOperand", "(", "2", ")", ")", ";", "}", "else", "if", "(", "I", "->", "isReturn", "(", ")", ")", "{", "CantAnalyze", "=", "true", ";", "}", "else", "{", "return", "true", ";", "}", "if", "(", "!", "isPredicated", "(", "*", "I", ")", "&&", "(", "isUncondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isIndirectBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isJumpTableBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "I", "->", "isReturn", "(", ")", ")", ")", "{", "Cond", ".", "clear", "(", ")", ";", "FBB", "=", "nullptr", ";", "if", "(", "AllowModify", ")", "{", "MachineBasicBlock", "::", "iterator", "DI", "=", "std", "::", "next", "(", "I", ")", ";", "while", "(", "DI", "!=", "MBB", ".", "instr_end", "(", ")", ")", "{", "MachineInstr", "&", "InstToDelete", "=", "*", "DI", ";", "++", "DI", ";", "if", "(", "isSpeculationBarrierEndBBOpcode", "(", "InstToDelete", ".", "getOpcode", "(", ")", ")", ")", "continue", ";", "InstToDelete", ".", "eraseFromParent", "(", ")", ";", "}", "}", "}", "if", "(", "CantAnalyze", ")", "{", "if", "(", "AllowModify", "&&", "!", "isPredicated", "(", "MBB", ".", "back", "(", ")", ")", "&&", "isUncondBranchOpcode", "(", "MBB", ".", "back", "(", ")", ".", "getOpcode", "(", ")", ")", "&&", "TBB", "&&", "MBB", ".", "isLayoutSuccessor", "(", "TBB", ")", ")", "removeBranch", "(", "MBB", ")", ";", "return", "true", ";", "}", "if", "(", "I", "==", "MBB", ".", "instr_begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["analyzeBranch", "-", "Analyze", "the", "branching", "code", "at", "the", "end", "of", "MBB", ",", "returning", "true", "if", "it", "can", "not", "be", "understood", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2DoLoopStartTP", "0", "\"FBB should have been null.\"", "0", "1", "2"], "File": "ARMBaseInstrInfo110", "Func": "analyzeBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9918, "Length": 479} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeCompare", "(", "const", "MachineInstr", "&", "MI", ",", "Register", "&", "SrcReg", ",", "Register", "&", "SrcReg2", ",", "int64_t", "&", "CmpMask", ",", "int64_t", "&", "CmpValue", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "CMPri", ":", "case", "ARM", "::", "t2CMPri", ":", "case", "ARM", "::", "tCMPi8", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "0", ";", "CmpMask", "=", "~", "0", ";", "CmpValue", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "return", "true", ";", "case", "ARM", "::", "CMPrr", ":", "case", "ARM", "::", "t2CMPrr", ":", "case", "ARM", "::", "tCMPr", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "CmpMask", "=", "~", "0", ";", "CmpValue", "=", "0", ";", "return", "true", ";", "case", "ARM", "::", "TSTri", ":", "case", "ARM", "::", "t2TSTri", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "0", ";", "CmpMask", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "CmpValue", "=", "0", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["analyzeCompare", "-", "For", "a", "comparison", "instruction", ",", "return", "the", "source", "registers", "in", "SrcReg", "and", "SrcReg2", "if", "having", "two", "register", "operands", ",", "and", "the", "value", "it", "compares", "against", "in", "CmpValue", "."], "TS_V_token": ["ARM", "ARM", "ARM::CMPri", "ARM::t2CMPri", "ARM::tCMPi8", "0", "0", "0", "1", "ARM::CMPrr", "ARM::t2CMPrr", "ARM::tCMPr", "0", "1", "0", "0", "ARM::TSTri", "ARM::t2TSTri", "0", "0", "1", "0"], "File": "ARMBaseInstrInfo110", "Func": "analyzeCompare", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9919, "Length": 199} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "breakPartialRegDependency", "(", "MachineInstr", "&", "MI", ",", "unsigned", "OpNum", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "OpNum", "<", "MI", ".", "getDesc", "(", ")", ".", "getNumDefs", "(", ")", "&&", "\"OpNum is not a def\"", ")", ";", "assert", "(", "TRI", "&&", "\"Need TRI instance\"", ")", ";", "const", "MachineOperand", "&", "MO", "=", "MI", ".", "getOperand", "(", "OpNum", ")", ";", "Register", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "assert", "(", "Register", "::", "isPhysicalRegister", "(", "Reg", ")", "&&", "\"Can't break virtual register dependencies.\"", ")", ";", "unsigned", "DReg", "=", "Reg", ";", "if", "(", "ARM", "::", "SPRRegClass", ".", "contains", "(", "Reg", ")", ")", "{", "DReg", "=", "ARM", "::", "D0", "+", "(", "Reg", "-", "ARM", "::", "S0", ")", "/", "2", ";", "assert", "(", "TRI", "->", "isSuperRegister", "(", "Reg", ",", "DReg", ")", "&&", "\"Register enums broken\"", ")", ";", "}", "assert", "(", "ARM", "::", "DPRRegClass", ".", "contains", "(", "DReg", ")", "&&", "\"Can only break D-reg deps\"", ")", ";", "assert", "(", "MI", ".", "definesRegister", "(", "DReg", ",", "TRI", ")", "&&", "\"MI doesn't clobber full D-reg\"", ")", ";", "BuildMI", "(", "*", "MI", ".", "getParent", "(", ")", ",", "MI", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "get", "(", "ARM", "::", "FCONSTD", ")", ",", "DReg", ")", ".", "addImm", "(", "96", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "MI", ".", "addRegisterKilled", "(", "DReg", ",", "TRI", ",", "true", ")", ";", "}", ""], "natrual_language": ["Insert", "a", "dependency-breaking", "instruction", "before", "MI", "to", "eliminate", "an", "unwanted", "dependency", "on", "OpNum", "."], "TS_V_token": ["ARM", "ARM", "\"OpNum is not a def\"", "\"Need TRI instance\"", "\"Can't break virtual register dependencies.\"", "ARM::SPRRegClass", "ARM::D0", "ARM::S0", "2", "\"Register enums broken\"", "ARM::DPRRegClass", "\"Can only break D-reg deps\"", "\"MI doesn't clobber full D-reg\"", "ARM::FCONSTD", "96", "ARMCC::AL"], "File": "ARMBaseInstrInfo110", "Func": "breakPartialRegDependency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9920, "Length": 206} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "buildOutlinedFrame", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "OutlinedFunction", "&", "OF", ")", "const", "{", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "{", "MachineInstr", "*", "Call", "=", "&", "*", "--", "MBB", ".", "instr_end", "(", ")", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "unsigned", "FuncOp", "=", "isThumb", "?", "2", ":", "0", ";", "unsigned", "Opc", "=", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", "?", "isThumb", "?", "ARM", "::", "tTAILJMPr", ":", "ARM", "::", "TAILJMPr", ":", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "add", "(", "Call", "->", "getOperand", "(", "FuncOp", ")", ")", ";", "if", "(", "isThumb", "&&", "!", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "Call", "->", "eraseFromParent", "(", ")", ";", "}", "auto", "IsNonTailCall", "=", "[", "]", "(", "MachineInstr", "&", "MI", ")", "{", "return", "MI", ".", "isCall", "(", ")", "&&", "!", "MI", ".", "isReturn", "(", ")", ";", "}", ";", "if", "(", "llvm", "::", "any_of", "(", "MBB", ".", "instrs", "(", ")", ",", "IsNonTailCall", ")", ")", "{", "MachineBasicBlock", "::", "iterator", "It", "=", "MBB", ".", "begin", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "Et", "=", "MBB", ".", "end", "(", ")", ";", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerTailCall", "||", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "Et", "=", "std", "::", "prev", "(", "MBB", ".", "end", "(", ")", ")", ";", "if", "(", "!", "MBB", ".", "isLiveIn", "(", "ARM", "::", "LR", ")", ")", "MBB", ".", "addLiveIn", "(", "ARM", "::", "LR", ")", ";", "saveLROnStack", "(", "MBB", ",", "It", ")", ";", "emitCFIForLRSaveOnStack", "(", "MBB", ",", "It", ")", ";", "assert", "(", "OF", ".", "FrameConstructionID", "!=", "MachineOutlinerDefault", "&&", "\"Can only fix up stack references once\"", ")", ";", "fixupPostOutline", "(", "MBB", ")", ";", "restoreLRFromStack", "(", "MBB", ",", "Et", ")", ";", "emitCFIForLRRestoreFromStack", "(", "MBB", ",", "Et", ")", ";", "}", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerTailCall", "||", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "return", ";", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Subtarget", ".", "getReturnOpcode", "(", ")", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "OF", ".", "FrameConstructionID", "!=", "MachineOutlinerDefault", "&&", "OF", ".", "Candidates", "[", "0", "]", ".", "CallConstructionID", "!=", "MachineOutlinerDefault", ")", "return", ";", "fixupPostOutline", "(", "MBB", ")", ";", "}", ""], "natrual_language": ["Insert", "a", "custom", "frame", "for", "outlined", "functions", "."], "TS_V_token": ["ARM", "ARM", "2", "0", "ARM::tTAILJMPr", "ARM::TAILJMPr", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARM::LR", "ARM::LR", "\"Can only fix up stack references once\"", "ARMCC::AL", "0"], "File": "ARMBaseInstrInfo110", "Func": "buildOutlinedFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9921, "Length": 409} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "ClobbersPredicate", "(", "MachineInstr", "&", "MI", ",", "std", "::", "vector", "<", "MachineOperand", ">", "&", "Pred", ",", "bool", "SkipDead", ")", "const", "{", "bool", "Found", "=", "false", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "MI", ".", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "MI", ".", "getOperand", "(", "i", ")", ";", "bool", "ClobbersCPSR", "=", "MO", ".", "isRegMask", "(", ")", "&&", "MO", ".", "clobbersPhysReg", "(", "ARM", "::", "CPSR", ")", ";", "bool", "IsCPSR", "=", "MO", ".", "isReg", "(", ")", "&&", "MO", ".", "isDef", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", ";", "if", "(", "ClobbersCPSR", "||", "IsCPSR", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "if", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "ThumbArithFlagSetting", "&&", "MO", ".", "isDead", "(", ")", "&&", "SkipDead", ")", "continue", ";", "Pred", ".", "push_back", "(", "MO", ")", ";", "Found", "=", "true", ";", "}", "}", "return", "Found", ";", "}", ""], "natrual_language": ["If", "the", "specified", "instruction", "defines", "any", "predicate", "or", "condition", "code", "register", "(", "s", ")", "used", "for", "predication", ",", "returns", "true", "as", "well", "as", "the", "definition", "predicate", "(", "s", ")", "by", "reference", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::CPSR", "ARM::CPSR", "ARMII::ThumbArithFlagSetting"], "File": "ARMBaseInstrInfo110", "Func": "ClobbersPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9922, "Length": 161} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "commuteInstructionImpl", "(", "MachineInstr", "&", "MI", ",", "bool", "NewMI", ",", "unsigned", "OpIdx1", ",", "unsigned", "OpIdx2", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "MOVCCr", ":", "case", "ARM", "::", "t2MOVCCr", ":", "{", "Register", "PredReg", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "MI", ",", "PredReg", ")", ";", "if", "(", "CC", "==", "ARMCC", "::", "AL", "||", "PredReg", "!=", "ARM", "::", "CPSR", ")", "return", "nullptr", ";", "MachineInstr", "*", "CommutedMI", "=", "TargetInstrInfo", "::", "commuteInstructionImpl", "(", "MI", ",", "NewMI", ",", "OpIdx1", ",", "OpIdx2", ")", ";", "if", "(", "!", "CommutedMI", ")", "return", "nullptr", ";", "CommutedMI", "->", "getOperand", "(", "CommutedMI", "->", "findFirstPredOperandIdx", "(", ")", ")", ".", "setImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "CC", ")", ")", ";", "return", "CommutedMI", ";", "}", "}", "return", "TargetInstrInfo", "::", "commuteInstructionImpl", "(", "MI", ",", "NewMI", ",", "OpIdx1", ",", "OpIdx2", ")", ";", "}", ""], "natrual_language": ["Commutes", "the", "operands", "in", "the", "given", "instruction", "by", "changing", "the", "operands", "order", "and/or", "changing", "the", "instruction", "'s", "opcode", "and/or", "the", "immediate", "value", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "ARMCC::CondCodes", "ARMCC::AL", "ARM::CPSR", "ARMCC::getOppositeCondition"], "File": "ARMBaseInstrInfo110", "Func": "commuteInstructionImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9923, "Length": 139} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "ARMBaseInstrInfo", "::", "CreateTargetMIHazardRecognizer", "(", "const", "InstrItineraryData", "*", "II", ",", "const", "ScheduleDAGMI", "*", "DAG", ")", "const", "{", "MultiHazardRecognizer", "*", "MHR", "=", "new", "MultiHazardRecognizer", "(", ")", ";", "if", "(", "Subtarget", ".", "isCortexM7", "(", ")", "&&", "!", "DAG", "->", "hasVRegLiveness", "(", ")", ")", "MHR", "->", "AddHazardRecognizer", "(", "std", "::", "make_unique", "<", "ARMBankConflictHazardRecognizer", ">", "(", "DAG", ",", "0x4", ",", "true", ")", ")", ";", "auto", "BHR", "=", "TargetInstrInfo", "::", "CreateTargetMIHazardRecognizer", "(", "II", ",", "DAG", ")", ";", "MHR", "->", "AddHazardRecognizer", "(", "std", "::", "unique_ptr", "<", "ScheduleHazardRecognizer", ">", "(", "BHR", ")", ")", ";", "return", "MHR", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "this", "target", "when", "scheduling", "the", "machine", "instructions", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0x4"], "File": "ARMBaseInstrInfo110", "Func": "CreateTargetMIHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9924, "Length": 92} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "ARMBaseInstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "const", "InstrItineraryData", "*", "II", ",", "const", "ScheduleDAG", "*", "DAG", ")", "const", "{", "MultiHazardRecognizer", "*", "MHR", "=", "new", "MultiHazardRecognizer", "(", ")", ";", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "||", "Subtarget", ".", "hasVFP2Base", "(", ")", ")", "MHR", "->", "AddHazardRecognizer", "(", "std", "::", "make_unique", "<", "ARMHazardRecognizerFPMLx", ">", "(", ")", ")", ";", "auto", "BHR", "=", "TargetInstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "II", ",", "DAG", ")", ";", "if", "(", "BHR", ")", "MHR", "->", "AddHazardRecognizer", "(", "std", "::", "unique_ptr", "<", "ScheduleHazardRecognizer", ">", "(", "BHR", ")", ")", ";", "return", "MHR", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "by", "non-scheduling", "passes", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMBaseInstrInfo110", "Func": "CreateTargetPostRAHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9925, "Length": 90} {"ground_truth": ["", "Optional", "<", "ParamLoadedValue", ">", "ARMBaseInstrInfo", "::", "describeLoadedValue", "(", "const", "MachineInstr", "&", "MI", ",", "Register", "Reg", ")", "const", "{", "if", "(", "auto", "DstSrcPair", "=", "isCopyInstrImpl", "(", "MI", ")", ")", "{", "Register", "DstReg", "=", "DstSrcPair", "->", "Destination", "->", "getReg", "(", ")", ";", "if", "(", "DstReg", "!=", "Reg", ")", "return", "None", ";", "}", "return", "TargetInstrInfo", "::", "describeLoadedValue", "(", "MI", ",", "Reg", ")", ";", "}", ""], "natrual_language": ["Produce", "the", "expression", "describing", "the", "MI", "loading", "a", "value", "into", "the", "physical", "register", "Reg", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo110", "Func": "describeLoadedValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9926, "Length": 61} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "TargetOpcode", "::", "LOAD_STACK_GUARD", ")", "{", "assert", "(", "getSubtarget", "(", ")", ".", "getTargetTriple", "(", ")", ".", "isOSBinFormatMachO", "(", ")", "&&", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", ")", ";", "expandLoadStackGuard", "(", "MI", ")", ";", "MI", ".", "getParent", "(", ")", "->", "erase", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MEMCPY", ")", "{", "expandMEMCPY", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "!", "MI", ".", "isCopy", "(", ")", "||", "Subtarget", ".", "dontWidenVMOVS", "(", ")", "||", "!", "Subtarget", ".", "hasFP64", "(", ")", ")", "return", "false", ";", "Register", "DstRegS", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "Register", "SrcRegS", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", ".", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", ".", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "MI", ")", ";", "MachineInstrBuilder", "MIB", "(", "*", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", ".", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", ".", "RemoveOperand", "(", "ImpDefIdx", ")", ";", "MI", ".", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", ".", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MIB", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", ".", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", "ARM::MEMCPY", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "ARMCC::AL", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo110", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9927, "Length": 427} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "extraSizeToPredicateInstructions", "(", "const", "MachineFunction", "&", "MF", ",", "unsigned", "NumInsts", ")", "const", "{", "if", "(", "!", "Subtarget", ".", "isThumb2", "(", ")", ")", "return", "0", ";", "unsigned", "MaxInsts", "=", "Subtarget", ".", "restrictIT", "(", ")", "?", "1", ":", "4", ";", "return", "divideCeil", "(", "NumInsts", ",", "MaxInsts", ")", "*", "2", ";", "}", ""], "natrual_language": ["Return", "the", "increase", "in", "code", "size", "needed", "to", "predicate", "a", "contiguous", "run", "of", "NumInsts", "instructions", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "4", "2"], "File": "ARMBaseInstrInfo110", "Func": "extraSizeToPredicateInstructions", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9928, "Length": 51} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "getInsertSubregLikeInputs", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "DefIdx", ",", "RegSubRegPair", "&", "BaseReg", ",", "RegSubRegPairAndIdx", "&", "InsertedReg", ")", "const", "{", "assert", "(", "DefIdx", "<", "MI", ".", "getDesc", "(", ")", ".", "getNumDefs", "(", ")", "&&", "\"Invalid definition index\"", ")", ";", "assert", "(", "MI", ".", "isInsertSubregLike", "(", ")", "&&", "\"Invalid kind of instruction\"", ")", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "VSETLNi32", ":", "case", "ARM", "::", "MVE_VMOV_to_lane_32", ":", "const", "MachineOperand", "&", "MOBaseReg", "=", "MI", ".", "getOperand", "(", "1", ")", ";", "const", "MachineOperand", "&", "MOInsertedReg", "=", "MI", ".", "getOperand", "(", "2", ")", ";", "if", "(", "MOInsertedReg", ".", "isUndef", "(", ")", ")", "return", "false", ";", "const", "MachineOperand", "&", "MOIndex", "=", "MI", ".", "getOperand", "(", "3", ")", ";", "BaseReg", ".", "Reg", "=", "MOBaseReg", ".", "getReg", "(", ")", ";", "BaseReg", ".", "SubReg", "=", "MOBaseReg", ".", "getSubReg", "(", ")", ";", "InsertedReg", ".", "Reg", "=", "MOInsertedReg", ".", "getReg", "(", ")", ";", "InsertedReg", ".", "SubReg", "=", "MOInsertedReg", ".", "getSubReg", "(", ")", ";", "InsertedReg", ".", "SubIdx", "=", "ARM", "::", "ssub_0", "+", "MOIndex", ".", "getImm", "(", ")", ";", "return", "true", ";", "}", "llvm_unreachable", "(", "\"Target dependent opcode missing\"", ")", ";", "}", ""], "natrual_language": ["Target-dependent", "implementation", "of", "getInsertSubregInputs", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid definition index\"", "\"Invalid kind of instruction\"", "ARM::VSETLNi32", "ARM::MVE_VMOV_to_lane_32", "1", "2", "3", "ARM::ssub_0", "\"Target dependent opcode missing\""], "File": "ARMBaseInstrInfo110", "Func": "getInsertSubregLikeInputs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9929, "Length": 181} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getInstrLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "&", "MI", ",", "unsigned", "*", "PredCost", ")", "const", "{", "if", "(", "MI", ".", "isCopyLike", "(", ")", "||", "MI", ".", "isInsertSubreg", "(", ")", "||", "MI", ".", "isRegSequence", "(", ")", "||", "MI", ".", "isImplicitDef", "(", ")", ")", "return", "1", ";", "if", "(", "MI", ".", "isBundle", "(", ")", ")", "{", "unsigned", "Latency", "=", "0", ";", "MachineBasicBlock", "::", "const_instr_iterator", "I", "=", "MI", ".", "getIterator", "(", ")", ";", "MachineBasicBlock", "::", "const_instr_iterator", "E", "=", "MI", ".", "getParent", "(", ")", "->", "instr_end", "(", ")", ";", "while", "(", "++", "I", "!=", "E", "&&", "I", "->", "isInsideBundle", "(", ")", ")", "{", "if", "(", "I", "->", "getOpcode", "(", ")", "!=", "ARM", "::", "t2IT", ")", "Latency", "+=", "getInstrLatency", "(", "ItinData", ",", "*", "I", ",", "PredCost", ")", ";", "}", "return", "Latency", ";", "}", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "if", "(", "PredCost", "&&", "(", "MCID", ".", "isCall", "(", ")", "||", "(", "MCID", ".", "hasImplicitDefOfPhysReg", "(", "ARM", "::", "CPSR", ")", "&&", "!", "Subtarget", ".", "cheapPredicableCPSRDef", "(", ")", ")", ")", ")", "{", "*", "PredCost", "=", "1", ";", "}", "if", "(", "!", "ItinData", ")", "return", "MI", ".", "mayLoad", "(", ")", "?", "3", ":", "1", ";", "unsigned", "Class", "=", "MCID", ".", "getSchedClass", "(", ")", ";", "if", "(", "!", "ItinData", "->", "isEmpty", "(", ")", "&&", "ItinData", "->", "getNumMicroOps", "(", "Class", ")", "<", "0", ")", "return", "getNumMicroOps", "(", "ItinData", ",", "MI", ")", ";", "unsigned", "Latency", "=", "ItinData", "->", "getStageLatency", "(", "Class", ")", ";", "unsigned", "DefAlign", "=", "MI", ".", "hasOneMemOperand", "(", ")", "?", "(", "*", "MI", ".", "memoperands_begin", "(", ")", ")", "->", "getAlign", "(", ")", ".", "value", "(", ")", ":", "0", ";", "int", "Adj", "=", "adjustDefLatency", "(", "Subtarget", ",", "MI", ",", "MCID", ",", "DefAlign", ")", ";", "if", "(", "Adj", ">=", "0", "||", "(", "int", ")", "Latency", ">", "-", "Adj", ")", "{", "return", "Latency", "+", "Adj", ";", "}", "return", "Latency", ";", "}", ""], "natrual_language": ["Compute", "the", "instruction", "latency", "of", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "ARM::t2IT", "ARM::CPSR", "1", "3", "1", "0", "0", "0"], "File": "ARMBaseInstrInfo110", "Func": "getInstrLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9930, "Length": 309} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getInstSizeInBytes", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "const", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "const", "MachineFunction", "*", "MF", "=", "MBB", ".", "getParent", "(", ")", ";", "const", "MCAsmInfo", "*", "MAI", "=", "MF", "->", "getTarget", "(", ")", ".", "getMCAsmInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "if", "(", "MCID", ".", "getSize", "(", ")", ")", "return", "MCID", ".", "getSize", "(", ")", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "return", "0", ";", "case", "TargetOpcode", "::", "BUNDLE", ":", "return", "getInstBundleLength", "(", "MI", ")", ";", "case", "ARM", "::", "MOVi16_ga_pcrel", ":", "case", "ARM", "::", "MOVTi16_ga_pcrel", ":", "case", "ARM", "::", "t2MOVi16_ga_pcrel", ":", "case", "ARM", "::", "t2MOVTi16_ga_pcrel", ":", "return", "4", ";", "case", "ARM", "::", "MOVi32imm", ":", "case", "ARM", "::", "t2MOVi32imm", ":", "return", "8", ";", "case", "ARM", "::", "CONSTPOOL_ENTRY", ":", "case", "ARM", "::", "JUMPTABLE_INSTS", ":", "case", "ARM", "::", "JUMPTABLE_ADDRS", ":", "case", "ARM", "::", "JUMPTABLE_TBB", ":", "case", "ARM", "::", "JUMPTABLE_TBH", ":", "return", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", ";", "case", "ARM", "::", "Int_eh_sjlj_longjmp", ":", "return", "16", ";", "case", "ARM", "::", "tInt_eh_sjlj_longjmp", ":", "return", "10", ";", "case", "ARM", "::", "tInt_WIN_eh_sjlj_longjmp", ":", "return", "12", ";", "case", "ARM", "::", "Int_eh_sjlj_setjmp", ":", "case", "ARM", "::", "Int_eh_sjlj_setjmp_nofp", ":", "return", "20", ";", "case", "ARM", "::", "tInt_eh_sjlj_setjmp", ":", "case", "ARM", "::", "t2Int_eh_sjlj_setjmp", ":", "case", "ARM", "::", "t2Int_eh_sjlj_setjmp_nofp", ":", "return", "12", ";", "case", "ARM", "::", "SPACE", ":", "return", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "case", "ARM", "::", "INLINEASM", ":", "case", "ARM", "::", "INLINEASM_BR", ":", "{", "unsigned", "Size", "=", "getInlineAsmLength", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getSymbolName", "(", ")", ",", "*", "MAI", ")", ";", "if", "(", "!", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isThumbFunction", "(", ")", ")", "Size", "=", "alignTo", "(", "Size", ",", "4", ")", ";", "return", "Size", ";", "}", "case", "ARM", "::", "SpeculationBarrierISBDSBEndBB", ":", "case", "ARM", "::", "t2SpeculationBarrierISBDSBEndBB", ":", "return", "8", ";", "case", "ARM", "::", "SpeculationBarrierSBEndBB", ":", "case", "ARM", "::", "t2SpeculationBarrierSBEndBB", ":", "return", "4", ";", "}", "}", ""], "natrual_language": ["Returns", "the", "size", "in", "bytes", "of", "the", "specified", "MachineInstr", ",", "or", "~0U", "when", "this", "function", "is", "not", "implemented", "by", "a", "target", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::MOVi16_ga_pcrel", "ARM::MOVTi16_ga_pcrel", "ARM::t2MOVi16_ga_pcrel", "ARM::t2MOVTi16_ga_pcrel", "4", "ARM::MOVi32imm", "ARM::t2MOVi32imm", "8", "ARM::CONSTPOOL_ENTRY", "ARM::JUMPTABLE_INSTS", "ARM::JUMPTABLE_ADDRS", "ARM::JUMPTABLE_TBB", "ARM::JUMPTABLE_TBH", "2", "ARM::Int_eh_sjlj_longjmp", "16", "ARM::tInt_eh_sjlj_longjmp", "10", "ARM::tInt_WIN_eh_sjlj_longjmp", "12", "ARM::Int_eh_sjlj_setjmp", "ARM::Int_eh_sjlj_setjmp_nofp", "20", "ARM::tInt_eh_sjlj_setjmp", "ARM::t2Int_eh_sjlj_setjmp", "ARM::t2Int_eh_sjlj_setjmp_nofp", "12", "ARM::SPACE", "1", "ARM::INLINEASM", "ARM::INLINEASM_BR", "0", "ARM", "4", "ARM::SpeculationBarrierISBDSBEndBB", "ARM::t2SpeculationBarrierISBDSBEndBB", "8", "ARM::SpeculationBarrierSBEndBB", "ARM::t2SpeculationBarrierSBEndBB", "4"], "File": "ARMBaseInstrInfo110", "Func": "getInstSizeInBytes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9931, "Length": 334} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getPartialRegUpdateClearance", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "OpNum", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "auto", "PartialUpdateClearance", "=", "Subtarget", ".", "getPartialUpdateClearance", "(", ")", ";", "if", "(", "!", "PartialUpdateClearance", ")", "return", "0", ";", "assert", "(", "TRI", "&&", "\"Need TRI instance\"", ")", ";", "const", "MachineOperand", "&", "MO", "=", "MI", ".", "getOperand", "(", "OpNum", ")", ";", "if", "(", "MO", ".", "readsReg", "(", ")", ")", "return", "0", ";", "Register", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "int", "UseOp", "=", "-", "1", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "FCONSTS", ":", "case", "ARM", "::", "VMOVSR", ":", "case", "ARM", "::", "VMOVv8i8", ":", "case", "ARM", "::", "VMOVv4i16", ":", "case", "ARM", "::", "VMOVv2i32", ":", "case", "ARM", "::", "VMOVv2f32", ":", "case", "ARM", "::", "VMOVv1i64", ":", "UseOp", "=", "MI", ".", "findRegisterUseOperandIdx", "(", "Reg", ",", "false", ",", "TRI", ")", ";", "break", ";", "case", "ARM", "::", "VLD1LNd32", ":", "UseOp", "=", "3", ";", "break", ";", "default", ":", "return", "0", ";", "}", "if", "(", "UseOp", "!=", "-", "1", "&&", "MI", ".", "getOperand", "(", "UseOp", ")", ".", "readsReg", "(", ")", ")", "return", "0", ";", "if", "(", "Register", "::", "isVirtualRegister", "(", "Reg", ")", ")", "{", "if", "(", "!", "MO", ".", "getSubReg", "(", ")", "||", "MI", ".", "readsVirtualRegister", "(", "Reg", ")", ")", "return", "0", ";", "}", "else", "if", "(", "ARM", "::", "SPRRegClass", ".", "contains", "(", "Reg", ")", ")", "{", "unsigned", "DReg", "=", "TRI", "->", "getMatchingSuperReg", "(", "Reg", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DReg", "||", "!", "MI", ".", "definesRegister", "(", "DReg", ",", "TRI", ")", ")", "return", "0", ";", "}", "return", "PartialUpdateClearance", ";", "}", ""], "natrual_language": ["Inform", "the", "BreakFalseDeps", "pass", "how", "many", "idle", "instructions", "we", "would", "like", "before", "a", "partial", "register", "update", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Need TRI instance\"", "0", "1", "ARM::VLDRS", "ARM::FCONSTS", "ARM::VMOVSR", "ARM::VMOVv8i8", "ARM::VMOVv4i16", "ARM::VMOVv2i32", "ARM::VMOVv2f32", "ARM::VMOVv1i64", "ARM::VLD1LNd32", "3", "0", "1", "0", "0", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0"], "File": "ARMBaseInstrInfo110", "Func": "getPartialRegUpdateClearance", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9932, "Length": 269} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "ARMBaseInstrInfo", "::", "insertOutlinedCall", "(", "Module", "&", "M", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "It", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "Candidate", "&", "C", ")", "const", "{", "MachineInstrBuilder", "MIB", ";", "MachineBasicBlock", "::", "iterator", "CallPt", ";", "unsigned", "Opc", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerTailCall", ")", "{", "Opc", "=", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "isThumb", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "It", "=", "MBB", ".", "insert", "(", "It", ",", "MIB", ")", ";", "return", "It", ";", "}", "Opc", "=", "isThumb", "?", "ARM", "::", "tBL", ":", "ARM", "::", "BL", ";", "MachineInstrBuilder", "CallMIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ";", "if", "(", "isThumb", ")", "CallMIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "CallMIB", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerNoLRSave", "||", "C", ".", "CallConstructionID", "==", "MachineOutlinerThunk", ")", "{", "It", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "return", "It", ";", "}", "const", "ARMFunctionInfo", "&", "AFI", "=", "*", "C", ".", "getMF", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerRegSave", ")", "{", "unsigned", "Reg", "=", "findRegisterToSaveLRTo", "(", "C", ")", ";", "assert", "(", "Reg", "!=", "0", "&&", "\"No callee-saved register available?\"", ")", ";", "copyPhysReg", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "Reg", ",", "ARM", "::", "LR", ",", "true", ")", ";", "if", "(", "!", "AFI", ".", "isLRSpilled", "(", ")", ")", "emitCFIForLRSaveToReg", "(", "MBB", ",", "It", ",", "Reg", ")", ";", "CallPt", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "copyPhysReg", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "ARM", "::", "LR", ",", "Reg", ",", "true", ")", ";", "if", "(", "!", "AFI", ".", "isLRSpilled", "(", ")", ")", "emitCFIForLRRestoreFromReg", "(", "MBB", ",", "It", ")", ";", "It", "--", ";", "return", "CallPt", ";", "}", "if", "(", "!", "MBB", ".", "isLiveIn", "(", "ARM", "::", "LR", ")", ")", "MBB", ".", "addLiveIn", "(", "ARM", "::", "LR", ")", ";", "saveLROnStack", "(", "MBB", ",", "It", ")", ";", "if", "(", "!", "AFI", ".", "isLRSpilled", "(", ")", ")", "emitCFIForLRSaveOnStack", "(", "MBB", ",", "It", ")", ";", "CallPt", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "restoreLRFromStack", "(", "MBB", ",", "It", ")", ";", "if", "(", "!", "AFI", ".", "isLRSpilled", "(", ")", ")", "emitCFIForLRRestoreFromStack", "(", "MBB", ",", "It", ")", ";", "It", "--", ";", "return", "CallPt", ";", "}", ""], "natrual_language": ["Insert", "a", "call", "to", "an", "outlined", "function", "into", "the", "program", "."], "TS_V_token": ["ARM", "ARM", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARM::tBL", "ARM::BL", "ARMCC::AL", "ARM", "ARM", "0", "\"No callee-saved register available?\"", "ARM::LR", "ARM::LR", "ARM::LR", "ARM::LR"], "File": "ARMBaseInstrInfo110", "Func": "insertOutlinedCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9933, "Length": 457} {"ground_truth": ["", "Optional", "<", "RegImmPair", ">", "ARMBaseInstrInfo", "::", "isAddImmediate", "(", "const", "MachineInstr", "&", "MI", ",", "Register", "Reg", ")", "const", "{", "int", "Sign", "=", "1", ";", "unsigned", "Opcode", "=", "MI", ".", "getOpcode", "(", ")", ";", "int64_t", "Offset", "=", "0", ";", "const", "MachineOperand", "&", "Op0", "=", "MI", ".", "getOperand", "(", "0", ")", ";", "if", "(", "!", "Op0", ".", "isReg", "(", ")", "||", "Reg", "!=", "Op0", ".", "getReg", "(", ")", ")", "return", "None", ";", "if", "(", "Opcode", "==", "ARM", "::", "SUBri", ")", "Sign", "=", "-", "1", ";", "else", "if", "(", "Opcode", "!=", "ARM", "::", "ADDri", ")", "return", "None", ";", "if", "(", "!", "MI", ".", "getOperand", "(", "1", ")", ".", "isReg", "(", ")", "||", "!", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", ")", "return", "None", ";", "Offset", "=", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "*", "Sign", ";", "return", "RegImmPair", "{", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "Offset", "}", ";", "}", ""], "natrual_language": ["If", "the", "specific", "machine", "instruction", "is", "an", "instruction", "that", "adds", "an", "immediate", "value", "and", "a", "register", ",", "and", "stores", "the", "result", "in", "the", "given", "register", "Reg", ",", "return", "a", "pair", "of", "the", "source", "register", "and", "the", "offset", "which", "has", "been", "added", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0", "ARM::SUBri", "1", "ARM::ADDri", "1", "2", "2", "1"], "File": "ARMBaseInstrInfo110", "Func": "isAddImmediate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9934, "Length": 156} {"ground_truth": ["", "Optional", "<", "DestSourcePair", ">", "ARMBaseInstrInfo", "::", "isCopyInstrImpl", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "!", "MI", ".", "isMoveReg", "(", ")", "||", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "VORRq", "&&", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", "!=", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ")", "return", "None", ";", "return", "DestSourcePair", "{", "MI", ".", "getOperand", "(", "0", ")", ",", "MI", ".", "getOperand", "(", "1", ")", "}", ";", "}", ""], "natrual_language": ["If", "the", "specific", "machine", "instruction", "is", "a", "instruction", "that", "moves/copies", "value", "from", "one", "register", "to", "another", "register", "return", "destination", "and", "source", "registers", "as", "machine", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::VORRq", "1", "2", "0", "1"], "File": "ARMBaseInstrInfo110", "Func": "isCopyInstrImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9935, "Length": 80} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isFunctionSafeToOutlineFrom", "(", "MachineFunction", "&", "MF", ",", "bool", "OutlineFromLinkOnceODRs", ")", "const", "{", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "if", "(", "!", "OutlineFromLinkOnceODRs", "&&", "F", ".", "hasLinkOnceODRLinkage", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "hasSection", "(", ")", ")", "return", "false", ";", "if", "(", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isThumb1OnlyFunction", "(", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "function", "can", "safely", "be", "outlined", "from", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMBaseInstrInfo110", "Func": "isFunctionSafeToOutlineFrom", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9936, "Length": 72} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlot", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDRrs", ":", "case", "ARM", "::", "t2LDRs", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "tLDRspi", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "VLDR_P0_off", ":", "case", "ARM", "::", "MVE_VLDRWU32", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLD1q64", ":", "case", "ARM", "::", "VLD1d8TPseudo", ":", "case", "ARM", "::", "VLD1d16TPseudo", ":", "case", "ARM", "::", "VLD1d32TPseudo", ":", "case", "ARM", "::", "VLD1d64TPseudo", ":", "case", "ARM", "::", "VLD1d8QPseudo", ":", "case", "ARM", "::", "VLD1d16QPseudo", ":", "case", "ARM", "::", "VLD1d32QPseudo", ":", "case", "ARM", "::", "VLD1d64QPseudo", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLDMQIA", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "MQQPRLoad", ":", "case", "ARM", "::", "MQQQQPRLoad", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isLoadFromStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "load", "from", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "destination", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDRrs", "ARM::t2LDRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::LDRi12", "ARM::t2LDRi12", "ARM::tLDRspi", "ARM::VLDRD", "ARM::VLDRS", "ARM::VLDR_P0_off", "ARM::MVE_VLDRWU32", "1", "2", "2", "0", "1", "0", "ARM::VLD1q64", "ARM::VLD1d8TPseudo", "ARM::VLD1d16TPseudo", "ARM::VLD1d32TPseudo", "ARM::VLD1d64TPseudo", "ARM::VLD1d8QPseudo", "ARM::VLD1d16QPseudo", "ARM::VLD1d32QPseudo", "ARM::VLD1d64QPseudo", "1", "0", "0", "1", "0", "ARM::VLDMQIA", "1", "0", "0", "1", "0", "ARM::MQQPRLoad", "ARM::MQQQQPRLoad", "1", "1", "0", "0"], "File": "ARMBaseInstrInfo110", "Func": "isLoadFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9937, "Length": 447} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isMBBSafeToOutlineFrom", "(", "MachineBasicBlock", "&", "MBB", ",", "unsigned", "&", "Flags", ")", "const", "{", "assert", "(", "MBB", ".", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ".", "tracksLiveness", "(", ")", "&&", "\"Suitable Machine Function for outlining must track liveness\"", ")", ";", "LiveRegUnits", "LRU", "(", "getRegisterInfo", "(", ")", ")", ";", "std", "::", "for_each", "(", "MBB", ".", "rbegin", "(", ")", ",", "MBB", ".", "rend", "(", ")", ",", "[", "&", "LRU", "]", "(", "MachineInstr", "&", "MI", ")", "{", "LRU", ".", "accumulate", "(", "MI", ")", ";", "}", ")", ";", "bool", "R12AvailableInBlock", "=", "LRU", ".", "available", "(", "ARM", "::", "R12", ")", ";", "bool", "CPSRAvailableInBlock", "=", "LRU", ".", "available", "(", "ARM", "::", "CPSR", ")", ";", "if", "(", "R12AvailableInBlock", "&&", "CPSRAvailableInBlock", ")", "Flags", "|=", "MachineOutlinerMBBFlags", "::", "UnsafeRegsDead", ";", "LRU", ".", "addLiveOuts", "(", "MBB", ")", ";", "if", "(", "R12AvailableInBlock", "&&", "!", "LRU", ".", "available", "(", "ARM", "::", "R12", ")", ")", "return", "false", ";", "if", "(", "CPSRAvailableInBlock", "&&", "!", "LRU", ".", "available", "(", "ARM", "::", "CPSR", ")", ")", "return", "false", ";", "if", "(", "any_of", "(", "MBB", ",", "[", "]", "(", "MachineInstr", "&", "MI", ")", "{", "return", "MI", ".", "isCall", "(", ")", ";", "}", ")", ")", "Flags", "|=", "MachineOutlinerMBBFlags", "::", "HasCalls", ";", "bool", "LRIsAvailable", "=", "MBB", ".", "isReturnBlock", "(", ")", "&&", "!", "MBB", ".", "back", "(", ")", ".", "isCall", "(", ")", "?", "isLRAvailable", "(", "getRegisterInfo", "(", ")", ",", "MBB", ".", "rbegin", "(", ")", ",", "MBB", ".", "rend", "(", ")", ")", ":", "LRU", ".", "available", "(", "ARM", "::", "LR", ")", ";", "if", "(", "!", "LRIsAvailable", ")", "Flags", "|=", "MachineOutlinerMBBFlags", "::", "LRUnavailableSomewhere", ";", "return", "true", ";", "}", ""], "natrual_language": ["Optional", "target", "hook", "that", "returns", "true", "if", "MBB", "is", "safe", "to", "outline", "from", ",", "and", "returns", "any", "target-specific", "information", "in", "Flags", "."], "TS_V_token": ["ARM", "ARM", "\"Suitable Machine Function for outlining must track liveness\"", "ARM::R12", "ARM::CPSR", "ARM::R12", "ARM::CPSR", "ARM::LR"], "File": "ARMBaseInstrInfo110", "Func": "isMBBSafeToOutlineFrom", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9938, "Length": 248} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicable", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "!", "MI", ".", "isPredicable", "(", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "isBundle", "(", ")", ")", "return", "false", ";", "if", "(", "!", "isEligibleForITBlock", "(", "&", "MI", ")", ")", "return", "false", ";", "const", "MachineFunction", "*", "MF", "=", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainNEON", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "ST", "=", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "ST", ".", "hardenSlsRetBr", "(", ")", "&&", "isIndirectControlFlowNotComingBack", "(", "MI", ")", ")", "return", "false", ";", "if", "(", "ST", ".", "hardenSlsBlr", "(", ")", "&&", "isIndirectCall", "(", "MI", ")", ")", "return", "false", ";", "if", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", "{", "if", "(", "getSubtarget", "(", ")", ".", "restrictIT", "(", ")", ")", "return", "isV8EligibleForIT", "(", "&", "MI", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "instruction", "can", "be", "predicated", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainNEON", "ARM", "ARM"], "File": "ARMBaseInstrInfo110", "Func": "isPredicable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9939, "Length": 176} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isReallyTriviallyReMaterializable", "(", "const", "MachineInstr", "&", "MI", ",", "AAResults", "*", "AA", ")", "const", "{", "return", "isVCTP", "(", "&", "MI", ")", "&&", "!", "isPredicated", "(", "MI", ")", ";", "}", ""], "natrual_language": ["For", "instructions", "with", "opcodes", "for", "which", "the", "M_REMATERIALIZABLE", "flag", "is", "set", ",", "this", "hook", "lets", "the", "target", "specify", "whether", "the", "instruction", "is", "actually", "trivially", "rematerializable", ",", "taking", "into", "consideration", "its", "operands", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo110", "Func": "isReallyTriviallyReMaterializable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9940, "Length": 30} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isSchedulingBoundary", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineBasicBlock", "*", "MBB", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "MI", ".", "isDebugInstr", "(", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "isTerminator", "(", ")", "||", "MI", ".", "isPosition", "(", ")", ")", "return", "true", ";", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "TargetOpcode", "::", "INLINEASM_BR", ")", "return", "true", ";", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MI", ";", "while", "(", "++", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "isDebugInstr", "(", ")", ")", ";", "if", "(", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "return", "true", ";", "if", "(", "!", "MI", ".", "isCall", "(", ")", "&&", "MI", ".", "definesRegister", "(", "ARM", "::", "SP", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["isSchedulingBoundary", "-", "Overrides", "the", "isSchedulingBoundary", "from", "Codegen/TargetInstrInfo.cpp", "to", "make", "it", "capable", "of", "identifying", "ENDBR", "intructions", "and", "prevent", "it", "from", "being", "re-scheduled", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2IT", "ARM::SP"], "File": "ARMBaseInstrInfo110", "Func": "isSchedulingBoundary", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9941, "Length": 138} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlot", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "STRrs", ":", "case", "ARM", "::", "t2STRs", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "VSTRS", ":", "case", "ARM", "::", "VSTR_P0_off", ":", "case", "ARM", "::", "MVE_VSTRWU32", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VST1q64", ":", "case", "ARM", "::", "VST1d64TPseudo", ":", "case", "ARM", "::", "VST1d64QPseudo", ":", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VSTMQIA", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "MQQPRStore", ":", "case", "ARM", "::", "MQQQQPRStore", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isStoreToStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "store", "to", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "source", "reg", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::STRrs", "ARM::t2STRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::STRi12", "ARM::t2STRi12", "ARM::tSTRspi", "ARM::VSTRD", "ARM::VSTRS", "ARM::VSTR_P0_off", "ARM::MVE_VSTRWU32", "1", "2", "2", "0", "1", "0", "ARM::VST1q64", "ARM::VST1d64TPseudo", "ARM::VST1d64QPseudo", "0", "2", "0", "0", "2", "ARM::VSTMQIA", "1", "0", "0", "1", "0", "ARM::MQQPRStore", "ARM::MQQQQPRStore", "1", "1", "0", "0"], "File": "ARMBaseInstrInfo110", "Func": "isStoreToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9942, "Length": 417} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "optimizeSelect", "(", "MachineInstr", "&", "MI", ",", "SmallPtrSetImpl", "<", "MachineInstr", "*", ">", "&", "SeenMIs", ",", "bool", "PreferFalse", ")", "const", "{", "assert", "(", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MOVCCr", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "t2MOVCCr", ")", "&&", "\"Unknown select instruction\"", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineInstr", "*", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "bool", "Invert", "=", "!", "DefMI", ";", "if", "(", "!", "DefMI", ")", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "if", "(", "!", "DefMI", ")", "return", "nullptr", ";", "MachineOperand", "FalseReg", "=", "MI", ".", "getOperand", "(", "Invert", "?", "2", ":", "1", ")", ";", "Register", "DestReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "const", "TargetRegisterClass", "*", "PreviousClass", "=", "MRI", ".", "getRegClass", "(", "FalseReg", ".", "getReg", "(", ")", ")", ";", "if", "(", "!", "MRI", ".", "constrainRegClass", "(", "DestReg", ",", "PreviousClass", ")", ")", "return", "nullptr", ";", "MachineInstrBuilder", "NewMI", "=", "BuildMI", "(", "*", "MI", ".", "getParent", "(", ")", ",", "MI", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "DefMI", "->", "getDesc", "(", ")", ",", "DestReg", ")", ";", "const", "MCInstrDesc", "&", "DefDesc", "=", "DefMI", "->", "getDesc", "(", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "DefDesc", ".", "getNumOperands", "(", ")", ";", "i", "!=", "e", "&&", "!", "DefDesc", ".", "OpInfo", "[", "i", "]", ".", "isPredicate", "(", ")", ";", "++", "i", ")", "NewMI", ".", "add", "(", "DefMI", "->", "getOperand", "(", "i", ")", ")", ";", "unsigned", "CondCode", "=", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", ";", "if", "(", "Invert", ")", "NewMI", ".", "addImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "ARMCC", "::", "CondCodes", "(", "CondCode", ")", ")", ")", ";", "else", "NewMI", ".", "addImm", "(", "CondCode", ")", ";", "NewMI", ".", "add", "(", "MI", ".", "getOperand", "(", "4", ")", ")", ";", "if", "(", "NewMI", "->", "hasOptionalDef", "(", ")", ")", "NewMI", ".", "add", "(", "condCodeOp", "(", ")", ")", ";", "FalseReg", ".", "setImplicit", "(", ")", ";", "NewMI", ".", "add", "(", "FalseReg", ")", ";", "NewMI", "->", "tieOperands", "(", "0", ",", "NewMI", "->", "getNumOperands", "(", ")", "-", "1", ")", ";", "SeenMIs", ".", "insert", "(", "NewMI", ")", ";", "SeenMIs", ".", "erase", "(", "DefMI", ")", ";", "if", "(", "DefMI", "->", "getParent", "(", ")", "!=", "MI", ".", "getParent", "(", ")", ")", "NewMI", "->", "clearKillInfo", "(", ")", ";", "DefMI", "->", "eraseFromParent", "(", ")", ";", "return", "NewMI", ";", "}", ""], "natrual_language": ["Given", "a", "select", "instruction", "that", "was", "understood", "by", "analyzeSelect", "and", "returned", "Optimizable", "=", "true", ",", "attempt", "to", "optimize", "MI", "by", "merging", "it", "with", "one", "of", "its", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "\"Unknown select instruction\"", "2", "1", "2", "1", "0", "1", "3", "ARMCC::getOppositeCondition", "ARMCC::CondCodes", "4", "0", "1"], "File": "ARMBaseInstrInfo110", "Func": "optimizeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9943, "Length": 418} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "PredicateInstruction", "(", "MachineInstr", "&", "MI", ",", "ArrayRef", "<", "MachineOperand", ">", "Pred", ")", "const", "{", "unsigned", "Opc", "=", "MI", ".", "getOpcode", "(", ")", ";", "if", "(", "isUncondBranchOpcode", "(", "Opc", ")", ")", "{", "MI", ".", "setDesc", "(", "get", "(", "getMatchingCondBranchOpcode", "(", "Opc", ")", ")", ")", ";", "MachineInstrBuilder", "(", "*", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ".", "addImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ".", "addReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ")", ";", "return", "true", ";", "}", "int", "PIdx", "=", "MI", ".", "findFirstPredOperandIdx", "(", ")", ";", "if", "(", "PIdx", "!=", "-", "1", ")", "{", "MachineOperand", "&", "PMO", "=", "MI", ".", "getOperand", "(", "PIdx", ")", ";", "PMO", ".", "setImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ";", "MI", ".", "getOperand", "(", "PIdx", "+", "1", ")", ".", "setReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "if", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "ThumbArithFlagSetting", ")", "{", "assert", "(", "MCID", ".", "OpInfo", "[", "1", "]", ".", "isOptionalDef", "(", ")", "&&", "\"CPSR def isn't expected operand\"", ")", ";", "assert", "(", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isDead", "(", ")", "||", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "&&", "\"if conversion tried to stop defining used CPSR\"", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setReg", "(", "ARM", "::", "NoRegister", ")", ";", "}", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Convert", "the", "instruction", "into", "a", "predicated", "instruction", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "1", "0", "1", "1", "ARMII::ThumbArithFlagSetting", "1", "\"CPSR def isn't expected operand\"", "1", "1", "ARM::CPSR", "\"if conversion tried to stop defining used CPSR\"", "1", "ARM::NoRegister"], "File": "ARMBaseInstrInfo110", "Func": "PredicateInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9944, "Length": 248} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "predictBranchSizeForIfCvt", "(", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "t2Bcc", "&&", "findCMPToFoldIntoCBZ", "(", "&", "MI", ",", "&", "getRegisterInfo", "(", ")", ")", ")", "return", "0", ";", "unsigned", "Size", "=", "getInstSizeInBytes", "(", "MI", ")", ";", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", ")", "Size", "/=", "2", ";", "return", "Size", ";", "}", ""], "natrual_language": ["Return", "an", "estimate", "for", "the", "code", "size", "reduction", "(", "in", "bytes", ")", "which", "will", "be", "caused", "by", "removing", "the", "given", "branch", "instruction", "during", "if-conversion", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2Bcc", "0", "2"], "File": "ARMBaseInstrInfo110", "Func": "predictBranchSizeForIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9945, "Length": 61} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "reMaterialize", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "Register", "DestReg", ",", "unsigned", "SubIdx", ",", "const", "MachineInstr", "&", "Orig", ",", "const", "TargetRegisterInfo", "&", "TRI", ")", "const", "{", "unsigned", "Opcode", "=", "Orig", ".", "getOpcode", "(", ")", ";", "switch", "(", "Opcode", ")", "{", "default", ":", "{", "MachineInstr", "*", "MI", "=", "MBB", ".", "getParent", "(", ")", "->", "CloneMachineInstr", "(", "&", "Orig", ")", ";", "MI", "->", "substituteRegister", "(", "Orig", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ",", "DestReg", ",", "SubIdx", ",", "TRI", ")", ";", "MBB", ".", "insert", "(", "I", ",", "MI", ")", ";", "break", ";", "}", "case", "ARM", "::", "tLDRpci_pic", ":", "case", "ARM", "::", "t2LDRpci_pic", ":", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "unsigned", "CPI", "=", "Orig", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "unsigned", "PCLabelId", "=", "duplicateCPV", "(", "MF", ",", "CPI", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "Orig", ".", "getDebugLoc", "(", ")", ",", "get", "(", "Opcode", ")", ",", "DestReg", ")", ".", "addConstantPoolIndex", "(", "CPI", ")", ".", "addImm", "(", "PCLabelId", ")", ".", "cloneMemRefs", "(", "Orig", ")", ";", "break", ";", "}", "}", "}", ""], "natrual_language": ["Re-issue", "the", "specified", "'original", "'", "instruction", "at", "the", "specific", "location", "targeting", "a", "new", "destination", "register", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tLDRpci_pic", "ARM::t2LDRpci_pic", "1"], "File": "ARMBaseInstrInfo110", "Func": "reMaterialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9946, "Length": 185} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "shouldOutlineFromFunctionByDefault", "(", "MachineFunction", "&", "MF", ")", "const", "{", "return", "Subtarget", ".", "isMClass", "(", ")", "&&", "MF", ".", "getFunction", "(", ")", ".", "hasMinSize", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "function", "should", "be", "outlined", "from", "by", "default", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo110", "Func": "shouldOutlineFromFunctionByDefault", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9947, "Length": 29} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "shouldSink", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "isPredicated", "(", "MI", ")", ")", "return", "true", ";", "MachineBasicBlock", "::", "const_iterator", "Next", "=", "&", "MI", ";", "++", "Next", ";", "Register", "SrcReg", ",", "SrcReg2", ";", "int64_t", "CmpMask", ",", "CmpValue", ";", "bool", "IsThumb1", ";", "if", "(", "Next", "!=", "MI", ".", "getParent", "(", ")", "->", "end", "(", ")", "&&", "analyzeCompare", "(", "*", "Next", ",", "SrcReg", ",", "SrcReg2", ",", "CmpMask", ",", "CmpValue", ")", "&&", "isRedundantFlagInstr", "(", "&", "*", "Next", ",", "SrcReg", ",", "SrcReg2", ",", "CmpValue", ",", "&", "MI", ",", "IsThumb1", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "instruction", "should", "be", "sunk", "by", "MachineSink", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo110", "Func": "shouldSink", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9948, "Length": 99} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "verifyInstruction", "(", "const", "MachineInstr", "&", "MI", ",", "StringRef", "&", "ErrInfo", ")", "const", "{", "if", "(", "convertAddSubFlagsOpcode", "(", "MI", ".", "getOpcode", "(", ")", ")", ")", "{", "ErrInfo", "=", "\"Pseudo flag setting opcodes only exist in Selection DAG\"", ";", "return", "false", ";", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tMOVr", "&&", "!", "Subtarget", ".", "hasV6Ops", "(", ")", ")", "{", "if", "(", "!", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "!", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "{", "ErrInfo", "=", "\"Non-flag-setting Thumb1 mov is v6-only\"", ";", "return", "false", ";", "}", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPUSH", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", ")", "{", "for", "(", "int", "i", "=", "2", ",", "e", "=", "MI", ".", "getNumOperands", "(", ")", ";", "i", "<", "e", ";", "++", "i", ")", "{", "if", "(", "MI", ".", "getOperand", "(", "i", ")", ".", "isImplicit", "(", ")", "||", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isReg", "(", ")", ")", "continue", ";", "Register", "Reg", "=", "MI", ".", "getOperand", "(", "i", ")", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "<", "ARM", "::", "R0", "||", "Reg", ">", "ARM", "::", "R7", ")", "{", "if", "(", "!", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPUSH", "&&", "Reg", "==", "ARM", "::", "LR", ")", "&&", "!", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", "&&", "Reg", "==", "ARM", "::", "PC", ")", ")", "{", "ErrInfo", "=", "\"Unsupported register in Thumb1 push/pop\"", ";", "return", "false", ";", "}", "}", "}", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MVE_VMOV_q_rr", ")", "{", "assert", "(", "MI", ".", "getOperand", "(", "4", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "5", ")", ".", "isImm", "(", ")", ")", ";", "if", "(", "(", "MI", ".", "getOperand", "(", "4", ")", ".", "getImm", "(", ")", "!=", "2", "&&", "MI", ".", "getOperand", "(", "4", ")", ".", "getImm", "(", ")", "!=", "3", ")", "||", "MI", ".", "getOperand", "(", "4", ")", ".", "getImm", "(", ")", "!=", "MI", ".", "getOperand", "(", "5", ")", ".", "getImm", "(", ")", "+", "2", ")", "{", "ErrInfo", "=", "\"Incorrect array index for MVE_VMOV_q_rr\"", ";", "return", "false", ";", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["Perform", "target-specific", "instruction", "verification", "."], "TS_V_token": ["ARM", "ARM", "\"Pseudo flag setting opcodes only exist in Selection DAG\"", "ARM::tMOVr", "ARM::hGPRRegClass", "0", "ARM::hGPRRegClass", "1", "\"Non-flag-setting Thumb1 mov is v6-only\"", "ARM::tPUSH", "ARM::tPOP", "ARM::tPOP_RET", "2", "ARM::R0", "ARM::R7", "ARM::tPUSH", "ARM::LR", "ARM::tPOP_RET", "ARM::PC", "\"Unsupported register in Thumb1 push/pop\"", "ARM::MVE_VMOV_q_rr", "4", "5", "4", "2", "4", "3", "4", "5", "2", "\"Incorrect array index for MVE_VMOV_q_rr\""], "File": "ARMBaseInstrInfo110", "Func": "verifyInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9949, "Length": 376} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "optimizeSelect", "(", "MachineInstr", "*", "MI", ",", "SmallPtrSetImpl", "<", "MachineInstr", "*", ">", "&", "SeenMIs", ",", "bool", "PreferFalse", ")", "const", "{", "assert", "(", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MOVCCr", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2MOVCCr", ")", "&&", "\"Unknown select instruction\"", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineInstr", "*", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "bool", "Invert", "=", "!", "DefMI", ";", "if", "(", "!", "DefMI", ")", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "if", "(", "!", "DefMI", ")", "return", "nullptr", ";", "MachineOperand", "FalseReg", "=", "MI", "->", "getOperand", "(", "Invert", "?", "2", ":", "1", ")", ";", "unsigned", "DestReg", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "const", "TargetRegisterClass", "*", "PreviousClass", "=", "MRI", ".", "getRegClass", "(", "FalseReg", ".", "getReg", "(", ")", ")", ";", "if", "(", "!", "MRI", ".", "constrainRegClass", "(", "DestReg", ",", "PreviousClass", ")", ")", "return", "nullptr", ";", "MachineInstrBuilder", "NewMI", "=", "BuildMI", "(", "*", "MI", "->", "getParent", "(", ")", ",", "MI", ",", "MI", "->", "getDebugLoc", "(", ")", ",", "DefMI", "->", "getDesc", "(", ")", ",", "DestReg", ")", ";", "const", "MCInstrDesc", "&", "DefDesc", "=", "DefMI", "->", "getDesc", "(", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "DefDesc", ".", "getNumOperands", "(", ")", ";", "i", "!=", "e", "&&", "!", "DefDesc", ".", "OpInfo", "[", "i", "]", ".", "isPredicate", "(", ")", ";", "++", "i", ")", "NewMI", ".", "addOperand", "(", "DefMI", "->", "getOperand", "(", "i", ")", ")", ";", "unsigned", "CondCode", "=", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", ";", "if", "(", "Invert", ")", "NewMI", ".", "addImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "ARMCC", "::", "CondCodes", "(", "CondCode", ")", ")", ")", ";", "else", "NewMI", ".", "addImm", "(", "CondCode", ")", ";", "NewMI", ".", "addOperand", "(", "MI", "->", "getOperand", "(", "4", ")", ")", ";", "if", "(", "NewMI", "->", "hasOptionalDef", "(", ")", ")", "AddDefaultCC", "(", "NewMI", ")", ";", "FalseReg", ".", "setImplicit", "(", ")", ";", "NewMI", ".", "addOperand", "(", "FalseReg", ")", ";", "NewMI", "->", "tieOperands", "(", "0", ",", "NewMI", "->", "getNumOperands", "(", ")", "-", "1", ")", ";", "SeenMIs", ".", "insert", "(", "NewMI", ")", ";", "SeenMIs", ".", "erase", "(", "DefMI", ")", ";", "DefMI", "->", "eraseFromParent", "(", ")", ";", "return", "NewMI", ";", "}", ""], "natrual_language": ["Given", "a", "select", "instruction", "that", "was", "understood", "by", "analyzeSelect", "and", "returned", "Optimizable", "=", "true", ",", "attempt", "to", "optimize", "MI", "by", "merging", "it", "with", "one", "of", "its", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "\"Unknown select instruction\"", "2", "1", "2", "1", "0", "1", "3", "ARMCC::getOppositeCondition", "ARMCC::CondCodes", "4", "0", "1"], "File": "ARMBaseInstrInfo113", "Func": "optimizeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9950, "Length": 394} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "foldMemoryOperandImpl", "(", "MachineFunction", "&", "MF", ",", "MachineInstr", "*", "MI", ",", "const", "SmallVectorImpl", "<", "unsigned", ">", "&", "Ops", ",", "MachineInstr", "*", "LoadMI", ")", "const", "{", "return", "0", ";", "}", ""], "natrual_language": ["foldMemoryOperand", "-", "Same", "as", "the", "previous", "version", "except", "it", "allows", "folding", "of", "any", "load", "and", "store", "from", "/", "to", "any", "address", ",", "not", "just", "from", "a", "specific", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMBaseInstrInfo114", "Func": "foldMemoryOperandImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9951, "Length": 32} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDR", ":", "case", "ARM", "::", "t2LDRs", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "tRestore", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isLoadFromStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "load", "from", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "destination", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDR", "ARM::t2LDRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::t2LDRi12", "ARM::tRestore", "1", "2", "2", "0", "1", "0", "ARM::VLDRD", "ARM::VLDRS", "1", "2", "2", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo114", "Func": "isLoadFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9952, "Length": 286} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "STR", ":", "case", "ARM", "::", "t2STRs", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "tSpill", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "VSTRS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isStoreToStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "store", "to", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "source", "reg", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::STR", "ARM::t2STRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::t2STRi12", "ARM::tSpill", "1", "2", "2", "0", "1", "0", "ARM::VSTRD", "ARM::VSTRS", "1", "2", "2", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo114", "Func": "isStoreToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9953, "Length": 286} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "Align", "=", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "Align", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", ")", "RC", "=", "ARM", "::", "GPRRegisterClass", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "LDR", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "DPRRegisterClass", "||", "RC", "==", "ARM", "::", "DPR_VFP2RegisterClass", "||", "RC", "==", "ARM", "::", "DPR_8RegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VLDRD", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "SPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VLDRS", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "{", "assert", "(", "(", "RC", "==", "ARM", "::", "QPRRegisterClass", "||", "RC", "==", "ARM", "::", "QPR_VFP2RegisterClass", "||", "RC", "==", "ARM", "::", "QPR_8RegisterClass", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "Align", ">=", "16", "&&", "(", "getRegisterInfo", "(", ")", ".", "canRealignStack", "(", "MF", ")", ")", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VLD1q64", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "128", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VLDRQ", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tGPRRegisterClass", "ARM::GPRRegisterClass", "ARM::GPRRegisterClass", "ARM::LDR", "0", "0", "ARM::DPRRegisterClass", "ARM::DPR_VFP2RegisterClass", "ARM::DPR_8RegisterClass", "ARM::VLDRD", "0", "ARM::SPRRegisterClass", "ARM::VLDRS", "0", "ARM::QPRRegisterClass", "ARM::QPR_VFP2RegisterClass", "ARM::QPR_8RegisterClass", "\"Unknown regclass!\"", "16", "ARM::VLD1q64", "0", "0", "128", "ARM::VLDRQ", "0"], "File": "ARMBaseInstrInfo114", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9954, "Length": 421} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "produceSameValue", "(", "const", "MachineInstr", "*", "MI0", ",", "const", "MachineInstr", "*", "MI1", ")", "const", "{", "int", "Opcode", "=", "MI0", "->", "getOpcode", "(", ")", ";", "if", "(", "Opcode", "==", "ARM", "::", "t2LDRpci", "||", "Opcode", "==", "ARM", "::", "t2LDRpci_pic", "||", "Opcode", "==", "ARM", "::", "tLDRpci", "||", "Opcode", "==", "ARM", "::", "tLDRpci_pic", ")", "{", "if", "(", "MI1", "->", "getOpcode", "(", ")", "!=", "Opcode", ")", "return", "false", ";", "if", "(", "MI0", "->", "getNumOperands", "(", ")", "!=", "MI1", "->", "getNumOperands", "(", ")", ")", "return", "false", ";", "const", "MachineOperand", "&", "MO0", "=", "MI0", "->", "getOperand", "(", "1", ")", ";", "const", "MachineOperand", "&", "MO1", "=", "MI1", "->", "getOperand", "(", "1", ")", ";", "if", "(", "MO0", ".", "getOffset", "(", ")", "!=", "MO1", ".", "getOffset", "(", ")", ")", "return", "false", ";", "const", "MachineFunction", "*", "MF", "=", "MI0", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "MachineConstantPool", "*", "MCP", "=", "MF", "->", "getConstantPool", "(", ")", ";", "int", "CPI0", "=", "MO0", ".", "getIndex", "(", ")", ";", "int", "CPI1", "=", "MO1", ".", "getIndex", "(", ")", ";", "const", "MachineConstantPoolEntry", "&", "MCPE0", "=", "MCP", "->", "getConstants", "(", ")", "[", "CPI0", "]", ";", "const", "MachineConstantPoolEntry", "&", "MCPE1", "=", "MCP", "->", "getConstants", "(", ")", "[", "CPI1", "]", ";", "ARMConstantPoolValue", "*", "ACPV0", "=", "static_cast", "<", "ARMConstantPoolValue", "*", ">", "(", "MCPE0", ".", "Val", ".", "MachineCPVal", ")", ";", "ARMConstantPoolValue", "*", "ACPV1", "=", "static_cast", "<", "ARMConstantPoolValue", "*", ">", "(", "MCPE1", ".", "Val", ".", "MachineCPVal", ")", ";", "return", "ACPV0", "->", "hasSameValue", "(", "ACPV1", ")", ";", "}", "return", "MI0", "->", "isIdenticalTo", "(", "MI1", ",", "MachineInstr", "::", "IgnoreVRegDefs", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "two", "machine", "instructions", "would", "produce", "identical", "values", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2LDRpci", "ARM::t2LDRpci_pic", "ARM::tLDRpci", "ARM::tLDRpci_pic", "1", "1", "ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseInstrInfo114", "Func": "produceSameValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9955, "Length": 252} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "reMaterialize", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "const", "MachineInstr", "*", "Orig", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "SubIdx", "&&", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", ")", "{", "DestReg", "=", "TRI", "->", "getSubReg", "(", "DestReg", ",", "SubIdx", ")", ";", "SubIdx", "=", "0", ";", "}", "unsigned", "Opcode", "=", "Orig", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opcode", ")", "{", "default", ":", "{", "MachineInstr", "*", "MI", "=", "MBB", ".", "getParent", "(", ")", "->", "CloneMachineInstr", "(", "Orig", ")", ";", "MI", "->", "getOperand", "(", "0", ")", ".", "setReg", "(", "DestReg", ")", ";", "MBB", ".", "insert", "(", "I", ",", "MI", ")", ";", "break", ";", "}", "case", "ARM", "::", "tLDRpci_pic", ":", "case", "ARM", "::", "t2LDRpci_pic", ":", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "unsigned", "CPI", "=", "Orig", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "unsigned", "PCLabelId", "=", "duplicateCPV", "(", "MF", ",", "CPI", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "Orig", "->", "getDebugLoc", "(", ")", ",", "get", "(", "Opcode", ")", ",", "DestReg", ")", ".", "addConstantPoolIndex", "(", "CPI", ")", ".", "addImm", "(", "PCLabelId", ")", ";", "(", "*", "MIB", ")", ".", "setMemRefs", "(", "Orig", "->", "memoperands_begin", "(", ")", ",", "Orig", "->", "memoperands_end", "(", ")", ")", ";", "break", ";", "}", "}", "MachineInstr", "*", "NewMI", "=", "prior", "(", "I", ")", ";", "NewMI", "->", "getOperand", "(", "0", ")", ".", "setSubReg", "(", "SubIdx", ")", ";", "}", ""], "natrual_language": ["Re-issue", "the", "specified", "'original", "'", "instruction", "at", "the", "specific", "location", "targeting", "a", "new", "destination", "register", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "ARM::tLDRpci_pic", "ARM::t2LDRpci_pic", "1", "0"], "File": "ARMBaseInstrInfo114", "Func": "reMaterialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9956, "Length": 241} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "Align", "=", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "Align", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", ")", "RC", "=", "ARM", "::", "GPRRegisterClass", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "STR", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "DPRRegisterClass", "||", "RC", "==", "ARM", "::", "DPR_VFP2RegisterClass", "||", "RC", "==", "ARM", "::", "DPR_8RegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VSTRD", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "SPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VSTRS", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "{", "assert", "(", "(", "RC", "==", "ARM", "::", "QPRRegisterClass", "||", "RC", "==", "ARM", "::", "QPR_VFP2RegisterClass", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "Align", ">=", "16", "&&", "(", "getRegisterInfo", "(", ")", ".", "canRealignStack", "(", "MF", ")", ")", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VST1q64", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "128", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ")", ";", "}", "else", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VSTRQ", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tGPRRegisterClass", "ARM::GPRRegisterClass", "ARM::GPRRegisterClass", "ARM::STR", "0", "0", "ARM::DPRRegisterClass", "ARM::DPR_VFP2RegisterClass", "ARM::DPR_8RegisterClass", "ARM::VSTRD", "0", "ARM::SPRRegisterClass", "ARM::VSTRS", "0", "ARM::QPRRegisterClass", "ARM::QPR_VFP2RegisterClass", "\"Unknown regclass!\"", "16", "ARM::VST1q64", "0", "0", "128", "ARM::VSTRQ", "0"], "File": "ARMBaseInstrInfo114", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9957, "Length": 458} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeBranch", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "*", "&", "TBB", ",", "MachineBasicBlock", "*", "&", "FBB", ",", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Cond", ",", "bool", "AllowModify", ")", "const", "{", "TBB", "=", "nullptr", ";", "FBB", "=", "nullptr", ";", "MachineBasicBlock", "::", "instr_iterator", "I", "=", "MBB", ".", "instr_end", "(", ")", ";", "if", "(", "I", "==", "MBB", ".", "instr_begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "while", "(", "isPredicated", "(", "*", "I", ")", "||", "I", "->", "isTerminator", "(", ")", "||", "I", "->", "isDebugValue", "(", ")", ")", "{", "bool", "CantAnalyze", "=", "false", ";", "while", "(", "I", "->", "isDebugInstr", "(", ")", "||", "!", "I", "->", "isTerminator", "(", ")", ")", "{", "if", "(", "I", "==", "MBB", ".", "instr_begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "}", "if", "(", "isIndirectBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isJumpTableBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "CantAnalyze", "=", "true", ";", "}", "else", "if", "(", "isUncondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "TBB", "=", "I", "->", "getOperand", "(", "0", ")", ".", "getMBB", "(", ")", ";", "}", "else", "if", "(", "isCondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "if", "(", "!", "Cond", ".", "empty", "(", ")", ")", "return", "true", ";", "assert", "(", "!", "FBB", "&&", "\"FBB should have been null.\"", ")", ";", "FBB", "=", "TBB", ";", "TBB", "=", "I", "->", "getOperand", "(", "0", ")", ".", "getMBB", "(", ")", ";", "Cond", ".", "push_back", "(", "I", "->", "getOperand", "(", "1", ")", ")", ";", "Cond", ".", "push_back", "(", "I", "->", "getOperand", "(", "2", ")", ")", ";", "}", "else", "if", "(", "I", "->", "isReturn", "(", ")", ")", "{", "CantAnalyze", "=", "true", ";", "}", "else", "{", "return", "true", ";", "}", "if", "(", "!", "isPredicated", "(", "*", "I", ")", "&&", "(", "isUncondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isIndirectBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isJumpTableBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "I", "->", "isReturn", "(", ")", ")", ")", "{", "Cond", ".", "clear", "(", ")", ";", "FBB", "=", "nullptr", ";", "if", "(", "AllowModify", ")", "{", "MachineBasicBlock", "::", "iterator", "DI", "=", "std", "::", "next", "(", "I", ")", ";", "while", "(", "DI", "!=", "MBB", ".", "instr_end", "(", ")", ")", "{", "MachineInstr", "&", "InstToDelete", "=", "*", "DI", ";", "++", "DI", ";", "InstToDelete", ".", "eraseFromParent", "(", ")", ";", "}", "}", "}", "if", "(", "CantAnalyze", ")", "{", "if", "(", "AllowModify", "&&", "!", "isPredicated", "(", "MBB", ".", "back", "(", ")", ")", "&&", "isUncondBranchOpcode", "(", "MBB", ".", "back", "(", ")", ".", "getOpcode", "(", ")", ")", "&&", "TBB", "&&", "MBB", ".", "isLayoutSuccessor", "(", "TBB", ")", ")", "removeBranch", "(", "MBB", ")", ";", "return", "true", ";", "}", "if", "(", "I", "==", "MBB", ".", "instr_begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["analyzeBranch", "-", "Analyze", "the", "branching", "code", "at", "the", "end", "of", "MBB", ",", "returning", "true", "if", "it", "can", "not", "be", "understood", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "\"FBB should have been null.\"", "0", "1", "2"], "File": "ARMBaseInstrInfo116", "Func": "analyzeBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9958, "Length": 447} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeCompare", "(", "const", "MachineInstr", "&", "MI", ",", "Register", "&", "SrcReg", ",", "Register", "&", "SrcReg2", ",", "int", "&", "CmpMask", ",", "int", "&", "CmpValue", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "CMPri", ":", "case", "ARM", "::", "t2CMPri", ":", "case", "ARM", "::", "tCMPi8", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "0", ";", "CmpMask", "=", "~", "0", ";", "CmpValue", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "return", "true", ";", "case", "ARM", "::", "CMPrr", ":", "case", "ARM", "::", "t2CMPrr", ":", "case", "ARM", "::", "tCMPr", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "CmpMask", "=", "~", "0", ";", "CmpValue", "=", "0", ";", "return", "true", ";", "case", "ARM", "::", "TSTri", ":", "case", "ARM", "::", "t2TSTri", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "0", ";", "CmpMask", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "CmpValue", "=", "0", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["analyzeCompare", "-", "For", "a", "comparison", "instruction", ",", "return", "the", "source", "registers", "in", "SrcReg", "and", "SrcReg2", "if", "having", "two", "register", "operands", ",", "and", "the", "value", "it", "compares", "against", "in", "CmpValue", "."], "TS_V_token": ["ARM", "ARM", "ARM::CMPri", "ARM::t2CMPri", "ARM::tCMPi8", "0", "0", "0", "1", "ARM::CMPrr", "ARM::t2CMPrr", "ARM::tCMPr", "0", "1", "0", "0", "ARM::TSTri", "ARM::t2TSTri", "0", "0", "1", "0"], "File": "ARMBaseInstrInfo116", "Func": "analyzeCompare", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9959, "Length": 199} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "buildOutlinedFrame", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "OutlinedFunction", "&", "OF", ")", "const", "{", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "{", "MachineInstr", "*", "Call", "=", "&", "*", "--", "MBB", ".", "instr_end", "(", ")", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "unsigned", "FuncOp", "=", "isThumb", "?", "2", ":", "0", ";", "unsigned", "Opc", "=", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", "?", "isThumb", "?", "ARM", "::", "tTAILJMPr", ":", "ARM", "::", "TAILJMPr", ":", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "add", "(", "Call", "->", "getOperand", "(", "FuncOp", ")", ")", ";", "if", "(", "isThumb", "&&", "!", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "Call", "->", "eraseFromParent", "(", ")", ";", "}", "auto", "IsNonTailCall", "=", "[", "]", "(", "MachineInstr", "&", "MI", ")", "{", "return", "MI", ".", "isCall", "(", ")", "&&", "!", "MI", ".", "isReturn", "(", ")", ";", "}", ";", "if", "(", "std", "::", "any_of", "(", "MBB", ".", "instr_begin", "(", ")", ",", "MBB", ".", "instr_end", "(", ")", ",", "IsNonTailCall", ")", ")", "{", "MachineBasicBlock", "::", "iterator", "It", "=", "MBB", ".", "begin", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "Et", "=", "MBB", ".", "end", "(", ")", ";", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerTailCall", "||", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "Et", "=", "std", "::", "prev", "(", "MBB", ".", "end", "(", ")", ")", ";", "if", "(", "!", "MBB", ".", "isLiveIn", "(", "ARM", "::", "LR", ")", ")", "MBB", ".", "addLiveIn", "(", "ARM", "::", "LR", ")", ";", "saveLROnStack", "(", "MBB", ",", "It", ")", ";", "unsigned", "StackAlignment", "=", "Subtarget", ".", "getStackAlignment", "(", ")", ".", "value", "(", ")", ";", "const", "TargetSubtargetInfo", "&", "STI", "=", "MF", ".", "getSubtarget", "(", ")", ";", "const", "MCRegisterInfo", "*", "MRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "unsigned", "DwarfReg", "=", "MRI", "->", "getDwarfRegNum", "(", "ARM", "::", "LR", ",", "true", ")", ";", "int64_t", "StackPosEntry", "=", "MF", ".", "addFrameInst", "(", "MCCFIInstruction", "::", "cfiDefCfaOffset", "(", "nullptr", ",", "StackAlignment", ")", ")", ";", "BuildMI", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "get", "(", "ARM", "::", "CFI_INSTRUCTION", ")", ")", ".", "addCFIIndex", "(", "StackPosEntry", ")", ".", "setMIFlags", "(", "MachineInstr", "::", "FrameSetup", ")", ";", "int64_t", "LRPosEntry", "=", "MF", ".", "addFrameInst", "(", "MCCFIInstruction", "::", "createOffset", "(", "nullptr", ",", "DwarfReg", ",", "StackAlignment", ")", ")", ";", "BuildMI", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "get", "(", "ARM", "::", "CFI_INSTRUCTION", ")", ")", ".", "addCFIIndex", "(", "LRPosEntry", ")", ".", "setMIFlags", "(", "MachineInstr", "::", "FrameSetup", ")", ";", "restoreLRFromStack", "(", "MBB", ",", "Et", ")", ";", "}", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerTailCall", "||", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "return", ";", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Subtarget", ".", "getReturnOpcode", "(", ")", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", ""], "natrual_language": ["Insert", "a", "custom", "frame", "for", "outlined", "functions", "."], "TS_V_token": ["ARM", "ARM", "2", "0", "ARM::tTAILJMPr", "ARM::TAILJMPr", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARM::LR", "ARM::LR", "ARM::LR", "ARM::CFI_INSTRUCTION", "ARM::CFI_INSTRUCTION", "ARMCC::AL"], "File": "ARMBaseInstrInfo116", "Func": "buildOutlinedFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9960, "Length": 504} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "ARMBaseInstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "const", "InstrItineraryData", "*", "II", ",", "const", "ScheduleDAG", "*", "DAG", ")", "const", "{", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "||", "Subtarget", ".", "hasVFP2Base", "(", ")", ")", "return", "new", "ARMHazardRecognizer", "(", "II", ",", "DAG", ")", ";", "return", "TargetInstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "II", ",", "DAG", ")", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "by", "non-scheduling", "passes", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMBaseInstrInfo116", "Func": "CreateTargetPostRAHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9961, "Length": 52} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "ARMBaseInstrInfo", "::", "insertOutlinedCall", "(", "Module", "&", "M", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "It", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "Candidate", "&", "C", ")", "const", "{", "MachineInstrBuilder", "MIB", ";", "MachineBasicBlock", "::", "iterator", "CallPt", ";", "unsigned", "Opc", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerTailCall", ")", "{", "Opc", "=", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "isThumb", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "It", "=", "MBB", ".", "insert", "(", "It", ",", "MIB", ")", ";", "return", "It", ";", "}", "Opc", "=", "isThumb", "?", "ARM", "::", "tBL", ":", "ARM", "::", "BL", ";", "MachineInstrBuilder", "CallMIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ";", "if", "(", "isThumb", ")", "CallMIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "CallMIB", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerNoLRSave", "||", "C", ".", "CallConstructionID", "==", "MachineOutlinerThunk", ")", "{", "It", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "return", "It", ";", "}", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerRegSave", ")", "{", "unsigned", "Reg", "=", "findRegisterToSaveLRTo", "(", "C", ")", ";", "assert", "(", "Reg", "!=", "0", "&&", "\"No callee-saved register available?\"", ")", ";", "copyPhysReg", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "Reg", ",", "ARM", "::", "LR", ",", "true", ")", ";", "CallPt", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "copyPhysReg", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "ARM", "::", "LR", ",", "Reg", ",", "true", ")", ";", "It", "--", ";", "return", "CallPt", ";", "}", "saveLROnStack", "(", "MBB", ",", "It", ")", ";", "CallPt", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "restoreLRFromStack", "(", "MBB", ",", "It", ")", ";", "It", "--", ";", "return", "CallPt", ";", "}", ""], "natrual_language": ["Insert", "a", "call", "to", "an", "outlined", "function", "into", "the", "program", "."], "TS_V_token": ["ARM", "ARM", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARM::tBL", "ARM::BL", "ARMCC::AL", "0", "\"No callee-saved register available?\"", "ARM::LR", "ARM::LR"], "File": "ARMBaseInstrInfo116", "Func": "insertOutlinedCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9962, "Length": 351} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isMBBSafeToOutlineFrom", "(", "MachineBasicBlock", "&", "MBB", ",", "unsigned", "&", "Flags", ")", "const", "{", "assert", "(", "MBB", ".", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ".", "tracksLiveness", "(", ")", "&&", "\"Suitable Machine Function for outlining must track liveness\"", ")", ";", "LiveRegUnits", "LRU", "(", "getRegisterInfo", "(", ")", ")", ";", "std", "::", "for_each", "(", "MBB", ".", "rbegin", "(", ")", ",", "MBB", ".", "rend", "(", ")", ",", "[", "&", "LRU", "]", "(", "MachineInstr", "&", "MI", ")", "{", "LRU", ".", "accumulate", "(", "MI", ")", ";", "}", ")", ";", "bool", "R12AvailableInBlock", "=", "LRU", ".", "available", "(", "ARM", "::", "R12", ")", ";", "bool", "CPSRAvailableInBlock", "=", "LRU", ".", "available", "(", "ARM", "::", "CPSR", ")", ";", "if", "(", "R12AvailableInBlock", "&&", "CPSRAvailableInBlock", ")", "Flags", "|=", "MachineOutlinerMBBFlags", "::", "UnsafeRegsDead", ";", "LRU", ".", "addLiveOuts", "(", "MBB", ")", ";", "if", "(", "R12AvailableInBlock", "&&", "!", "LRU", ".", "available", "(", "ARM", "::", "R12", ")", ")", "return", "false", ";", "if", "(", "CPSRAvailableInBlock", "&&", "!", "LRU", ".", "available", "(", "ARM", "::", "CPSR", ")", ")", "return", "false", ";", "if", "(", "any_of", "(", "MBB", ",", "[", "]", "(", "MachineInstr", "&", "MI", ")", "{", "return", "MI", ".", "isCall", "(", ")", ";", "}", ")", ")", "Flags", "|=", "MachineOutlinerMBBFlags", "::", "HasCalls", ";", "if", "(", "!", "LRU", ".", "available", "(", "ARM", "::", "LR", ")", ")", "Flags", "|=", "MachineOutlinerMBBFlags", "::", "LRUnavailableSomewhere", ";", "return", "true", ";", "}", ""], "natrual_language": ["Optional", "target", "hook", "that", "returns", "true", "if", "MBB", "is", "safe", "to", "outline", "from", ",", "and", "returns", "any", "target-specific", "information", "in", "Flags", "."], "TS_V_token": ["ARM", "ARM", "\"Suitable Machine Function for outlining must track liveness\"", "ARM::R12", "ARM::CPSR", "ARM::R12", "ARM::CPSR", "ARM::LR"], "File": "ARMBaseInstrInfo116", "Func": "isMBBSafeToOutlineFrom", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9963, "Length": 207} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "shouldSink", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "isPredicated", "(", "MI", ")", ")", "return", "true", ";", "MachineBasicBlock", "::", "const_iterator", "Next", "=", "&", "MI", ";", "++", "Next", ";", "Register", "SrcReg", ",", "SrcReg2", ";", "int", "CmpMask", ",", "CmpValue", ";", "bool", "IsThumb1", ";", "if", "(", "Next", "!=", "MI", ".", "getParent", "(", ")", "->", "end", "(", ")", "&&", "analyzeCompare", "(", "*", "Next", ",", "SrcReg", ",", "SrcReg2", ",", "CmpMask", ",", "CmpValue", ")", "&&", "isRedundantFlagInstr", "(", "&", "*", "Next", ",", "SrcReg", ",", "SrcReg2", ",", "CmpValue", ",", "&", "MI", ",", "IsThumb1", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "instruction", "should", "be", "sunk", "by", "MachineSink", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo116", "Func": "shouldSink", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9964, "Length": 99} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "verifyInstruction", "(", "const", "MachineInstr", "&", "MI", ",", "StringRef", "&", "ErrInfo", ")", "const", "{", "if", "(", "convertAddSubFlagsOpcode", "(", "MI", ".", "getOpcode", "(", ")", ")", ")", "{", "ErrInfo", "=", "\"Pseudo flag setting opcodes only exist in Selection DAG\"", ";", "return", "false", ";", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tMOVr", "&&", "!", "Subtarget", ".", "hasV6Ops", "(", ")", ")", "{", "if", "(", "!", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "!", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "{", "ErrInfo", "=", "\"Non-flag-setting Thumb1 mov is v6-only\"", ";", "return", "false", ";", "}", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPUSH", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", ")", "{", "for", "(", "int", "i", "=", "2", ",", "e", "=", "MI", ".", "getNumOperands", "(", ")", ";", "i", "<", "e", ";", "++", "i", ")", "{", "if", "(", "MI", ".", "getOperand", "(", "i", ")", ".", "isImplicit", "(", ")", "||", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isReg", "(", ")", ")", "continue", ";", "Register", "Reg", "=", "MI", ".", "getOperand", "(", "i", ")", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "<", "ARM", "::", "R0", "||", "Reg", ">", "ARM", "::", "R7", ")", "{", "if", "(", "!", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPUSH", "&&", "Reg", "==", "ARM", "::", "LR", ")", "&&", "!", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", "&&", "Reg", "==", "ARM", "::", "PC", ")", ")", "{", "ErrInfo", "=", "\"Unsupported register in Thumb1 push/pop\"", ";", "return", "false", ";", "}", "}", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["Perform", "target-specific", "instruction", "verification", "."], "TS_V_token": ["ARM", "ARM", "\"Pseudo flag setting opcodes only exist in Selection DAG\"", "ARM::tMOVr", "ARM::hGPRRegClass", "0", "ARM::hGPRRegClass", "1", "\"Non-flag-setting Thumb1 mov is v6-only\"", "ARM::tPUSH", "ARM::tPOP", "ARM::tPOP_RET", "2", "ARM::R0", "ARM::R7", "ARM::tPUSH", "ARM::LR", "ARM::tPOP_RET", "ARM::PC", "\"Unsupported register in Thumb1 push/pop\""], "File": "ARMBaseInstrInfo116", "Func": "verifyInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9965, "Length": 274} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "DebugLoc", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "bool", "GPRDest", "=", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ")", ";", "bool", "GPRSrc", "=", "ARM", "::", "GPRRegClass", ".", "contains", "(", "SrcReg", ")", ";", "if", "(", "GPRDest", "&&", "GPRSrc", ")", "{", "AddDefaultCC", "(", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "MOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ")", ")", ";", "return", ";", "}", "bool", "SPRDest", "=", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DestReg", ")", ";", "bool", "SPRSrc", "=", "ARM", "::", "SPRRegClass", ".", "contains", "(", "SrcReg", ")", ";", "unsigned", "Opc", ";", "if", "(", "SPRDest", "&&", "SPRSrc", ")", "Opc", "=", "ARM", "::", "VMOVS", ";", "else", "if", "(", "GPRDest", "&&", "SPRSrc", ")", "Opc", "=", "ARM", "::", "VMOVRS", ";", "else", "if", "(", "SPRDest", "&&", "GPRSrc", ")", "Opc", "=", "ARM", "::", "VMOVSR", ";", "else", "if", "(", "ARM", "::", "DPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", ")", "Opc", "=", "ARM", "::", "VMOVD", ";", "else", "if", "(", "ARM", "::", "QPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", ")", "Opc", "=", "ARM", "::", "VMOVQ", ";", "else", "if", "(", "ARM", "::", "QQPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", ")", "Opc", "=", "ARM", "::", "VMOVQQ", ";", "else", "if", "(", "ARM", "::", "QQQQPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", ")", "Opc", "=", "ARM", "::", "VMOVQQQQ", ";", "else", "llvm_unreachable", "(", "\"Impossible reg-to-reg copy\"", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "Opc", ")", ",", "DestReg", ")", ";", "MIB", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ";", "if", "(", "Opc", "!=", "ARM", "::", "VMOVQQ", "&&", "Opc", "!=", "ARM", "::", "VMOVQQQQ", ")", "AddDefaultPred", "(", "MIB", ")", ";", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClass", "ARM::GPRRegClass", "ARM::MOVr", "ARM::SPRRegClass", "ARM::SPRRegClass", "ARM::VMOVS", "ARM::VMOVRS", "ARM::VMOVSR", "ARM::DPRRegClass", "ARM::VMOVD", "ARM::QPRRegClass", "ARM::VMOVQ", "ARM::QQPRRegClass", "ARM::VMOVQQ", "ARM::QQQQPRRegClass", "ARM::VMOVQQQQ", "\"Impossible reg-to-reg copy\"", "ARM::VMOVQQ", "ARM::VMOVQQQQ"], "File": "ARMBaseInstrInfo11", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9966, "Length": 298} {"ground_truth": ["", "int", "ARMBaseInstrInfo", "::", "getInstrLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "SDNode", "*", "Node", ")", "const", "{", "if", "(", "!", "Node", "->", "isMachineOpcode", "(", ")", ")", "return", "1", ";", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "1", ";", "unsigned", "Opcode", "=", "Node", "->", "getMachineOpcode", "(", ")", ";", "switch", "(", "Opcode", ")", "{", "default", ":", "return", "ItinData", "->", "getStageLatency", "(", "get", "(", "Opcode", ")", ".", "getSchedClass", "(", ")", ")", ";", "case", "ARM", "::", "VLDMQIA", ":", "case", "ARM", "::", "VLDMQDB", ":", "case", "ARM", "::", "VSTMQIA", ":", "case", "ARM", "::", "VSTMQDB", ":", "return", "2", ";", "}", "}", ""], "natrual_language": ["Compute", "the", "instruction", "latency", "of", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "ARM::VLDMQIA", "ARM::VLDMQDB", "ARM::VSTMQIA", "ARM::VSTMQDB", "2"], "File": "ARMBaseInstrInfo11", "Func": "getInstrLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9967, "Length": 98} {"ground_truth": ["", "int", "ARMBaseInstrInfo", "::", "getOperandLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "SDNode", "*", "DefNode", ",", "unsigned", "DefIdx", ",", "SDNode", "*", "UseNode", ",", "unsigned", "UseIdx", ")", "const", "{", "if", "(", "!", "DefNode", "->", "isMachineOpcode", "(", ")", ")", "return", "1", ";", "const", "TargetInstrDesc", "&", "DefTID", "=", "get", "(", "DefNode", "->", "getMachineOpcode", "(", ")", ")", ";", "if", "(", "isZeroCost", "(", "DefTID", ".", "Opcode", ")", ")", "return", "0", ";", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "DefTID", ".", "mayLoad", "(", ")", "?", "3", ":", "1", ";", "if", "(", "!", "UseNode", "->", "isMachineOpcode", "(", ")", ")", "{", "int", "Latency", "=", "ItinData", "->", "getOperandCycle", "(", "DefTID", ".", "getSchedClass", "(", ")", ",", "DefIdx", ")", ";", "if", "(", "Subtarget", ".", "isCortexA9", "(", ")", ")", "return", "Latency", "<=", "2", "?", "1", ":", "Latency", "-", "1", ";", "else", "return", "Latency", "<=", "3", "?", "1", ":", "Latency", "-", "2", ";", "}", "const", "TargetInstrDesc", "&", "UseTID", "=", "get", "(", "UseNode", "->", "getMachineOpcode", "(", ")", ")", ";", "const", "MachineSDNode", "*", "DefMN", "=", "dyn_cast", "<", "MachineSDNode", ">", "(", "DefNode", ")", ";", "unsigned", "DefAlign", "=", "!", "DefMN", "->", "memoperands_empty", "(", ")", "?", "(", "*", "DefMN", "->", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", ":", "0", ";", "const", "MachineSDNode", "*", "UseMN", "=", "dyn_cast", "<", "MachineSDNode", ">", "(", "UseNode", ")", ";", "unsigned", "UseAlign", "=", "!", "UseMN", "->", "memoperands_empty", "(", ")", "?", "(", "*", "UseMN", "->", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", ":", "0", ";", "int", "Latency", "=", "getOperandLatency", "(", "ItinData", ",", "DefTID", ",", "DefIdx", ",", "DefAlign", ",", "UseTID", ",", "UseIdx", ",", "UseAlign", ")", ";", "if", "(", "Latency", ">", "1", "&&", "(", "Subtarget", ".", "isCortexA8", "(", ")", "||", "Subtarget", ".", "isCortexA9", "(", ")", ")", ")", "{", "switch", "(", "DefTID", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDRrs", ":", "case", "ARM", "::", "LDRBrs", ":", "{", "unsigned", "ShOpVal", "=", "cast", "<", "ConstantSDNode", ">", "(", "DefNode", "->", "getOperand", "(", "2", ")", ")", "->", "getZExtValue", "(", ")", ";", "unsigned", "ShImm", "=", "ARM_AM", "::", "getAM2Offset", "(", "ShOpVal", ")", ";", "if", "(", "ShImm", "==", "0", "||", "(", "ShImm", "==", "2", "&&", "ARM_AM", "::", "getAM2ShiftOpc", "(", "ShOpVal", ")", "==", "ARM_AM", "::", "lsl", ")", ")", "--", "Latency", ";", "break", ";", "}", "case", "ARM", "::", "t2LDRs", ":", "case", "ARM", "::", "t2LDRBs", ":", "case", "ARM", "::", "t2LDRHs", ":", "case", "ARM", "::", "t2LDRSHs", ":", "{", "unsigned", "ShAmt", "=", "cast", "<", "ConstantSDNode", ">", "(", "DefNode", "->", "getOperand", "(", "2", ")", ")", "->", "getZExtValue", "(", ")", ";", "if", "(", "ShAmt", "==", "0", "||", "ShAmt", "==", "2", ")", "--", "Latency", ";", "break", ";", "}", "}", "}", "return", "Latency", ";", "}", ""], "natrual_language": ["Compute", "and", "return", "the", "use", "operand", "latency", "of", "a", "given", "pair", "of", "def", "and", "use", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "3", "1", "2", "1", "1", "3", "1", "2", "0", "0", "1", "ARM::LDRrs", "ARM::LDRBrs", "2", "ARM_AM::getAM2Offset", "0", "2", "ARM_AM::getAM2ShiftOpc", "ARM_AM::lsl", "ARM::t2LDRs", "ARM::t2LDRBs", "ARM::t2LDRHs", "ARM::t2LDRSHs", "2", "0", "2"], "File": "ARMBaseInstrInfo11", "Func": "getOperandLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9968, "Length": 421} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDRrs", ":", "case", "ARM", "::", "t2LDRs", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "tRestore", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLD1q64Pseudo", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLDMQIA", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isLoadFromStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "load", "from", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "destination", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDRrs", "ARM::t2LDRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::LDRi12", "ARM::t2LDRi12", "ARM::tRestore", "ARM::VLDRD", "ARM::VLDRS", "1", "2", "2", "0", "1", "0", "ARM::VLD1q64Pseudo", "1", "0", "0", "1", "0", "ARM::VLDMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo11", "Func": "isLoadFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9969, "Length": 345} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicable", "(", "MachineInstr", "*", "MI", ")", "const", "{", "const", "TargetInstrDesc", "&", "TID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "!", "TID", ".", "isPredicable", "(", ")", ")", "return", "false", ";", "if", "(", "(", "TID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainNEON", ")", "{", "ARMFunctionInfo", "*", "AFI", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "return", "AFI", "->", "isThumb2Function", "(", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "instruction", "can", "be", "predicated", "."], "TS_V_token": ["ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainNEON", "ARM", "ARM"], "File": "ARMBaseInstrInfo11", "Func": "isPredicable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9970, "Length": 84} {"ground_truth": ["", "virtual", "bool", "isProfitableToDupForIfCvt", "(", "MachineBasicBlock", "&", "MBB", ",", "unsigned", "NumCycles", ",", "const", "BranchProbability", "&", "Probability", ")", "const", "{", "return", "NumCycles", "==", "1", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "profitable", "for", "if-converter", "to", "duplicate", "instructions", "of", "specified", "accumulated", "instruction", "latencies", "in", "the", "specified", "MBB", "to", "enable", "if-conversion", "."], "TS_V_token": ["ARM", "1"], "File": "ARMBaseInstrInfo11", "Func": "isProfitableToDupForIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9971, "Length": 24} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToIfCvt", "(", "MachineBasicBlock", "&", "TMBB", ",", "unsigned", "TCycles", ",", "unsigned", "TExtra", ",", "MachineBasicBlock", "&", "FMBB", ",", "unsigned", "FCycles", ",", "unsigned", "FExtra", ",", "float", "Probability", ",", "float", "Confidence", ")", "const", "{", "if", "(", "!", "TCycles", "||", "!", "FCycles", ")", "return", "false", ";", "float", "UnpredCost", "=", "Probability", "*", "TCycles", "+", "(", "1.0", "-", "Probability", ")", "*", "FCycles", ";", "UnpredCost", "+=", "1.0", ";", "UnpredCost", "+=", "(", "1.0", "-", "Confidence", ")", "*", "Subtarget", ".", "getMispredictionPenalty", "(", ")", ";", "return", "(", "float", ")", "(", "TCycles", "+", "FCycles", "+", "TExtra", "+", "FExtra", ")", "<", "UnpredCost", ";", "}", ""], "natrual_language": ["Second", "variant", "of", "isProfitableToIfCvt", "."], "TS_V_token": ["ARM", "ARM", "1.0", "1.0", "1.0"], "File": "ARMBaseInstrInfo11", "Func": "isProfitableToIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9972, "Length": 94} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "STRrs", ":", "case", "ARM", "::", "t2STRs", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "tSpill", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "VSTRS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VST1q64Pseudo", ":", "if", "(", "MI", "->", "getOperand", "(", "0", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VSTMQIA", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isStoreToStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "store", "to", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "source", "reg", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::STRrs", "ARM::t2STRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::STRi12", "ARM::t2STRi12", "ARM::tSpill", "ARM::VSTRD", "ARM::VSTRS", "1", "2", "2", "0", "1", "0", "ARM::VST1q64Pseudo", "0", "2", "0", "0", "2", "ARM::VSTMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo11", "Func": "isStoreToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9973, "Length": 345} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "reMaterialize", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "const", "MachineInstr", "*", "Orig", ",", "const", "TargetRegisterInfo", "&", "TRI", ")", "const", "{", "unsigned", "Opcode", "=", "Orig", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opcode", ")", "{", "default", ":", "{", "MachineInstr", "*", "MI", "=", "MBB", ".", "getParent", "(", ")", "->", "CloneMachineInstr", "(", "Orig", ")", ";", "MI", "->", "substituteRegister", "(", "Orig", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ",", "DestReg", ",", "SubIdx", ",", "TRI", ")", ";", "MBB", ".", "insert", "(", "I", ",", "MI", ")", ";", "break", ";", "}", "case", "ARM", "::", "tLDRpci_pic", ":", "case", "ARM", "::", "t2LDRpci_pic", ":", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "unsigned", "CPI", "=", "Orig", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "unsigned", "PCLabelId", "=", "duplicateCPV", "(", "MF", ",", "CPI", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "Orig", "->", "getDebugLoc", "(", ")", ",", "get", "(", "Opcode", ")", ",", "DestReg", ")", ".", "addConstantPoolIndex", "(", "CPI", ")", ".", "addImm", "(", "PCLabelId", ")", ";", "(", "*", "MIB", ")", ".", "setMemRefs", "(", "Orig", "->", "memoperands_begin", "(", ")", ",", "Orig", "->", "memoperands_end", "(", ")", ")", ";", "break", ";", "}", "}", "}", ""], "natrual_language": ["Re-issue", "the", "specified", "'original", "'", "instruction", "at", "the", "specific", "location", "targeting", "a", "new", "destination", "register", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tLDRpci_pic", "ARM::t2LDRpci_pic", "1"], "File": "ARMBaseInstrInfo11", "Func": "reMaterialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9974, "Length": 202} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "commuteInstructionImpl", "(", "MachineInstr", "*", "MI", ",", "bool", "NewMI", ",", "unsigned", "OpIdx1", ",", "unsigned", "OpIdx2", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "MOVCCr", ":", "case", "ARM", "::", "t2MOVCCr", ":", "{", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "*", "MI", ",", "PredReg", ")", ";", "if", "(", "CC", "==", "ARMCC", "::", "AL", "||", "PredReg", "!=", "ARM", "::", "CPSR", ")", "return", "nullptr", ";", "MI", "=", "TargetInstrInfo", "::", "commuteInstructionImpl", "(", "MI", ",", "NewMI", ",", "OpIdx1", ",", "OpIdx2", ")", ";", "if", "(", "!", "MI", ")", "return", "nullptr", ";", "MI", "->", "getOperand", "(", "MI", "->", "findFirstPredOperandIdx", "(", ")", ")", ".", "setImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "CC", ")", ")", ";", "return", "MI", ";", "}", "}", "return", "TargetInstrInfo", "::", "commuteInstructionImpl", "(", "MI", ",", "NewMI", ",", "OpIdx1", ",", "OpIdx2", ")", ";", "}", ""], "natrual_language": ["Commutes", "the", "operands", "in", "the", "given", "instruction", "by", "changing", "the", "operands", "order", "and/or", "changing", "the", "instruction", "'s", "opcode", "and/or", "the", "immediate", "value", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "0", "ARMCC::CondCodes", "ARMCC::AL", "ARM::CPSR", "ARMCC::getOppositeCondition"], "File": "ARMBaseInstrInfo120", "Func": "commuteInstructionImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9975, "Length": 140} {"ground_truth": ["", "std", "::", "pair", "<", "uint16_t", ",", "uint16_t", ">", "ARMBaseInstrInfo", "::", "getExecutionDomain", "(", "const", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "Subtarget", ".", "hasNEON", "(", ")", ")", "{", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVD", "&&", "!", "isPredicated", "(", "*", "MI", ")", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "(", "1", "<<", "ExeVFP", ")", "|", "(", "1", "<<", "ExeNEON", ")", ")", ";", "if", "(", "Subtarget", ".", "isCortexA9", "(", ")", "&&", "!", "isPredicated", "(", "*", "MI", ")", "&&", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVRS", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVSR", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "VMOVS", ")", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "(", "1", "<<", "ExeVFP", ")", "|", "(", "1", "<<", "ExeNEON", ")", ")", ";", "}", "unsigned", "Domain", "=", "MI", "->", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ";", "if", "(", "Domain", "&", "ARMII", "::", "DomainNEON", ")", "return", "std", "::", "make_pair", "(", "ExeNEON", ",", "0", ")", ";", "if", "(", "(", "Domain", "&", "ARMII", "::", "DomainNEONA8", ")", "&&", "Subtarget", ".", "isCortexA8", "(", ")", ")", "return", "std", "::", "make_pair", "(", "ExeNEON", ",", "0", ")", ";", "if", "(", "Domain", "&", "ARMII", "::", "DomainVFP", ")", "return", "std", "::", "make_pair", "(", "ExeVFP", ",", "0", ")", ";", "return", "std", "::", "make_pair", "(", "ExeGeneric", ",", "0", ")", ";", "}", ""], "natrual_language": ["Return", "the", "current", "execution", "domain", "and", "bit", "mask", "of", "possible", "domains", "for", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::VMOVD", "1", "1", "ARM::VMOVRS", "ARM::VMOVSR", "ARM::VMOVS", "1", "1", "ARMII::DomainMask", "ARMII::DomainNEON", "0", "ARMII::DomainNEONA8", "0", "ARMII::DomainVFP", "0", "0"], "File": "ARMBaseInstrInfo120", "Func": "getExecutionDomain", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9976, "Length": 223} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "extraSizeToPredicateInstructions", "(", "const", "MachineFunction", "&", "MF", ",", "unsigned", "NumInsts", ")", "const", "{", "return", "Subtarget", ".", "isThumb2", "(", ")", "?", "divideCeil", "(", "NumInsts", ",", "4", ")", "*", "2", ":", "0", ";", "}", ""], "natrual_language": ["Return", "the", "increase", "in", "code", "size", "needed", "to", "predicate", "a", "contiguous", "run", "of", "NumInsts", "instructions", "."], "TS_V_token": ["ARM", "ARM", "4", "2", "0"], "File": "ARMBaseInstrInfo126", "Func": "extraSizeToPredicateInstructions", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9977, "Length": 34} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "buildOutlinedFrame", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "OutlinedFunction", "&", "OF", ")", "const", "{", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerTailCall", ")", "return", ";", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "{", "MachineInstr", "*", "Call", "=", "&", "*", "--", "MBB", ".", "instr_end", "(", ")", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "unsigned", "FuncOp", "=", "isThumb", "?", "2", ":", "0", ";", "unsigned", "Opc", "=", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", "?", "isThumb", "?", "ARM", "::", "tTAILJMPr", ":", "ARM", "::", "TAILJMPr", ":", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "add", "(", "Call", "->", "getOperand", "(", "FuncOp", ")", ")", ";", "if", "(", "isThumb", "&&", "!", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "Call", "->", "eraseFromParent", "(", ")", ";", "return", ";", "}", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Subtarget", ".", "getReturnOpcode", "(", ")", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", ""], "natrual_language": ["Insert", "a", "custom", "frame", "for", "outlined", "functions", "."], "TS_V_token": ["ARM", "ARM", "2", "0", "ARM::tTAILJMPr", "ARM::TAILJMPr", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARMCC::AL"], "File": "ARMBaseInstrInfo127", "Func": "buildOutlinedFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9978, "Length": 221} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "ARMBaseInstrInfo", "::", "insertOutlinedCall", "(", "Module", "&", "M", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "It", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "Candidate", "&", "C", ")", "const", "{", "MachineInstrBuilder", "MIB", ";", "MachineBasicBlock", "::", "iterator", "CallPt", ";", "unsigned", "Opc", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerTailCall", ")", "{", "Opc", "=", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "isThumb", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "It", "=", "MBB", ".", "insert", "(", "It", ",", "MIB", ")", ";", "return", "It", ";", "}", "Opc", "=", "isThumb", "?", "ARM", "::", "tBL", ":", "ARM", "::", "BL", ";", "MachineInstrBuilder", "CallMIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ";", "if", "(", "isThumb", ")", "CallMIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "CallMIB", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerRegSave", ")", "{", "unsigned", "Reg", "=", "findRegisterToSaveLRTo", "(", "C", ")", ";", "assert", "(", "Reg", "!=", "0", "&&", "\"No callee-saved register available?\"", ")", ";", "if", "(", "!", "MBB", ".", "isLiveIn", "(", "ARM", "::", "LR", ")", ")", "MBB", ".", "addLiveIn", "(", "ARM", "::", "LR", ")", ";", "copyPhysReg", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "Reg", ",", "ARM", "::", "LR", ",", "true", ")", ";", "CallPt", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "copyPhysReg", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "ARM", "::", "LR", ",", "Reg", ",", "true", ")", ";", "It", "--", ";", "return", "CallPt", ";", "}", "It", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "return", "It", ";", "}", ""], "natrual_language": ["Insert", "a", "call", "to", "an", "outlined", "function", "into", "the", "program", "."], "TS_V_token": ["ARM", "ARM", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARM::tBL", "ARM::BL", "ARMCC::AL", "0", "\"No callee-saved register available?\"", "ARM::LR", "ARM::LR", "ARM::LR", "ARM::LR"], "File": "ARMBaseInstrInfo127", "Func": "insertOutlinedCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9979, "Length": 325} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "buildOutlinedFrame", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "OutlinedFunction", "&", "OF", ")", "const", "{", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "{", "MachineInstr", "*", "Call", "=", "&", "*", "--", "MBB", ".", "instr_end", "(", ")", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "unsigned", "FuncOp", "=", "isThumb", "?", "2", ":", "0", ";", "unsigned", "Opc", "=", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", "?", "isThumb", "?", "ARM", "::", "tTAILJMPr", ":", "ARM", "::", "TAILJMPr", ":", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "add", "(", "Call", "->", "getOperand", "(", "FuncOp", ")", ")", ";", "if", "(", "isThumb", "&&", "!", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "Call", "->", "eraseFromParent", "(", ")", ";", "}", "auto", "IsNonTailCall", "=", "[", "]", "(", "MachineInstr", "&", "MI", ")", "{", "return", "MI", ".", "isCall", "(", ")", "&&", "!", "MI", ".", "isReturn", "(", ")", ";", "}", ";", "if", "(", "llvm", "::", "any_of", "(", "MBB", ".", "instrs", "(", ")", ",", "IsNonTailCall", ")", ")", "{", "MachineBasicBlock", "::", "iterator", "It", "=", "MBB", ".", "begin", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "Et", "=", "MBB", ".", "end", "(", ")", ";", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerTailCall", "||", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "Et", "=", "std", "::", "prev", "(", "MBB", ".", "end", "(", ")", ")", ";", "if", "(", "!", "MBB", ".", "isLiveIn", "(", "ARM", "::", "LR", ")", ")", "MBB", ".", "addLiveIn", "(", "ARM", "::", "LR", ")", ";", "bool", "Auth", "=", "OF", ".", "Candidates", ".", "front", "(", ")", ".", "getMF", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "shouldSignReturnAddress", "(", "true", ")", ";", "saveLROnStack", "(", "MBB", ",", "It", ",", "true", ",", "Auth", ")", ";", "assert", "(", "OF", ".", "FrameConstructionID", "!=", "MachineOutlinerDefault", "&&", "\"Can only fix up stack references once\"", ")", ";", "fixupPostOutline", "(", "MBB", ")", ";", "restoreLRFromStack", "(", "MBB", ",", "Et", ",", "true", ",", "Auth", ")", ";", "}", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerTailCall", "||", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "return", ";", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Subtarget", ".", "getReturnOpcode", "(", ")", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "OF", ".", "FrameConstructionID", "!=", "MachineOutlinerDefault", "&&", "OF", ".", "Candidates", "[", "0", "]", ".", "CallConstructionID", "!=", "MachineOutlinerDefault", ")", "return", ";", "fixupPostOutline", "(", "MBB", ")", ";", "}", ""], "natrual_language": ["Insert", "a", "custom", "frame", "for", "outlined", "functions", "."], "TS_V_token": ["ARM", "ARM", "2", "0", "ARM::tTAILJMPr", "ARM::TAILJMPr", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARM::LR", "ARM::LR", "ARM", "\"Can only fix up stack references once\"", "ARMCC::AL", "0"], "File": "ARMBaseInstrInfo128", "Func": "buildOutlinedFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9980, "Length": 430} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "ClobbersPredicate", "(", "MachineInstr", "&", "MI", ",", "std", "::", "vector", "<", "MachineOperand", ">", "&", "Pred", ",", "bool", "SkipDead", ")", "const", "{", "bool", "Found", "=", "false", ";", "for", "(", "const", "MachineOperand", "&", "MO", ":", "MI", ".", "operands", "(", ")", ")", "{", "bool", "ClobbersCPSR", "=", "MO", ".", "isRegMask", "(", ")", "&&", "MO", ".", "clobbersPhysReg", "(", "ARM", "::", "CPSR", ")", ";", "bool", "IsCPSR", "=", "MO", ".", "isReg", "(", ")", "&&", "MO", ".", "isDef", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", ";", "if", "(", "ClobbersCPSR", "||", "IsCPSR", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "if", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "ThumbArithFlagSetting", "&&", "MO", ".", "isDead", "(", ")", "&&", "SkipDead", ")", "continue", ";", "Pred", ".", "push_back", "(", "MO", ")", ";", "Found", "=", "true", ";", "}", "}", "return", "Found", ";", "}", ""], "natrual_language": ["If", "the", "specified", "instruction", "defines", "any", "predicate", "or", "condition", "code", "register", "(", "s", ")", "used", "for", "predication", ",", "returns", "true", "as", "well", "as", "the", "definition", "predicate", "(", "s", ")", "by", "reference", "."], "TS_V_token": ["ARM", "ARM", "ARM::CPSR", "ARM::CPSR", "ARMII::ThumbArithFlagSetting"], "File": "ARMBaseInstrInfo128", "Func": "ClobbersPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9981, "Length": 140} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "TargetOpcode", "::", "LOAD_STACK_GUARD", ")", "{", "expandLoadStackGuard", "(", "MI", ")", ";", "MI", ".", "getParent", "(", ")", "->", "erase", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MEMCPY", ")", "{", "expandMEMCPY", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "!", "MI", ".", "isCopy", "(", ")", "||", "Subtarget", ".", "dontWidenVMOVS", "(", ")", "||", "!", "Subtarget", ".", "hasFP64", "(", ")", ")", "return", "false", ";", "Register", "DstRegS", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "Register", "SrcRegS", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", ".", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", ".", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "MI", ")", ";", "MachineInstrBuilder", "MIB", "(", "*", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", ".", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", ".", "RemoveOperand", "(", "ImpDefIdx", ")", ";", "MI", ".", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", ".", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MIB", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", ".", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM::MEMCPY", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "ARMCC::AL", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo128", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9982, "Length": 410} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "ARMBaseInstrInfo", "::", "insertOutlinedCall", "(", "Module", "&", "M", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "It", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "Candidate", "&", "C", ")", "const", "{", "MachineInstrBuilder", "MIB", ";", "MachineBasicBlock", "::", "iterator", "CallPt", ";", "unsigned", "Opc", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerTailCall", ")", "{", "Opc", "=", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "isThumb", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "It", "=", "MBB", ".", "insert", "(", "It", ",", "MIB", ")", ";", "return", "It", ";", "}", "Opc", "=", "isThumb", "?", "ARM", "::", "tBL", ":", "ARM", "::", "BL", ";", "MachineInstrBuilder", "CallMIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ";", "if", "(", "isThumb", ")", "CallMIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "CallMIB", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerNoLRSave", "||", "C", ".", "CallConstructionID", "==", "MachineOutlinerThunk", ")", "{", "It", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "return", "It", ";", "}", "const", "ARMFunctionInfo", "&", "AFI", "=", "*", "C", ".", "getMF", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerRegSave", ")", "{", "unsigned", "Reg", "=", "findRegisterToSaveLRTo", "(", "C", ")", ";", "assert", "(", "Reg", "!=", "0", "&&", "\"No callee-saved register available?\"", ")", ";", "copyPhysReg", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "Reg", ",", "ARM", "::", "LR", ",", "true", ")", ";", "if", "(", "!", "AFI", ".", "isLRSpilled", "(", ")", ")", "emitCFIForLRSaveToReg", "(", "MBB", ",", "It", ",", "Reg", ")", ";", "CallPt", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "copyPhysReg", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "ARM", "::", "LR", ",", "Reg", ",", "true", ")", ";", "if", "(", "!", "AFI", ".", "isLRSpilled", "(", ")", ")", "emitCFIForLRRestoreFromReg", "(", "MBB", ",", "It", ")", ";", "It", "--", ";", "return", "CallPt", ";", "}", "if", "(", "!", "MBB", ".", "isLiveIn", "(", "ARM", "::", "LR", ")", ")", "MBB", ".", "addLiveIn", "(", "ARM", "::", "LR", ")", ";", "bool", "Auth", "=", "!", "AFI", ".", "isLRSpilled", "(", ")", "&&", "AFI", ".", "shouldSignReturnAddress", "(", "true", ")", ";", "saveLROnStack", "(", "MBB", ",", "It", ",", "!", "AFI", ".", "isLRSpilled", "(", ")", ",", "Auth", ")", ";", "CallPt", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "restoreLRFromStack", "(", "MBB", ",", "It", ",", "!", "AFI", ".", "isLRSpilled", "(", ")", ",", "Auth", ")", ";", "It", "--", ";", "return", "CallPt", ";", "}", ""], "natrual_language": ["Insert", "a", "call", "to", "an", "outlined", "function", "into", "the", "program", "."], "TS_V_token": ["ARM", "ARM", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARM::tBL", "ARM::BL", "ARMCC::AL", "ARM", "ARM", "0", "\"No callee-saved register available?\"", "ARM::LR", "ARM::LR", "ARM::LR", "ARM::LR"], "File": "ARMBaseInstrInfo128", "Func": "insertOutlinedCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9983, "Length": 460} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "mergeOutliningCandidateAttributes", "(", "Function", "&", "F", ",", "std", "::", "vector", "<", "outliner", "::", "Candidate", ">", "&", "Candidates", ")", "const", "{", "outliner", "::", "Candidate", "&", "C", "=", "Candidates", ".", "front", "(", ")", ";", "const", "Function", "&", "CFn", "=", "C", ".", "getMF", "(", ")", "->", "getFunction", "(", ")", ";", "if", "(", "CFn", ".", "hasFnAttribute", "(", "\"branch-target-enforcement\"", ")", ")", "F", ".", "addFnAttr", "(", "CFn", ".", "getFnAttribute", "(", "\"branch-target-enforcement\"", ")", ")", ";", "ARMGenInstrInfo", "::", "mergeOutliningCandidateAttributes", "(", "F", ",", "Candidates", ")", ";", "}", ""], "natrual_language": ["Optional", "target", "hook", "to", "create", "the", "LLVM", "IR", "attributes", "for", "the", "outlined", "function", "."], "TS_V_token": ["ARM", "ARM", "\"branch-target-enforcement\"", "\"branch-target-enforcement\"", "ARM"], "File": "ARMBaseInstrInfo128", "Func": "mergeOutliningCandidateAttributes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9984, "Length": 80} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "optimizeSelect", "(", "MachineInstr", "&", "MI", ",", "SmallPtrSetImpl", "<", "MachineInstr", "*", ">", "&", "SeenMIs", ",", "bool", "PreferFalse", ")", "const", "{", "assert", "(", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MOVCCr", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "t2MOVCCr", ")", "&&", "\"Unknown select instruction\"", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineInstr", "*", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "bool", "Invert", "=", "!", "DefMI", ";", "if", "(", "!", "DefMI", ")", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "if", "(", "!", "DefMI", ")", "return", "nullptr", ";", "MachineOperand", "FalseReg", "=", "MI", ".", "getOperand", "(", "Invert", "?", "2", ":", "1", ")", ";", "MachineOperand", "TrueReg", "=", "MI", ".", "getOperand", "(", "Invert", "?", "1", ":", "2", ")", ";", "Register", "DestReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "const", "TargetRegisterClass", "*", "FalseClass", "=", "MRI", ".", "getRegClass", "(", "FalseReg", ".", "getReg", "(", ")", ")", ";", "const", "TargetRegisterClass", "*", "TrueClass", "=", "MRI", ".", "getRegClass", "(", "TrueReg", ".", "getReg", "(", ")", ")", ";", "if", "(", "!", "MRI", ".", "constrainRegClass", "(", "DestReg", ",", "FalseClass", ")", ")", "return", "nullptr", ";", "if", "(", "!", "MRI", ".", "constrainRegClass", "(", "DestReg", ",", "TrueClass", ")", ")", "return", "nullptr", ";", "MachineInstrBuilder", "NewMI", "=", "BuildMI", "(", "*", "MI", ".", "getParent", "(", ")", ",", "MI", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "DefMI", "->", "getDesc", "(", ")", ",", "DestReg", ")", ";", "const", "MCInstrDesc", "&", "DefDesc", "=", "DefMI", "->", "getDesc", "(", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "DefDesc", ".", "getNumOperands", "(", ")", ";", "i", "!=", "e", "&&", "!", "DefDesc", ".", "OpInfo", "[", "i", "]", ".", "isPredicate", "(", ")", ";", "++", "i", ")", "NewMI", ".", "add", "(", "DefMI", "->", "getOperand", "(", "i", ")", ")", ";", "unsigned", "CondCode", "=", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", ";", "if", "(", "Invert", ")", "NewMI", ".", "addImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "ARMCC", "::", "CondCodes", "(", "CondCode", ")", ")", ")", ";", "else", "NewMI", ".", "addImm", "(", "CondCode", ")", ";", "NewMI", ".", "add", "(", "MI", ".", "getOperand", "(", "4", ")", ")", ";", "if", "(", "NewMI", "->", "hasOptionalDef", "(", ")", ")", "NewMI", ".", "add", "(", "condCodeOp", "(", ")", ")", ";", "FalseReg", ".", "setImplicit", "(", ")", ";", "NewMI", ".", "add", "(", "FalseReg", ")", ";", "NewMI", "->", "tieOperands", "(", "0", ",", "NewMI", "->", "getNumOperands", "(", ")", "-", "1", ")", ";", "SeenMIs", ".", "insert", "(", "NewMI", ")", ";", "SeenMIs", ".", "erase", "(", "DefMI", ")", ";", "if", "(", "DefMI", "->", "getParent", "(", ")", "!=", "MI", ".", "getParent", "(", ")", ")", "NewMI", "->", "clearKillInfo", "(", ")", ";", "DefMI", "->", "eraseFromParent", "(", ")", ";", "return", "NewMI", ";", "}", ""], "natrual_language": ["Given", "a", "select", "instruction", "that", "was", "understood", "by", "analyzeSelect", "and", "returned", "Optimizable", "=", "true", ",", "attempt", "to", "optimize", "MI", "by", "merging", "it", "with", "one", "of", "its", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "\"Unknown select instruction\"", "2", "1", "2", "1", "1", "2", "0", "1", "3", "ARMCC::getOppositeCondition", "ARMCC::CondCodes", "4", "0", "1"], "File": "ARMBaseInstrInfo128", "Func": "optimizeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9985, "Length": 463} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "verifyInstruction", "(", "const", "MachineInstr", "&", "MI", ",", "StringRef", "&", "ErrInfo", ")", "const", "{", "if", "(", "convertAddSubFlagsOpcode", "(", "MI", ".", "getOpcode", "(", ")", ")", ")", "{", "ErrInfo", "=", "\"Pseudo flag setting opcodes only exist in Selection DAG\"", ";", "return", "false", ";", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tMOVr", "&&", "!", "Subtarget", ".", "hasV6Ops", "(", ")", ")", "{", "if", "(", "!", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "!", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "{", "ErrInfo", "=", "\"Non-flag-setting Thumb1 mov is v6-only\"", ";", "return", "false", ";", "}", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPUSH", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", ")", "{", "for", "(", "const", "MachineOperand", "&", "MO", ":", "llvm", "::", "drop_begin", "(", "MI", ".", "operands", "(", ")", ",", "2", ")", ")", "{", "if", "(", "MO", ".", "isImplicit", "(", ")", "||", "!", "MO", ".", "isReg", "(", ")", ")", "continue", ";", "Register", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "<", "ARM", "::", "R0", "||", "Reg", ">", "ARM", "::", "R7", ")", "{", "if", "(", "!", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPUSH", "&&", "Reg", "==", "ARM", "::", "LR", ")", "&&", "!", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", "&&", "Reg", "==", "ARM", "::", "PC", ")", ")", "{", "ErrInfo", "=", "\"Unsupported register in Thumb1 push/pop\"", ";", "return", "false", ";", "}", "}", "}", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MVE_VMOV_q_rr", ")", "{", "assert", "(", "MI", ".", "getOperand", "(", "4", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "5", ")", ".", "isImm", "(", ")", ")", ";", "if", "(", "(", "MI", ".", "getOperand", "(", "4", ")", ".", "getImm", "(", ")", "!=", "2", "&&", "MI", ".", "getOperand", "(", "4", ")", ".", "getImm", "(", ")", "!=", "3", ")", "||", "MI", ".", "getOperand", "(", "4", ")", ".", "getImm", "(", ")", "!=", "MI", ".", "getOperand", "(", "5", ")", ".", "getImm", "(", ")", "+", "2", ")", "{", "ErrInfo", "=", "\"Incorrect array index for MVE_VMOV_q_rr\"", ";", "return", "false", ";", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["Perform", "target-specific", "instruction", "verification", "."], "TS_V_token": ["ARM", "ARM", "\"Pseudo flag setting opcodes only exist in Selection DAG\"", "ARM::tMOVr", "ARM::hGPRRegClass", "0", "ARM::hGPRRegClass", "1", "\"Non-flag-setting Thumb1 mov is v6-only\"", "ARM::tPUSH", "ARM::tPOP", "ARM::tPOP_RET", "2", "ARM::R0", "ARM::R7", "ARM::tPUSH", "ARM::LR", "ARM::tPOP_RET", "ARM::PC", "\"Unsupported register in Thumb1 push/pop\"", "ARM::MVE_VMOV_q_rr", "4", "5", "4", "2", "4", "3", "4", "5", "2", "\"Incorrect array index for MVE_VMOV_q_rr\""], "File": "ARMBaseInstrInfo128", "Func": "verifyInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9986, "Length": 359} {"ground_truth": ["", "Optional", "<", "DestSourcePair", ">", "ARMBaseInstrInfo", "::", "isAddImmediate", "(", "const", "MachineInstr", "&", "MI", ",", "int64_t", "&", "Offset", ")", "const", "{", "int", "Sign", "=", "1", ";", "unsigned", "Opcode", "=", "MI", ".", "getOpcode", "(", ")", ";", "if", "(", "Opcode", "==", "ARM", "::", "SUBri", ")", "Sign", "=", "-", "1", ";", "else", "if", "(", "Opcode", "!=", "ARM", "::", "ADDri", ")", "return", "None", ";", "if", "(", "!", "MI", ".", "getOperand", "(", "0", ")", ".", "isReg", "(", ")", "||", "!", "MI", ".", "getOperand", "(", "1", ")", ".", "isReg", "(", ")", "||", "!", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", ")", "return", "None", ";", "Offset", "=", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "*", "Sign", ";", "return", "DestSourcePair", "{", "MI", ".", "getOperand", "(", "0", ")", ",", "MI", ".", "getOperand", "(", "1", ")", "}", ";", "}", ""], "natrual_language": ["If", "the", "specific", "machine", "instruction", "is", "an", "instruction", "that", "adds", "an", "immediate", "value", "and", "a", "register", ",", "and", "stores", "the", "result", "in", "the", "given", "register", "Reg", ",", "return", "a", "pair", "of", "the", "source", "register", "and", "the", "offset", "which", "has", "been", "added", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM::SUBri", "1", "ARM::ADDri", "0", "1", "2", "2", "0", "1"], "File": "ARMBaseInstrInfo129", "Func": "isAddImmediate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9987, "Length": 133} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "commuteInstruction", "(", "MachineInstr", "*", "MI", ",", "bool", "NewMI", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "MOVCCr", ":", "case", "ARM", "::", "t2MOVCCr", ":", "{", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "MI", ",", "PredReg", ")", ";", "if", "(", "CC", "==", "ARMCC", "::", "AL", "||", "PredReg", "!=", "ARM", "::", "CPSR", ")", "return", "NULL", ";", "MI", "=", "TargetInstrInfoImpl", "::", "commuteInstruction", "(", "MI", ",", "NewMI", ")", ";", "if", "(", "!", "MI", ")", "return", "NULL", ";", "MI", "->", "getOperand", "(", "MI", "->", "findFirstPredOperandIdx", "(", ")", ")", ".", "setImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "CC", ")", ")", ";", "return", "MI", ";", "}", "}", "return", "TargetInstrInfoImpl", "::", "commuteInstruction", "(", "MI", ",", "NewMI", ")", ";", "}", ""], "natrual_language": ["This", "method", "commutes", "the", "operands", "of", "the", "given", "machine", "instruction", "MI", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "0", "ARMCC::CondCodes", "ARMCC::AL", "ARM::CPSR", "ARMCC::getOppositeCondition"], "File": "ARMBaseInstrInfo14", "Func": "commuteInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9988, "Length": 125} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeBranch", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "*", "&", "TBB", ",", "MachineBasicBlock", "*", "&", "FBB", ",", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Cond", ",", "bool", "AllowModify", ")", "const", "{", "TBB", "=", "nullptr", ";", "FBB", "=", "nullptr", ";", "MachineBasicBlock", "::", "instr_iterator", "I", "=", "MBB", ".", "instr_end", "(", ")", ";", "if", "(", "I", "==", "MBB", ".", "instr_begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "while", "(", "isPredicated", "(", "*", "I", ")", "||", "I", "->", "isTerminator", "(", ")", "||", "I", "->", "isDebugValue", "(", ")", ")", "{", "bool", "CantAnalyze", "=", "false", ";", "while", "(", "I", "->", "isDebugInstr", "(", ")", "||", "!", "I", "->", "isTerminator", "(", ")", "||", "isSpeculationBarrierEndBBOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "if", "(", "I", "==", "MBB", ".", "instr_begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "}", "if", "(", "isIndirectBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isJumpTableBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "CantAnalyze", "=", "true", ";", "}", "else", "if", "(", "isUncondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "TBB", "=", "I", "->", "getOperand", "(", "0", ")", ".", "getMBB", "(", ")", ";", "}", "else", "if", "(", "isCondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "if", "(", "!", "Cond", ".", "empty", "(", ")", ")", "return", "true", ";", "assert", "(", "!", "FBB", "&&", "\"FBB should have been null.\"", ")", ";", "FBB", "=", "TBB", ";", "TBB", "=", "I", "->", "getOperand", "(", "0", ")", ".", "getMBB", "(", ")", ";", "Cond", ".", "push_back", "(", "I", "->", "getOperand", "(", "1", ")", ")", ";", "Cond", ".", "push_back", "(", "I", "->", "getOperand", "(", "2", ")", ")", ";", "}", "else", "if", "(", "I", "->", "isReturn", "(", ")", ")", "{", "CantAnalyze", "=", "true", ";", "}", "else", "{", "return", "true", ";", "}", "if", "(", "!", "isPredicated", "(", "*", "I", ")", "&&", "(", "isUncondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isIndirectBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isJumpTableBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "I", "->", "isReturn", "(", ")", ")", ")", "{", "Cond", ".", "clear", "(", ")", ";", "FBB", "=", "nullptr", ";", "if", "(", "AllowModify", ")", "{", "MachineBasicBlock", "::", "iterator", "DI", "=", "std", "::", "next", "(", "I", ")", ";", "while", "(", "DI", "!=", "MBB", ".", "instr_end", "(", ")", ")", "{", "MachineInstr", "&", "InstToDelete", "=", "*", "DI", ";", "++", "DI", ";", "if", "(", "isSpeculationBarrierEndBBOpcode", "(", "InstToDelete", ".", "getOpcode", "(", ")", ")", ")", "continue", ";", "InstToDelete", ".", "eraseFromParent", "(", ")", ";", "}", "}", "}", "if", "(", "CantAnalyze", ")", "{", "if", "(", "AllowModify", "&&", "!", "isPredicated", "(", "MBB", ".", "back", "(", ")", ")", "&&", "isUncondBranchOpcode", "(", "MBB", ".", "back", "(", ")", ".", "getOpcode", "(", ")", ")", "&&", "TBB", "&&", "MBB", ".", "isLayoutSuccessor", "(", "TBB", ")", ")", "removeBranch", "(", "MBB", ")", ";", "return", "true", ";", "}", "if", "(", "I", "==", "MBB", ".", "instr_begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["analyzeBranch", "-", "Analyze", "the", "branching", "code", "at", "the", "end", "of", "MBB", ",", "returning", "true", "if", "it", "can", "not", "be", "understood", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "\"FBB should have been null.\"", "0", "1", "2"], "File": "ARMBaseInstrInfo15", "Func": "analyzeBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9989, "Length": 469} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "buildOutlinedFrame", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "OutlinedFunction", "&", "OF", ")", "const", "{", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "{", "MachineInstr", "*", "Call", "=", "&", "*", "--", "MBB", ".", "instr_end", "(", ")", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "unsigned", "FuncOp", "=", "isThumb", "?", "2", ":", "0", ";", "unsigned", "Opc", "=", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", "?", "isThumb", "?", "ARM", "::", "tTAILJMPr", ":", "ARM", "::", "TAILJMPr", ":", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "add", "(", "Call", "->", "getOperand", "(", "FuncOp", ")", ")", ";", "if", "(", "isThumb", "&&", "!", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "Call", "->", "eraseFromParent", "(", ")", ";", "}", "auto", "IsNonTailCall", "=", "[", "]", "(", "MachineInstr", "&", "MI", ")", "{", "return", "MI", ".", "isCall", "(", ")", "&&", "!", "MI", ".", "isReturn", "(", ")", ";", "}", ";", "if", "(", "llvm", "::", "any_of", "(", "MBB", ".", "instrs", "(", ")", ",", "IsNonTailCall", ")", ")", "{", "MachineBasicBlock", "::", "iterator", "It", "=", "MBB", ".", "begin", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "Et", "=", "MBB", ".", "end", "(", ")", ";", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerTailCall", "||", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "Et", "=", "std", "::", "prev", "(", "MBB", ".", "end", "(", ")", ")", ";", "if", "(", "!", "MBB", ".", "isLiveIn", "(", "ARM", "::", "LR", ")", ")", "MBB", ".", "addLiveIn", "(", "ARM", "::", "LR", ")", ";", "saveLROnStack", "(", "MBB", ",", "It", ")", ";", "emitCFIForLRSaveOnStack", "(", "MBB", ",", "It", ")", ";", "restoreLRFromStack", "(", "MBB", ",", "Et", ")", ";", "emitCFIForLRRestoreFromStack", "(", "MBB", ",", "Et", ")", ";", "}", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerTailCall", "||", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "return", ";", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Subtarget", ".", "getReturnOpcode", "(", ")", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", ""], "natrual_language": ["Insert", "a", "custom", "frame", "for", "outlined", "functions", "."], "TS_V_token": ["ARM", "ARM", "2", "0", "ARM::tTAILJMPr", "ARM::TAILJMPr", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARM::LR", "ARM::LR", "ARMCC::AL"], "File": "ARMBaseInstrInfo15", "Func": "buildOutlinedFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9990, "Length": 367} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "ARMBaseInstrInfo", "::", "insertOutlinedCall", "(", "Module", "&", "M", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "It", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "Candidate", "&", "C", ")", "const", "{", "MachineInstrBuilder", "MIB", ";", "MachineBasicBlock", "::", "iterator", "CallPt", ";", "unsigned", "Opc", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerTailCall", ")", "{", "Opc", "=", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "isThumb", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "It", "=", "MBB", ".", "insert", "(", "It", ",", "MIB", ")", ";", "return", "It", ";", "}", "Opc", "=", "isThumb", "?", "ARM", "::", "tBL", ":", "ARM", "::", "BL", ";", "MachineInstrBuilder", "CallMIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ";", "if", "(", "isThumb", ")", "CallMIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "CallMIB", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerNoLRSave", "||", "C", ".", "CallConstructionID", "==", "MachineOutlinerThunk", ")", "{", "It", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "return", "It", ";", "}", "const", "ARMFunctionInfo", "&", "AFI", "=", "*", "C", ".", "getMF", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerRegSave", ")", "{", "unsigned", "Reg", "=", "findRegisterToSaveLRTo", "(", "C", ")", ";", "assert", "(", "Reg", "!=", "0", "&&", "\"No callee-saved register available?\"", ")", ";", "copyPhysReg", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "Reg", ",", "ARM", "::", "LR", ",", "true", ")", ";", "if", "(", "!", "AFI", ".", "isLRSpilled", "(", ")", ")", "emitCFIForLRSaveToReg", "(", "MBB", ",", "It", ",", "Reg", ")", ";", "CallPt", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "copyPhysReg", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "ARM", "::", "LR", ",", "Reg", ",", "true", ")", ";", "if", "(", "!", "AFI", ".", "isLRSpilled", "(", ")", ")", "emitCFIForLRRestoreFromReg", "(", "MBB", ",", "It", ")", ";", "It", "--", ";", "return", "CallPt", ";", "}", "saveLROnStack", "(", "MBB", ",", "It", ")", ";", "if", "(", "!", "AFI", ".", "isLRSpilled", "(", ")", ")", "emitCFIForLRSaveOnStack", "(", "MBB", ",", "It", ")", ";", "CallPt", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "restoreLRFromStack", "(", "MBB", ",", "It", ")", ";", "if", "(", "!", "AFI", ".", "isLRSpilled", "(", ")", ")", "emitCFIForLRRestoreFromStack", "(", "MBB", ",", "It", ")", ";", "It", "--", ";", "return", "CallPt", ";", "}", ""], "natrual_language": ["Insert", "a", "call", "to", "an", "outlined", "function", "into", "the", "program", "."], "TS_V_token": ["ARM", "ARM", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARM::tBL", "ARM::BL", "ARMCC::AL", "ARM", "ARM", "0", "\"No callee-saved register available?\"", "ARM::LR", "ARM::LR"], "File": "ARMBaseInstrInfo15", "Func": "insertOutlinedCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9991, "Length": 436} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "Align", "=", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "Align", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", ")", "RC", "=", "ARM", "::", "GPRRegisterClass", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "LDR", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "DPRRegisterClass", "||", "RC", "==", "ARM", "::", "DPR_VFP2RegisterClass", "||", "RC", "==", "ARM", "::", "DPR_8RegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VLDRD", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "SPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VLDRS", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "{", "assert", "(", "(", "RC", "==", "ARM", "::", "QPRRegisterClass", "||", "RC", "==", "ARM", "::", "QPR_VFP2RegisterClass", "||", "RC", "==", "ARM", "::", "QPR_8RegisterClass", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "Align", ">=", "16", "&&", "(", "getRegisterInfo", "(", ")", ".", "canRealignStack", "(", "MF", ")", ")", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VLD1q", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "128", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VLDMQ", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "ARM_AM", "::", "getAM5Opc", "(", "ARM_AM", "::", "ia", ",", "4", ")", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tGPRRegisterClass", "ARM::GPRRegisterClass", "ARM::GPRRegisterClass", "ARM::LDR", "0", "0", "ARM::DPRRegisterClass", "ARM::DPR_VFP2RegisterClass", "ARM::DPR_8RegisterClass", "ARM::VLDRD", "0", "ARM::SPRRegisterClass", "ARM::VLDRS", "0", "ARM::QPRRegisterClass", "ARM::QPR_VFP2RegisterClass", "ARM::QPR_8RegisterClass", "\"Unknown regclass!\"", "16", "ARM::VLD1q", "128", "ARM::VLDMQ", "ARM_AM::getAM5Opc", "ARM_AM::ia", "4"], "File": "ARMBaseInstrInfo16", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9992, "Length": 414} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "Align", "=", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "Align", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", ")", "RC", "=", "ARM", "::", "GPRRegisterClass", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "STR", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "DPRRegisterClass", "||", "RC", "==", "ARM", "::", "DPR_VFP2RegisterClass", "||", "RC", "==", "ARM", "::", "DPR_8RegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VSTRD", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "SPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VSTRS", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "else", "{", "assert", "(", "(", "RC", "==", "ARM", "::", "QPRRegisterClass", "||", "RC", "==", "ARM", "::", "QPR_VFP2RegisterClass", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "Align", ">=", "16", "&&", "(", "getRegisterInfo", "(", ")", ".", "canRealignStack", "(", "MF", ")", ")", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VST1q", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "128", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ")", ";", "}", "else", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VSTMQ", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "ARM_AM", "::", "getAM5Opc", "(", "ARM_AM", "::", "ia", ",", "4", ")", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tGPRRegisterClass", "ARM::GPRRegisterClass", "ARM::GPRRegisterClass", "ARM::STR", "0", "0", "ARM::DPRRegisterClass", "ARM::DPR_VFP2RegisterClass", "ARM::DPR_8RegisterClass", "ARM::VSTRD", "0", "ARM::SPRRegisterClass", "ARM::VSTRS", "0", "ARM::QPRRegisterClass", "ARM::QPR_VFP2RegisterClass", "\"Unknown regclass!\"", "16", "ARM::VST1q", "128", "ARM::VSTMQ", "ARM_AM::getAM5Opc", "ARM_AM::ia", "4"], "File": "ARMBaseInstrInfo16", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9993, "Length": 451} {"ground_truth": ["", "ArrayRef", "<", "std", "::", "pair", "<", "unsigned", ",", "const", "char", "*", ">>", "ARMBaseInstrInfo", "::", "getSerializableBitmaskMachineOperandTargetFlags", "(", ")", "const", "{", "using", "namespace", "ARMII", ";", "static", "const", "std", "::", "pair", "<", "unsigned", ",", "const", "char", "*", ">", "TargetFlags", "[", "]", "=", "{", "{", "MO_GOT", ",", "\"arm-got\"", "}", ",", "{", "MO_SBREL", ",", "\"arm-sbrel\"", "}", ",", "{", "MO_DLLIMPORT", ",", "\"arm-dllimport\"", "}", ",", "{", "MO_SECREL", ",", "\"arm-secrel\"", "}", ",", "{", "MO_NONLAZY", ",", "\"arm-nonlazy\"", "}", "}", ";", "return", "makeArrayRef", "(", "TargetFlags", ")", ";", "}", ""], "natrual_language": ["Return", "an", "array", "that", "contains", "the", "bitmask", "target", "flag", "values", "and", "their", "names", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"arm-got\"", "\"arm-sbrel\"", "\"arm-dllimport\"", "\"arm-secrel\"", "\"arm-nonlazy\""], "File": "ARMBaseInstrInfo18", "Func": "getSerializableBitmaskMachineOperandTargetFlags", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9994, "Length": 78} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isCopyInstr", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineOperand", "*", "&", "Src", ",", "const", "MachineOperand", "*", "&", "Dest", ")", "const", "{", "if", "(", "!", "MI", ".", "isMoveReg", "(", ")", "||", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "VORRq", "&&", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", "!=", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ")", "return", "false", ";", "Dest", "=", "&", "MI", ".", "getOperand", "(", "0", ")", ";", "Src", "=", "&", "MI", ".", "getOperand", "(", "1", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["If", "the", "specific", "machine", "instruction", "is", "a", "instruction", "that", "moves/copies", "value", "from", "one", "register", "to", "another", "register", "return", "destination", "and", "source", "registers", "as", "machine", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::VORRq", "1", "2", "0", "1"], "File": "ARMBaseInstrInfo18", "Func": "isCopyInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9995, "Length": 94} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeBranch", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "*", "&", "TBB", ",", "MachineBasicBlock", "*", "&", "FBB", ",", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Cond", ",", "bool", "AllowModify", ")", "const", "{", "TBB", "=", "nullptr", ";", "FBB", "=", "nullptr", ";", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", ".", "end", "(", ")", ";", "if", "(", "I", "==", "MBB", ".", "begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "while", "(", "isPredicated", "(", "*", "I", ")", "||", "I", "->", "isTerminator", "(", ")", "||", "I", "->", "isDebugValue", "(", ")", ")", "{", "bool", "CantAnalyze", "=", "false", ";", "while", "(", "I", "->", "isDebugInstr", "(", ")", "||", "!", "I", "->", "isTerminator", "(", ")", ")", "{", "if", "(", "I", "==", "MBB", ".", "begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "}", "if", "(", "isIndirectBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isJumpTableBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "CantAnalyze", "=", "true", ";", "}", "else", "if", "(", "isUncondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "TBB", "=", "I", "->", "getOperand", "(", "0", ")", ".", "getMBB", "(", ")", ";", "}", "else", "if", "(", "isCondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "{", "if", "(", "!", "Cond", ".", "empty", "(", ")", ")", "return", "true", ";", "assert", "(", "!", "FBB", "&&", "\"FBB should have been null.\"", ")", ";", "FBB", "=", "TBB", ";", "TBB", "=", "I", "->", "getOperand", "(", "0", ")", ".", "getMBB", "(", ")", ";", "Cond", ".", "push_back", "(", "I", "->", "getOperand", "(", "1", ")", ")", ";", "Cond", ".", "push_back", "(", "I", "->", "getOperand", "(", "2", ")", ")", ";", "}", "else", "if", "(", "I", "->", "isReturn", "(", ")", ")", "{", "CantAnalyze", "=", "!", "isPredicated", "(", "*", "I", ")", ";", "}", "else", "{", "return", "true", ";", "}", "if", "(", "!", "isPredicated", "(", "*", "I", ")", "&&", "(", "isUncondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isIndirectBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "isJumpTableBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "||", "I", "->", "isReturn", "(", ")", ")", ")", "{", "Cond", ".", "clear", "(", ")", ";", "FBB", "=", "nullptr", ";", "if", "(", "AllowModify", ")", "{", "MachineBasicBlock", "::", "iterator", "DI", "=", "std", "::", "next", "(", "I", ")", ";", "while", "(", "DI", "!=", "MBB", ".", "end", "(", ")", ")", "{", "MachineInstr", "&", "InstToDelete", "=", "*", "DI", ";", "++", "DI", ";", "InstToDelete", ".", "eraseFromParent", "(", ")", ";", "}", "}", "}", "if", "(", "CantAnalyze", ")", "return", "true", ";", "if", "(", "I", "==", "MBB", ".", "begin", "(", ")", ")", "return", "false", ";", "--", "I", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["analyzeBranch", "-", "Analyze", "the", "branching", "code", "at", "the", "end", "of", "MBB", ",", "returning", "true", "if", "it", "can", "not", "be", "understood", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "\"FBB should have been null.\"", "0", "1", "2"], "File": "ARMBaseInstrInfo1", "Func": "analyzeBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9996, "Length": 409} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "analyzeCompare", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "&", "SrcReg", ",", "unsigned", "&", "SrcReg2", ",", "int", "&", "CmpMask", ",", "int", "&", "CmpValue", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "CMPri", ":", "case", "ARM", "::", "t2CMPri", ":", "case", "ARM", "::", "tCMPi8", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "0", ";", "CmpMask", "=", "~", "0", ";", "CmpValue", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "return", "true", ";", "case", "ARM", "::", "CMPrr", ":", "case", "ARM", "::", "t2CMPrr", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "CmpMask", "=", "~", "0", ";", "CmpValue", "=", "0", ";", "return", "true", ";", "case", "ARM", "::", "TSTri", ":", "case", "ARM", "::", "t2TSTri", ":", "SrcReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "SrcReg2", "=", "0", ";", "CmpMask", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "CmpValue", "=", "0", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["analyzeCompare", "-", "For", "a", "comparison", "instruction", ",", "return", "the", "source", "registers", "in", "SrcReg", "and", "SrcReg2", "if", "having", "two", "register", "operands", ",", "and", "the", "value", "it", "compares", "against", "in", "CmpValue", "."], "TS_V_token": ["ARM", "ARM", "ARM::CMPri", "ARM::t2CMPri", "ARM::tCMPi8", "0", "0", "0", "1", "ARM::CMPrr", "ARM::t2CMPrr", "0", "1", "0", "0", "ARM::TSTri", "ARM::t2TSTri", "0", "0", "1", "0"], "File": "ARMBaseInstrInfo1", "Func": "analyzeCompare", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9997, "Length": 194} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "breakPartialRegDependency", "(", "MachineInstr", "&", "MI", ",", "unsigned", "OpNum", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "OpNum", "<", "MI", ".", "getDesc", "(", ")", ".", "getNumDefs", "(", ")", "&&", "\"OpNum is not a def\"", ")", ";", "assert", "(", "TRI", "&&", "\"Need TRI instance\"", ")", ";", "const", "MachineOperand", "&", "MO", "=", "MI", ".", "getOperand", "(", "OpNum", ")", ";", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "assert", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "Reg", ")", "&&", "\"Can't break virtual register dependencies.\"", ")", ";", "unsigned", "DReg", "=", "Reg", ";", "if", "(", "ARM", "::", "SPRRegClass", ".", "contains", "(", "Reg", ")", ")", "{", "DReg", "=", "ARM", "::", "D0", "+", "(", "Reg", "-", "ARM", "::", "S0", ")", "/", "2", ";", "assert", "(", "TRI", "->", "isSuperRegister", "(", "Reg", ",", "DReg", ")", "&&", "\"Register enums broken\"", ")", ";", "}", "assert", "(", "ARM", "::", "DPRRegClass", ".", "contains", "(", "DReg", ")", "&&", "\"Can only break D-reg deps\"", ")", ";", "assert", "(", "MI", ".", "definesRegister", "(", "DReg", ",", "TRI", ")", "&&", "\"MI doesn't clobber full D-reg\"", ")", ";", "BuildMI", "(", "*", "MI", ".", "getParent", "(", ")", ",", "MI", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "get", "(", "ARM", "::", "FCONSTD", ")", ",", "DReg", ")", ".", "addImm", "(", "96", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "MI", ".", "addRegisterKilled", "(", "DReg", ",", "TRI", ",", "true", ")", ";", "}", ""], "natrual_language": ["Insert", "a", "dependency-breaking", "instruction", "before", "MI", "to", "eliminate", "an", "unwanted", "dependency", "on", "OpNum", "."], "TS_V_token": ["ARM", "ARM", "\"OpNum is not a def\"", "\"Need TRI instance\"", "\"Can't break virtual register dependencies.\"", "ARM::SPRRegClass", "ARM::D0", "ARM::S0", "2", "\"Register enums broken\"", "ARM::DPRRegClass", "\"Can only break D-reg deps\"", "\"MI doesn't clobber full D-reg\"", "ARM::FCONSTD", "96", "ARMCC::AL"], "File": "ARMBaseInstrInfo1", "Func": "breakPartialRegDependency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9998, "Length": 206} {"ground_truth": ["", "std", "::", "pair", "<", "unsigned", ",", "unsigned", ">", "ARMBaseInstrInfo", "::", "decomposeMachineOperandsTargetFlags", "(", "unsigned", "TF", ")", "const", "{", "const", "unsigned", "Mask", "=", "ARMII", "::", "MO_OPTION_MASK", ";", "return", "std", "::", "make_pair", "(", "TF", "&", "Mask", ",", "TF", "&", "~", "Mask", ")", ";", "}", ""], "natrual_language": ["Decompose", "the", "machine", "operand", "'s", "target", "flags", "into", "two", "values", "-", "the", "direct", "target", "flag", "value", "and", "any", "of", "bit", "flags", "that", "are", "applied", "."], "TS_V_token": ["ARM", "ARM", "ARMII::MO_OPTION_MASK"], "File": "ARMBaseInstrInfo1", "Func": "decomposeMachineOperandsTargetFlags", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 9999, "Length": 41} {"ground_truth": ["", "MachineInstr", "&", "ARMBaseInstrInfo", "::", "duplicate", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "InsertBefore", ",", "const", "MachineInstr", "&", "Orig", ")", "const", "{", "MachineInstr", "&", "Cloned", "=", "TargetInstrInfo", "::", "duplicate", "(", "MBB", ",", "InsertBefore", ",", "Orig", ")", ";", "MachineBasicBlock", "::", "instr_iterator", "I", "=", "Cloned", ".", "getIterator", "(", ")", ";", "for", "(", ";", ";", ")", "{", "switch", "(", "I", "->", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "tLDRpci_pic", ":", "case", "ARM", "::", "t2LDRpci_pic", ":", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "unsigned", "CPI", "=", "I", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "unsigned", "PCLabelId", "=", "duplicateCPV", "(", "MF", ",", "CPI", ")", ";", "I", "->", "getOperand", "(", "1", ")", ".", "setIndex", "(", "CPI", ")", ";", "I", "->", "getOperand", "(", "2", ")", ".", "setImm", "(", "PCLabelId", ")", ";", "break", ";", "}", "}", "if", "(", "!", "I", "->", "isBundledWithSucc", "(", ")", ")", "break", ";", "++", "I", ";", "}", "return", "Cloned", ";", "}", ""], "natrual_language": ["Clones", "instruction", "or", "the", "whole", "instruction", "bundle", "Orig", "and", "insert", "into", "MBB", "before", "InsertBefore", "."], "TS_V_token": ["ARM", "ARM", "ARM::tLDRpci_pic", "ARM::t2LDRpci_pic", "1", "1", "2"], "File": "ARMBaseInstrInfo1", "Func": "duplicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10000, "Length": 156} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "TargetOpcode", "::", "LOAD_STACK_GUARD", ")", "{", "assert", "(", "getSubtarget", "(", ")", ".", "getTargetTriple", "(", ")", ".", "isOSBinFormatMachO", "(", ")", "&&", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", ")", ";", "expandLoadStackGuard", "(", "MI", ")", ";", "MI", ".", "getParent", "(", ")", "->", "erase", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MEMCPY", ")", "{", "expandMEMCPY", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "!", "MI", ".", "isCopy", "(", ")", "||", "Subtarget", ".", "dontWidenVMOVS", "(", ")", "||", "Subtarget", ".", "isFPOnlySP", "(", ")", ")", "return", "false", ";", "unsigned", "DstRegS", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "unsigned", "SrcRegS", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", ".", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", ".", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "MI", ")", ";", "MachineInstrBuilder", "MIB", "(", "*", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", ".", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", ".", "RemoveOperand", "(", "ImpDefIdx", ")", ";", "MI", ".", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", ".", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MIB", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", ".", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "\"LOAD_STACK_GUARD currently supported only for MachO.\"", "ARM::MEMCPY", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "ARMCC::AL", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo1", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10001, "Length": 426} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "getExtractSubregLikeInputs", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "DefIdx", ",", "RegSubRegPairAndIdx", "&", "InputReg", ")", "const", "{", "assert", "(", "DefIdx", "<", "MI", ".", "getDesc", "(", ")", ".", "getNumDefs", "(", ")", "&&", "\"Invalid definition index\"", ")", ";", "assert", "(", "MI", ".", "isExtractSubregLike", "(", ")", "&&", "\"Invalid kind of instruction\"", ")", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "VMOVRRD", ":", "const", "MachineOperand", "&", "MOReg", "=", "MI", ".", "getOperand", "(", "2", ")", ";", "if", "(", "MOReg", ".", "isUndef", "(", ")", ")", "return", "false", ";", "InputReg", ".", "Reg", "=", "MOReg", ".", "getReg", "(", ")", ";", "InputReg", ".", "SubReg", "=", "MOReg", ".", "getSubReg", "(", ")", ";", "InputReg", ".", "SubIdx", "=", "DefIdx", "==", "0", "?", "ARM", "::", "ssub_0", ":", "ARM", "::", "ssub_1", ";", "return", "true", ";", "}", "llvm_unreachable", "(", "\"Target dependent opcode missing\"", ")", ";", "}", ""], "natrual_language": ["Target-dependent", "implementation", "of", "getExtractSubregInputs", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid definition index\"", "\"Invalid kind of instruction\"", "ARM::VMOVRRD", "2", "0", "ARM::ssub_0", "ARM::ssub_1", "\"Target dependent opcode missing\""], "File": "ARMBaseInstrInfo1", "Func": "getExtractSubregLikeInputs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10002, "Length": 130} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "getInsertSubregLikeInputs", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "DefIdx", ",", "RegSubRegPair", "&", "BaseReg", ",", "RegSubRegPairAndIdx", "&", "InsertedReg", ")", "const", "{", "assert", "(", "DefIdx", "<", "MI", ".", "getDesc", "(", ")", ".", "getNumDefs", "(", ")", "&&", "\"Invalid definition index\"", ")", ";", "assert", "(", "MI", ".", "isInsertSubregLike", "(", ")", "&&", "\"Invalid kind of instruction\"", ")", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "VSETLNi32", ":", "const", "MachineOperand", "&", "MOBaseReg", "=", "MI", ".", "getOperand", "(", "1", ")", ";", "const", "MachineOperand", "&", "MOInsertedReg", "=", "MI", ".", "getOperand", "(", "2", ")", ";", "if", "(", "MOInsertedReg", ".", "isUndef", "(", ")", ")", "return", "false", ";", "const", "MachineOperand", "&", "MOIndex", "=", "MI", ".", "getOperand", "(", "3", ")", ";", "BaseReg", ".", "Reg", "=", "MOBaseReg", ".", "getReg", "(", ")", ";", "BaseReg", ".", "SubReg", "=", "MOBaseReg", ".", "getSubReg", "(", ")", ";", "InsertedReg", ".", "Reg", "=", "MOInsertedReg", ".", "getReg", "(", ")", ";", "InsertedReg", ".", "SubReg", "=", "MOInsertedReg", ".", "getSubReg", "(", ")", ";", "InsertedReg", ".", "SubIdx", "=", "MOIndex", ".", "getImm", "(", ")", "==", "0", "?", "ARM", "::", "ssub_0", ":", "ARM", "::", "ssub_1", ";", "return", "true", ";", "}", "llvm_unreachable", "(", "\"Target dependent opcode missing\"", ")", ";", "}", ""], "natrual_language": ["Target-dependent", "implementation", "of", "getInsertSubregInputs", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid definition index\"", "\"Invalid kind of instruction\"", "ARM::VSETLNi32", "1", "2", "3", "0", "ARM::ssub_0", "ARM::ssub_1", "\"Target dependent opcode missing\""], "File": "ARMBaseInstrInfo1", "Func": "getInsertSubregLikeInputs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10003, "Length": 182} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getInstrLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "&", "MI", ",", "unsigned", "*", "PredCost", ")", "const", "{", "if", "(", "MI", ".", "isCopyLike", "(", ")", "||", "MI", ".", "isInsertSubreg", "(", ")", "||", "MI", ".", "isRegSequence", "(", ")", "||", "MI", ".", "isImplicitDef", "(", ")", ")", "return", "1", ";", "if", "(", "MI", ".", "isBundle", "(", ")", ")", "{", "unsigned", "Latency", "=", "0", ";", "MachineBasicBlock", "::", "const_instr_iterator", "I", "=", "MI", ".", "getIterator", "(", ")", ";", "MachineBasicBlock", "::", "const_instr_iterator", "E", "=", "MI", ".", "getParent", "(", ")", "->", "instr_end", "(", ")", ";", "while", "(", "++", "I", "!=", "E", "&&", "I", "->", "isInsideBundle", "(", ")", ")", "{", "if", "(", "I", "->", "getOpcode", "(", ")", "!=", "ARM", "::", "t2IT", ")", "Latency", "+=", "getInstrLatency", "(", "ItinData", ",", "*", "I", ",", "PredCost", ")", ";", "}", "return", "Latency", ";", "}", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "if", "(", "PredCost", "&&", "(", "MCID", ".", "isCall", "(", ")", "||", "(", "MCID", ".", "hasImplicitDefOfPhysReg", "(", "ARM", "::", "CPSR", ")", "&&", "!", "Subtarget", ".", "cheapPredicableCPSRDef", "(", ")", ")", ")", ")", "{", "*", "PredCost", "=", "1", ";", "}", "if", "(", "!", "ItinData", ")", "return", "MI", ".", "mayLoad", "(", ")", "?", "3", ":", "1", ";", "unsigned", "Class", "=", "MCID", ".", "getSchedClass", "(", ")", ";", "if", "(", "!", "ItinData", "->", "isEmpty", "(", ")", "&&", "ItinData", "->", "getNumMicroOps", "(", "Class", ")", "<", "0", ")", "return", "getNumMicroOps", "(", "ItinData", ",", "MI", ")", ";", "unsigned", "Latency", "=", "ItinData", "->", "getStageLatency", "(", "Class", ")", ";", "unsigned", "DefAlign", "=", "MI", ".", "hasOneMemOperand", "(", ")", "?", "(", "*", "MI", ".", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", ":", "0", ";", "int", "Adj", "=", "adjustDefLatency", "(", "Subtarget", ",", "MI", ",", "MCID", ",", "DefAlign", ")", ";", "if", "(", "Adj", ">=", "0", "||", "(", "int", ")", "Latency", ">", "-", "Adj", ")", "{", "return", "Latency", "+", "Adj", ";", "}", "return", "Latency", ";", "}", ""], "natrual_language": ["Compute", "the", "instruction", "latency", "of", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "ARM::t2IT", "ARM::CPSR", "1", "3", "1", "0", "0", "0"], "File": "ARMBaseInstrInfo1", "Func": "getInstrLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10004, "Length": 305} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getInstSizeInBytes", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "const", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "const", "MachineFunction", "*", "MF", "=", "MBB", ".", "getParent", "(", ")", ";", "const", "MCAsmInfo", "*", "MAI", "=", "MF", "->", "getTarget", "(", ")", ".", "getMCAsmInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "if", "(", "MCID", ".", "getSize", "(", ")", ")", "return", "MCID", ".", "getSize", "(", ")", ";", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "INLINEASM", ")", "{", "unsigned", "Size", "=", "getInlineAsmLength", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getSymbolName", "(", ")", ",", "*", "MAI", ")", ";", "if", "(", "!", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isThumbFunction", "(", ")", ")", "Size", "=", "alignTo", "(", "Size", ",", "4", ")", ";", "return", "Size", ";", "}", "unsigned", "Opc", "=", "MI", ".", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "default", ":", "return", "0", ";", "case", "TargetOpcode", "::", "BUNDLE", ":", "return", "getInstBundleLength", "(", "MI", ")", ";", "case", "ARM", "::", "MOVi16_ga_pcrel", ":", "case", "ARM", "::", "MOVTi16_ga_pcrel", ":", "case", "ARM", "::", "t2MOVi16_ga_pcrel", ":", "case", "ARM", "::", "t2MOVTi16_ga_pcrel", ":", "return", "4", ";", "case", "ARM", "::", "MOVi32imm", ":", "case", "ARM", "::", "t2MOVi32imm", ":", "return", "8", ";", "case", "ARM", "::", "CONSTPOOL_ENTRY", ":", "case", "ARM", "::", "JUMPTABLE_INSTS", ":", "case", "ARM", "::", "JUMPTABLE_ADDRS", ":", "case", "ARM", "::", "JUMPTABLE_TBB", ":", "case", "ARM", "::", "JUMPTABLE_TBH", ":", "return", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", ";", "case", "ARM", "::", "Int_eh_sjlj_longjmp", ":", "return", "16", ";", "case", "ARM", "::", "tInt_eh_sjlj_longjmp", ":", "return", "10", ";", "case", "ARM", "::", "tInt_WIN_eh_sjlj_longjmp", ":", "return", "12", ";", "case", "ARM", "::", "Int_eh_sjlj_setjmp", ":", "case", "ARM", "::", "Int_eh_sjlj_setjmp_nofp", ":", "return", "20", ";", "case", "ARM", "::", "tInt_eh_sjlj_setjmp", ":", "case", "ARM", "::", "t2Int_eh_sjlj_setjmp", ":", "case", "ARM", "::", "t2Int_eh_sjlj_setjmp_nofp", ":", "return", "12", ";", "case", "ARM", "::", "SPACE", ":", "return", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "}", "}", ""], "natrual_language": ["Returns", "the", "size", "in", "bytes", "of", "the", "specified", "MachineInstr", ",", "or", "~0U", "when", "this", "function", "is", "not", "implemented", "by", "a", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM::INLINEASM", "0", "ARM", "4", "0", "ARM::MOVi16_ga_pcrel", "ARM::MOVTi16_ga_pcrel", "ARM::t2MOVi16_ga_pcrel", "ARM::t2MOVTi16_ga_pcrel", "4", "ARM::MOVi32imm", "ARM::t2MOVi32imm", "8", "ARM::CONSTPOOL_ENTRY", "ARM::JUMPTABLE_INSTS", "ARM::JUMPTABLE_ADDRS", "ARM::JUMPTABLE_TBB", "ARM::JUMPTABLE_TBH", "2", "ARM::Int_eh_sjlj_longjmp", "16", "ARM::tInt_eh_sjlj_longjmp", "10", "ARM::tInt_WIN_eh_sjlj_longjmp", "12", "ARM::Int_eh_sjlj_setjmp", "ARM::Int_eh_sjlj_setjmp_nofp", "20", "ARM::tInt_eh_sjlj_setjmp", "ARM::t2Int_eh_sjlj_setjmp", "ARM::t2Int_eh_sjlj_setjmp_nofp", "12", "ARM::SPACE", "1"], "File": "ARMBaseInstrInfo1", "Func": "getInstSizeInBytes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10005, "Length": 315} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "getRegSequenceLikeInputs", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "DefIdx", ",", "SmallVectorImpl", "<", "RegSubRegPairAndIdx", ">", "&", "InputRegs", ")", "const", "{", "assert", "(", "DefIdx", "<", "MI", ".", "getDesc", "(", ")", ".", "getNumDefs", "(", ")", "&&", "\"Invalid definition index\"", ")", ";", "assert", "(", "MI", ".", "isRegSequenceLike", "(", ")", "&&", "\"Invalid kind of instruction\"", ")", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "VMOVDRR", ":", "const", "MachineOperand", "*", "MOReg", "=", "&", "MI", ".", "getOperand", "(", "1", ")", ";", "if", "(", "!", "MOReg", "->", "isUndef", "(", ")", ")", "InputRegs", ".", "push_back", "(", "RegSubRegPairAndIdx", "(", "MOReg", "->", "getReg", "(", ")", ",", "MOReg", "->", "getSubReg", "(", ")", ",", "ARM", "::", "ssub_0", ")", ")", ";", "MOReg", "=", "&", "MI", ".", "getOperand", "(", "2", ")", ";", "if", "(", "!", "MOReg", "->", "isUndef", "(", ")", ")", "InputRegs", ".", "push_back", "(", "RegSubRegPairAndIdx", "(", "MOReg", "->", "getReg", "(", ")", ",", "MOReg", "->", "getSubReg", "(", ")", ",", "ARM", "::", "ssub_1", ")", ")", ";", "return", "true", ";", "}", "llvm_unreachable", "(", "\"Target dependent opcode missing\"", ")", ";", "}", ""], "natrual_language": ["Target-dependent", "implementation", "of", "getRegSequenceInputs", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid definition index\"", "\"Invalid kind of instruction\"", "ARM::VMOVDRR", "1", "ARM::ssub_0", "2", "ARM::ssub_1", "\"Target dependent opcode missing\""], "File": "ARMBaseInstrInfo1", "Func": "getRegSequenceLikeInputs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10006, "Length": 163} {"ground_truth": ["", "ArrayRef", "<", "std", "::", "pair", "<", "unsigned", ",", "const", "char", "*", ">>", "ARMBaseInstrInfo", "::", "getSerializableBitmaskMachineOperandTargetFlags", "(", ")", "const", "{", "using", "namespace", "ARMII", ";", "static", "const", "std", "::", "pair", "<", "unsigned", ",", "const", "char", "*", ">", "TargetFlags", "[", "]", "=", "{", "{", "MO_COFFSTUB", ",", "\"arm-coffstub\"", "}", ",", "{", "MO_GOT", ",", "\"arm-got\"", "}", ",", "{", "MO_SBREL", ",", "\"arm-sbrel\"", "}", ",", "{", "MO_DLLIMPORT", ",", "\"arm-dllimport\"", "}", ",", "{", "MO_SECREL", ",", "\"arm-secrel\"", "}", ",", "{", "MO_NONLAZY", ",", "\"arm-nonlazy\"", "}", "}", ";", "return", "makeArrayRef", "(", "TargetFlags", ")", ";", "}", ""], "natrual_language": ["Return", "an", "array", "that", "contains", "the", "bitmask", "target", "flag", "values", "and", "their", "names", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"arm-coffstub\"", "\"arm-got\"", "\"arm-sbrel\"", "\"arm-dllimport\"", "\"arm-secrel\"", "\"arm-nonlazy\""], "File": "ARMBaseInstrInfo1", "Func": "getSerializableBitmaskMachineOperandTargetFlags", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10007, "Length": 84} {"ground_truth": ["", "ArrayRef", "<", "std", "::", "pair", "<", "unsigned", ",", "const", "char", "*", ">>", "ARMBaseInstrInfo", "::", "getSerializableDirectMachineOperandTargetFlags", "(", ")", "const", "{", "using", "namespace", "ARMII", ";", "static", "const", "std", "::", "pair", "<", "unsigned", ",", "const", "char", "*", ">", "TargetFlags", "[", "]", "=", "{", "{", "MO_LO16", ",", "\"arm-lo16\"", "}", ",", "{", "MO_HI16", ",", "\"arm-hi16\"", "}", "}", ";", "return", "makeArrayRef", "(", "TargetFlags", ")", ";", "}", ""], "natrual_language": ["Return", "an", "array", "that", "contains", "the", "direct", "target", "flag", "values", "and", "their", "names", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"arm-lo16\"", "\"arm-hi16\""], "File": "ARMBaseInstrInfo1", "Func": "getSerializableDirectMachineOperandTargetFlags", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10008, "Length": 60} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "insertBranch", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "*", "TBB", ",", "MachineBasicBlock", "*", "FBB", ",", "ArrayRef", "<", "MachineOperand", ">", "Cond", ",", "const", "DebugLoc", "&", "DL", ",", "int", "*", "BytesAdded", ")", "const", "{", "assert", "(", "!", "BytesAdded", "&&", "\"code size not handled\"", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MBB", ".", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int", "BOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "B", ":", "(", "AFI", "->", "isThumb2Function", "(", ")", "?", "ARM", "::", "t2B", ":", "ARM", "::", "tB", ")", ";", "int", "BccOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "Bcc", ":", "(", "AFI", "->", "isThumb2Function", "(", ")", "?", "ARM", "::", "t2Bcc", ":", "ARM", "::", "tBcc", ")", ";", "bool", "isThumb", "=", "AFI", "->", "isThumbFunction", "(", ")", "||", "AFI", "->", "isThumb2Function", "(", ")", ";", "assert", "(", "TBB", "&&", "\"insertBranch must not be told to insert a fallthrough\"", ")", ";", "assert", "(", "(", "Cond", ".", "size", "(", ")", "==", "2", "||", "Cond", ".", "size", "(", ")", "==", "0", ")", "&&", "\"ARM branch conditions have two components!\"", ")", ";", "if", "(", "!", "FBB", ")", "{", "if", "(", "Cond", ".", "empty", "(", ")", ")", "{", "if", "(", "isThumb", ")", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BOpc", ")", ")", ".", "addMBB", "(", "TBB", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "else", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BOpc", ")", ")", ".", "addMBB", "(", "TBB", ")", ";", "}", "else", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BccOpc", ")", ")", ".", "addMBB", "(", "TBB", ")", ".", "addImm", "(", "Cond", "[", "0", "]", ".", "getImm", "(", ")", ")", ".", "add", "(", "Cond", "[", "1", "]", ")", ";", "return", "1", ";", "}", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BccOpc", ")", ")", ".", "addMBB", "(", "TBB", ")", ".", "addImm", "(", "Cond", "[", "0", "]", ".", "getImm", "(", ")", ")", ".", "add", "(", "Cond", "[", "1", "]", ")", ";", "if", "(", "isThumb", ")", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BOpc", ")", ")", ".", "addMBB", "(", "FBB", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "else", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BOpc", ")", ")", ".", "addMBB", "(", "FBB", ")", ";", "return", "2", ";", "}", ""], "natrual_language": ["Insert", "branch", "code", "into", "the", "end", "of", "the", "specified", "MachineBasicBlock", "."], "TS_V_token": ["ARM", "ARM", "\"code size not handled\"", "ARM", "ARM", "ARM::B", "ARM::t2B", "ARM::tB", "ARM::Bcc", "ARM::t2Bcc", "ARM::tBcc", "\"insertBranch must not be told to insert a fallthrough\"", "2", "0", "\"ARM branch conditions have two components!\"", "ARMCC::AL", "0", "1", "1", "0", "1", "ARMCC::AL", "2"], "File": "ARMBaseInstrInfo1", "Func": "insertBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10009, "Length": 367} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isCopyInstrImpl", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineOperand", "*", "&", "Src", ",", "const", "MachineOperand", "*", "&", "Dest", ")", "const", "{", "if", "(", "!", "MI", ".", "isMoveReg", "(", ")", "||", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "VORRq", "&&", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", "!=", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ")", "return", "false", ";", "Dest", "=", "&", "MI", ".", "getOperand", "(", "0", ")", ";", "Src", "=", "&", "MI", ".", "getOperand", "(", "1", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["If", "the", "specific", "machine", "instruction", "is", "a", "instruction", "that", "moves/copies", "value", "from", "one", "register", "to", "another", "register", "return", "destination", "and", "source", "registers", "as", "machine", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::VORRq", "1", "2", "0", "1"], "File": "ARMBaseInstrInfo1", "Func": "isCopyInstrImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10010, "Length": 94} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlot", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDRrs", ":", "case", "ARM", "::", "t2LDRs", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "tLDRspi", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLD1q64", ":", "case", "ARM", "::", "VLD1d8TPseudo", ":", "case", "ARM", "::", "VLD1d16TPseudo", ":", "case", "ARM", "::", "VLD1d32TPseudo", ":", "case", "ARM", "::", "VLD1d64TPseudo", ":", "case", "ARM", "::", "VLD1d8QPseudo", ":", "case", "ARM", "::", "VLD1d16QPseudo", ":", "case", "ARM", "::", "VLD1d32QPseudo", ":", "case", "ARM", "::", "VLD1d64QPseudo", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLDMQIA", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isLoadFromStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "load", "from", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "destination", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDRrs", "ARM::t2LDRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::LDRi12", "ARM::t2LDRi12", "ARM::tLDRspi", "ARM::VLDRD", "ARM::VLDRS", "1", "2", "2", "0", "1", "0", "ARM::VLD1q64", "ARM::VLD1d8TPseudo", "ARM::VLD1d16TPseudo", "ARM::VLD1d32TPseudo", "ARM::VLD1d64TPseudo", "ARM::VLD1d8QPseudo", "ARM::VLD1d16QPseudo", "ARM::VLD1d32QPseudo", "ARM::VLD1d64QPseudo", "1", "0", "0", "1", "0", "ARM::VLDMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo1", "Func": "isLoadFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10011, "Length": 385} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlotPostFE", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "SmallVector", "<", "const", "MachineMemOperand", "*", ",", "1", ">", "Accesses", ";", "if", "(", "MI", ".", "mayLoad", "(", ")", "&&", "hasLoadFromStackSlot", "(", "MI", ",", "Accesses", ")", ")", "{", "FrameIndex", "=", "cast", "<", "FixedStackPseudoSourceValue", ">", "(", "Accesses", ".", "front", "(", ")", "->", "getPseudoValue", "(", ")", ")", "->", "getFrameIndex", "(", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["isLoadFromStackSlotPostFE", "-", "Check", "for", "post-frame", "ptr", "elimination", "stack", "locations", "as", "well", "."], "TS_V_token": ["ARM", "ARM", "1"], "File": "ARMBaseInstrInfo1", "Func": "isLoadFromStackSlotPostFE", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10012, "Length": 72} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicable", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "!", "MI", ".", "isPredicable", "(", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "isBundle", "(", ")", ")", "return", "false", ";", "if", "(", "!", "isEligibleForITBlock", "(", "&", "MI", ")", ")", "return", "false", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainNEON", ")", "return", "false", ";", "if", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", "{", "if", "(", "getSubtarget", "(", ")", ".", "restrictIT", "(", ")", ")", "return", "isV8EligibleForIT", "(", "&", "MI", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "instruction", "can", "be", "predicated", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainNEON"], "File": "ARMBaseInstrInfo1", "Func": "isPredicable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10013, "Length": 123} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToIfCvt", "(", "MachineBasicBlock", "&", "TBB", ",", "unsigned", "TCycles", ",", "unsigned", "TExtra", ",", "MachineBasicBlock", "&", "FBB", ",", "unsigned", "FCycles", ",", "unsigned", "FExtra", ",", "BranchProbability", "Probability", ")", "const", "{", "if", "(", "!", "TCycles", ")", "return", "false", ";", "const", "unsigned", "ScalingUpFactor", "=", "1024", ";", "unsigned", "PredCost", "=", "(", "TCycles", "+", "FCycles", "+", "TExtra", "+", "FExtra", ")", "*", "ScalingUpFactor", ";", "unsigned", "UnpredCost", ";", "if", "(", "!", "Subtarget", ".", "hasBranchPredictor", "(", ")", ")", "{", "unsigned", "NotTakenBranchCost", "=", "1", ";", "unsigned", "TakenBranchCost", "=", "Subtarget", ".", "getMispredictionPenalty", "(", ")", ";", "unsigned", "TUnpredCycles", ",", "FUnpredCycles", ";", "if", "(", "!", "FCycles", ")", "{", "TUnpredCycles", "=", "TCycles", "+", "NotTakenBranchCost", ";", "FUnpredCycles", "=", "TakenBranchCost", ";", "}", "else", "{", "TUnpredCycles", "=", "TCycles", "+", "TakenBranchCost", ";", "FUnpredCycles", "=", "FCycles", "+", "NotTakenBranchCost", ";", "PredCost", "-=", "1", "*", "ScalingUpFactor", ";", "}", "unsigned", "TUnpredCost", "=", "Probability", ".", "scale", "(", "TUnpredCycles", "*", "ScalingUpFactor", ")", ";", "unsigned", "FUnpredCost", "=", "Probability", ".", "getCompl", "(", ")", ".", "scale", "(", "FUnpredCycles", "*", "ScalingUpFactor", ")", ";", "UnpredCost", "=", "TUnpredCost", "+", "FUnpredCost", ";", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "&&", "TCycles", "+", "FCycles", ">", "4", ")", "{", "PredCost", "+=", "(", "(", "TCycles", "+", "FCycles", "-", "4", ")", "/", "4", ")", "*", "ScalingUpFactor", ";", "}", "}", "else", "{", "unsigned", "TUnpredCost", "=", "Probability", ".", "scale", "(", "TCycles", "*", "ScalingUpFactor", ")", ";", "unsigned", "FUnpredCost", "=", "Probability", ".", "getCompl", "(", ")", ".", "scale", "(", "FCycles", "*", "ScalingUpFactor", ")", ";", "UnpredCost", "=", "TUnpredCost", "+", "FUnpredCost", ";", "UnpredCost", "+=", "1", "*", "ScalingUpFactor", ";", "UnpredCost", "+=", "Subtarget", ".", "getMispredictionPenalty", "(", ")", "*", "ScalingUpFactor", "/", "10", ";", "}", "return", "PredCost", "<=", "UnpredCost", ";", "}", ""], "natrual_language": ["Second", "variant", "of", "isProfitableToIfCvt", "."], "TS_V_token": ["ARM", "ARM", "1024", "1", "1", "4", "4", "4", "1", "10"], "File": "ARMBaseInstrInfo1", "Func": "isProfitableToIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10014, "Length": 257} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isSchedulingBoundary", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineBasicBlock", "*", "MBB", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "MI", ".", "isDebugInstr", "(", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "isTerminator", "(", ")", "||", "MI", ".", "isPosition", "(", ")", ")", "return", "true", ";", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MI", ";", "while", "(", "++", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "isDebugInstr", "(", ")", ")", ";", "if", "(", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "return", "true", ";", "if", "(", "!", "MI", ".", "isCall", "(", ")", "&&", "MI", ".", "definesRegister", "(", "ARM", "::", "SP", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["isSchedulingBoundary", "-", "Overrides", "the", "isSchedulingBoundary", "from", "Codegen/TargetInstrInfo.cpp", "to", "make", "it", "capable", "of", "identifying", "ENDBR", "intructions", "and", "prevent", "it", "from", "being", "re-scheduled", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2IT", "ARM::SP"], "File": "ARMBaseInstrInfo1", "Func": "isSchedulingBoundary", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10015, "Length": 123} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlotPostFE", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "SmallVector", "<", "const", "MachineMemOperand", "*", ",", "1", ">", "Accesses", ";", "if", "(", "MI", ".", "mayStore", "(", ")", "&&", "hasStoreToStackSlot", "(", "MI", ",", "Accesses", ")", ")", "{", "FrameIndex", "=", "cast", "<", "FixedStackPseudoSourceValue", ">", "(", "Accesses", ".", "front", "(", ")", "->", "getPseudoValue", "(", ")", ")", "->", "getFrameIndex", "(", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["isStoreToStackSlotPostFE", "-", "Check", "for", "post-frame", "ptr", "elimination", "stack", "locations", "as", "well", "."], "TS_V_token": ["ARM", "ARM", "1"], "File": "ARMBaseInstrInfo1", "Func": "isStoreToStackSlotPostFE", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10016, "Length": 72} {"ground_truth": ["", "MachineInstr", "*", "ARMBaseInstrInfo", "::", "optimizeSelect", "(", "MachineInstr", "&", "MI", ",", "SmallPtrSetImpl", "<", "MachineInstr", "*", ">", "&", "SeenMIs", ",", "bool", "PreferFalse", ")", "const", "{", "assert", "(", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MOVCCr", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "t2MOVCCr", ")", "&&", "\"Unknown select instruction\"", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineInstr", "*", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "bool", "Invert", "=", "!", "DefMI", ";", "if", "(", "!", "DefMI", ")", "DefMI", "=", "canFoldIntoMOVCC", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "MRI", ",", "this", ")", ";", "if", "(", "!", "DefMI", ")", "return", "nullptr", ";", "MachineOperand", "FalseReg", "=", "MI", ".", "getOperand", "(", "Invert", "?", "2", ":", "1", ")", ";", "unsigned", "DestReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "const", "TargetRegisterClass", "*", "PreviousClass", "=", "MRI", ".", "getRegClass", "(", "FalseReg", ".", "getReg", "(", ")", ")", ";", "if", "(", "!", "MRI", ".", "constrainRegClass", "(", "DestReg", ",", "PreviousClass", ")", ")", "return", "nullptr", ";", "MachineInstrBuilder", "NewMI", "=", "BuildMI", "(", "*", "MI", ".", "getParent", "(", ")", ",", "MI", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "DefMI", "->", "getDesc", "(", ")", ",", "DestReg", ")", ";", "const", "MCInstrDesc", "&", "DefDesc", "=", "DefMI", "->", "getDesc", "(", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "DefDesc", ".", "getNumOperands", "(", ")", ";", "i", "!=", "e", "&&", "!", "DefDesc", ".", "OpInfo", "[", "i", "]", ".", "isPredicate", "(", ")", ";", "++", "i", ")", "NewMI", ".", "add", "(", "DefMI", "->", "getOperand", "(", "i", ")", ")", ";", "unsigned", "CondCode", "=", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", ";", "if", "(", "Invert", ")", "NewMI", ".", "addImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "ARMCC", "::", "CondCodes", "(", "CondCode", ")", ")", ")", ";", "else", "NewMI", ".", "addImm", "(", "CondCode", ")", ";", "NewMI", ".", "add", "(", "MI", ".", "getOperand", "(", "4", ")", ")", ";", "if", "(", "NewMI", "->", "hasOptionalDef", "(", ")", ")", "NewMI", ".", "add", "(", "condCodeOp", "(", ")", ")", ";", "FalseReg", ".", "setImplicit", "(", ")", ";", "NewMI", ".", "add", "(", "FalseReg", ")", ";", "NewMI", "->", "tieOperands", "(", "0", ",", "NewMI", "->", "getNumOperands", "(", ")", "-", "1", ")", ";", "SeenMIs", ".", "insert", "(", "NewMI", ")", ";", "SeenMIs", ".", "erase", "(", "DefMI", ")", ";", "if", "(", "DefMI", "->", "getParent", "(", ")", "!=", "MI", ".", "getParent", "(", ")", ")", "NewMI", "->", "clearKillInfo", "(", ")", ";", "DefMI", "->", "eraseFromParent", "(", ")", ";", "return", "NewMI", ";", "}", ""], "natrual_language": ["Given", "a", "select", "instruction", "that", "was", "understood", "by", "analyzeSelect", "and", "returned", "Optimizable", "=", "true", ",", "attempt", "to", "optimize", "MI", "by", "merging", "it", "with", "one", "of", "its", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVCCr", "ARM::t2MOVCCr", "\"Unknown select instruction\"", "2", "1", "2", "1", "0", "1", "3", "ARMCC::getOppositeCondition", "ARMCC::CondCodes", "4", "0", "1"], "File": "ARMBaseInstrInfo1", "Func": "optimizeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10017, "Length": 418} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "reMaterialize", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "const", "MachineInstr", "&", "Orig", ",", "const", "TargetRegisterInfo", "&", "TRI", ")", "const", "{", "unsigned", "Opcode", "=", "Orig", ".", "getOpcode", "(", ")", ";", "switch", "(", "Opcode", ")", "{", "default", ":", "{", "MachineInstr", "*", "MI", "=", "MBB", ".", "getParent", "(", ")", "->", "CloneMachineInstr", "(", "&", "Orig", ")", ";", "MI", "->", "substituteRegister", "(", "Orig", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ",", "DestReg", ",", "SubIdx", ",", "TRI", ")", ";", "MBB", ".", "insert", "(", "I", ",", "MI", ")", ";", "break", ";", "}", "case", "ARM", "::", "tLDRpci_pic", ":", "case", "ARM", "::", "t2LDRpci_pic", ":", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "unsigned", "CPI", "=", "Orig", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "unsigned", "PCLabelId", "=", "duplicateCPV", "(", "MF", ",", "CPI", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "Orig", ".", "getDebugLoc", "(", ")", ",", "get", "(", "Opcode", ")", ",", "DestReg", ")", ".", "addConstantPoolIndex", "(", "CPI", ")", ".", "addImm", "(", "PCLabelId", ")", ".", "cloneMemRefs", "(", "Orig", ")", ";", "break", ";", "}", "}", "}", ""], "natrual_language": ["Re-issue", "the", "specified", "'original", "'", "instruction", "at", "the", "specific", "location", "targeting", "a", "new", "destination", "register", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tLDRpci_pic", "ARM::t2LDRpci_pic", "1"], "File": "ARMBaseInstrInfo1", "Func": "reMaterialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10018, "Length": 185} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "removeBranch", "(", "MachineBasicBlock", "&", "MBB", ",", "int", "*", "BytesRemoved", ")", "const", "{", "assert", "(", "!", "BytesRemoved", "&&", "\"code size not handled\"", ")", ";", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", ".", "getLastNonDebugInstr", "(", ")", ";", "if", "(", "I", "==", "MBB", ".", "end", "(", ")", ")", "return", "0", ";", "if", "(", "!", "isUncondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "&&", "!", "isCondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "return", "0", ";", "I", "->", "eraseFromParent", "(", ")", ";", "I", "=", "MBB", ".", "end", "(", ")", ";", "if", "(", "I", "==", "MBB", ".", "begin", "(", ")", ")", "return", "1", ";", "--", "I", ";", "if", "(", "!", "isCondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", ")", "return", "1", ";", "I", "->", "eraseFromParent", "(", ")", ";", "return", "2", ";", "}", ""], "natrual_language": ["Remove", "the", "branching", "code", "at", "the", "end", "of", "the", "specific", "MBB", "."], "TS_V_token": ["ARM", "ARM", "\"code size not handled\"", "0", "0", "1", "1", "2"], "File": "ARMBaseInstrInfo1", "Func": "removeBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10019, "Length": 127} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "reverseBranchCondition", "(", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Cond", ")", "const", "{", "ARMCC", "::", "CondCodes", "CC", "=", "(", "ARMCC", "::", "CondCodes", ")", "(", "int", ")", "Cond", "[", "0", "]", ".", "getImm", "(", ")", ";", "Cond", "[", "0", "]", ".", "setImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "CC", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Reverses", "the", "branch", "condition", "of", "the", "specified", "condition", "list", ",", "returning", "false", "on", "success", "and", "true", "if", "it", "can", "not", "be", "reversed", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "ARMCC::CondCodes", "0", "0", "ARMCC::getOppositeCondition"], "File": "ARMBaseInstrInfo1", "Func": "reverseBranchCondition", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10020, "Length": 55} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "shouldSink", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "isPredicated", "(", "MI", ")", ")", "return", "true", ";", "MachineBasicBlock", "::", "const_iterator", "Next", "=", "&", "MI", ";", "++", "Next", ";", "unsigned", "SrcReg", ",", "SrcReg2", ";", "int", "CmpMask", ",", "CmpValue", ";", "if", "(", "Next", "!=", "MI", ".", "getParent", "(", ")", "->", "end", "(", ")", "&&", "analyzeCompare", "(", "*", "Next", ",", "SrcReg", ",", "SrcReg2", ",", "CmpMask", ",", "CmpValue", ")", "&&", "isRedundantFlagInstr", "(", "&", "*", "Next", ",", "SrcReg", ",", "SrcReg2", ",", "CmpValue", ",", "&", "MI", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "instruction", "should", "be", "sunk", "by", "MachineSink", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseInstrInfo1", "Func": "shouldSink", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10021, "Length": 94} {"ground_truth": ["", "unsigned", "getFramePred", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "assert", "(", "isFrameInstr", "(", "MI", ")", ")", ";", "if", "(", "isFrameSetup", "(", "MI", ")", ")", "return", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "assert", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "return", "MI", ".", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ";", "}", ""], "natrual_language": ["Returns", "predicate", "register", "associated", "with", "the", "given", "frame", "instruction", "."], "TS_V_token": ["ARM", "2", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "3"], "File": "ARMBaseInstrInfo21", "Func": "getFramePred", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10022, "Length": 73} {"ground_truth": ["", "bool", "isPredicated", "(", "const", "MachineInstr", "*", "MI", ")", "const", "{", "int", "PIdx", "=", "MI", "->", "findFirstPredOperandIdx", "(", ")", ";", "return", "PIdx", "!=", "-", "1", "&&", "MI", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", "!=", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "is", "already", "predicated", "."], "TS_V_token": ["ARM", "1", "ARMCC::AL"], "File": "ARMBaseInstrInfo22", "Func": "isPredicated", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10023, "Length": 41} {"ground_truth": ["", "virtual", "bool", "isProfitableToDupForIfCvt", "(", "MachineBasicBlock", "&", "MBB", ",", "unsigned", "NumInstrs", ")", "const", "{", "return", "NumInstrs", "&&", "NumInstrs", "==", "1", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "profitable", "for", "if-converter", "to", "duplicate", "instructions", "of", "specified", "accumulated", "instruction", "latencies", "in", "the", "specified", "MBB", "to", "enable", "if-conversion", "."], "TS_V_token": ["ARM", "1"], "File": "ARMBaseInstrInfo22", "Func": "isProfitableToDupForIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10024, "Length": 21} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isAddImmediate", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineOperand", "*", "&", "Destination", ",", "const", "MachineOperand", "*", "&", "Source", ",", "int64_t", "&", "Offset", ")", "const", "{", "int", "Sign", "=", "1", ";", "unsigned", "Opcode", "=", "MI", ".", "getOpcode", "(", ")", ";", "if", "(", "Opcode", "==", "ARM", "::", "SUBri", ")", "Sign", "=", "-", "1", ";", "else", "if", "(", "Opcode", "!=", "ARM", "::", "ADDri", ")", "return", "false", ";", "if", "(", "!", "MI", ".", "getOperand", "(", "0", ")", ".", "isReg", "(", ")", "||", "!", "MI", ".", "getOperand", "(", "1", ")", ".", "isReg", "(", ")", "||", "!", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", ")", "return", "false", ";", "Destination", "=", "&", "MI", ".", "getOperand", "(", "0", ")", ";", "Source", "=", "&", "MI", ".", "getOperand", "(", "1", ")", ";", "Offset", "=", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "*", "Sign", ";", "return", "true", ";", "}", ""], "natrual_language": ["If", "the", "specific", "machine", "instruction", "is", "an", "instruction", "that", "adds", "an", "immediate", "value", "and", "a", "register", ",", "and", "stores", "the", "result", "in", "the", "given", "register", "Reg", ",", "return", "a", "pair", "of", "the", "source", "register", "and", "the", "offset", "which", "has", "been", "added", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM::SUBri", "1", "ARM::ADDri", "0", "1", "2", "0", "1", "2"], "File": "ARMBaseInstrInfo25", "Func": "isAddImmediate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10025, "Length": 147} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlot", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDRrs", ":", "case", "ARM", "::", "t2LDRs", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "tLDRspi", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "VLDR_P0_off", ":", "case", "ARM", "::", "MVE_VLDRWU32", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLD1q64", ":", "case", "ARM", "::", "VLD1d8TPseudo", ":", "case", "ARM", "::", "VLD1d16TPseudo", ":", "case", "ARM", "::", "VLD1d32TPseudo", ":", "case", "ARM", "::", "VLD1d64TPseudo", ":", "case", "ARM", "::", "VLD1d8QPseudo", ":", "case", "ARM", "::", "VLD1d16QPseudo", ":", "case", "ARM", "::", "VLD1d32QPseudo", ":", "case", "ARM", "::", "VLD1d64QPseudo", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VLDMQIA", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isLoadFromStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "load", "from", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "destination", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDRrs", "ARM::t2LDRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::LDRi12", "ARM::t2LDRi12", "ARM::tLDRspi", "ARM::VLDRD", "ARM::VLDRS", "ARM::VLDR_P0_off", "ARM::MVE_VLDRWU32", "1", "2", "2", "0", "1", "0", "ARM::VLD1q64", "ARM::VLD1d8TPseudo", "ARM::VLD1d16TPseudo", "ARM::VLD1d32TPseudo", "ARM::VLD1d64TPseudo", "ARM::VLD1d8QPseudo", "ARM::VLD1d16QPseudo", "ARM::VLD1d32QPseudo", "ARM::VLD1d64QPseudo", "1", "0", "0", "1", "0", "ARM::VLDMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo30", "Func": "isLoadFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10026, "Length": 395} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlot", "(", "const", "MachineInstr", "&", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "STRrs", ":", "case", "ARM", "::", "t2STRs", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", ".", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "VSTRS", ":", "case", "ARM", "::", "VSTR_P0_off", ":", "case", "ARM", "::", "MVE_VSTRWU32", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VST1q64", ":", "case", "ARM", "::", "VST1d64TPseudo", ":", "case", "ARM", "::", "VST1d64QPseudo", ":", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "2", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "VSTMQIA", ":", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", ".", "getOperand", "(", "0", ")", ".", "getSubReg", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isStoreToStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "store", "to", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "source", "reg", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::STRrs", "ARM::t2STRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::STRi12", "ARM::t2STRi12", "ARM::tSTRspi", "ARM::VSTRD", "ARM::VSTRS", "ARM::VSTR_P0_off", "ARM::MVE_VSTRWU32", "1", "2", "2", "0", "1", "0", "ARM::VST1q64", "ARM::VST1d64TPseudo", "ARM::VST1d64QPseudo", "0", "2", "0", "0", "2", "ARM::VSTMQIA", "1", "0", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo30", "Func": "isStoreToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10027, "Length": 365} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isLoadFromStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDR", ":", "case", "ARM", "::", "t2LDRs", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "tRestore", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "FLDD", ":", "case", "ARM", "::", "FLDS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isLoadFromStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "load", "from", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "destination", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDR", "ARM::t2LDRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::t2LDRi12", "ARM::tRestore", "1", "2", "2", "0", "1", "0", "ARM::FLDD", "ARM::FLDS", "1", "2", "2", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo31", "Func": "isLoadFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10028, "Length": 286} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "isStoreToStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "STR", ":", "case", "ARM", "::", "t2STRs", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "tSpill", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "FSTD", ":", "case", "ARM", "::", "FSTS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isStoreToStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "store", "to", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "source", "reg", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::STR", "ARM::t2STRs", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::t2STRi12", "ARM::tSpill", "1", "2", "2", "0", "1", "0", "ARM::FSTD", "ARM::FSTS", "1", "2", "2", "0", "1", "0", "0"], "File": "ARMBaseInstrInfo31", "Func": "isStoreToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10029, "Length": 286} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "LDR", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "DPRRegisterClass", "||", "RC", "==", "ARM", "::", "DPR_VFP2RegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "FLDD", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "SPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "FLDS", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "{", "assert", "(", "RC", "==", "ARM", "::", "QPRRegisterClass", "&&", "\"Unknown regclass!\"", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VLDRQ", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegisterClass", "ARM::LDR", "0", "0", "ARM::DPRRegisterClass", "ARM::DPR_VFP2RegisterClass", "ARM::FLDD", "0", "ARM::SPRRegisterClass", "ARM::FLDS", "0", "ARM::QPRRegisterClass", "\"Unknown regclass!\"", "ARM::VLDRQ", "0"], "File": "ARMBaseInstrInfo31", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10030, "Length": 233} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "STR", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "DPRRegisterClass", "||", "RC", "==", "ARM", "::", "DPR_VFP2RegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "FSTD", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "SPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "FSTS", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "{", "assert", "(", "RC", "==", "ARM", "::", "QPRRegisterClass", "&&", "\"Unknown regclass!\"", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "VSTRQ", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegisterClass", "ARM::STR", "0", "0", "ARM::DPRRegisterClass", "ARM::DPR_VFP2RegisterClass", "ARM::FSTD", "0", "ARM::SPRRegisterClass", "ARM::FSTS", "0", "ARM::QPRRegisterClass", "\"Unknown regclass!\"", "ARM::VSTRQ", "0"], "File": "ARMBaseInstrInfo31", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10031, "Length": 268} {"ground_truth": ["", "virtual", "bool", "isProfitableToDupForIfCvt", "(", "MachineBasicBlock", "&", "MBB", ",", "unsigned", "NumCyles", ",", "float", "Probability", ",", "float", "Confidence", ")", "const", "{", "return", "NumCyles", "==", "1", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "profitable", "for", "if-converter", "to", "duplicate", "instructions", "of", "specified", "accumulated", "instruction", "latencies", "in", "the", "specified", "MBB", "to", "enable", "if-conversion", "."], "TS_V_token": ["ARM", "1"], "File": "ARMBaseInstrInfo33", "Func": "isProfitableToDupForIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10032, "Length": 25} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineBasicBlock", "::", "iterator", "MI", ")", "const", "{", "if", "(", "!", "WidenVMOVS", "||", "!", "MI", "->", "isCopy", "(", ")", ")", "return", "false", ";", "unsigned", "DstRegS", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "unsigned", "SrcRegS", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", "->", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", "->", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", "->", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "*", "MI", ")", ";", "MachineInstrBuilder", "MIB", "(", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", "->", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", "->", "RemoveOperand", "(", "ImpDefIdx", ")", ";", "MI", "->", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", "->", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", "->", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "MI", "->", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MIB", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", "->", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", "->", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "*", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo34", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10033, "Length": 341} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToIfCvt", "(", "MachineBasicBlock", "&", "TBB", ",", "unsigned", "TCycles", ",", "unsigned", "TExtra", ",", "MachineBasicBlock", "&", "FBB", ",", "unsigned", "FCycles", ",", "unsigned", "FExtra", ",", "BranchProbability", "Probability", ")", "const", "{", "if", "(", "!", "TCycles", ")", "return", "false", ";", "const", "unsigned", "ScalingUpFactor", "=", "1024", ";", "unsigned", "PredCost", "=", "(", "TCycles", "+", "FCycles", "+", "TExtra", "+", "FExtra", ")", "*", "ScalingUpFactor", ";", "unsigned", "UnpredCost", ";", "if", "(", "!", "Subtarget", ".", "hasBranchPredictor", "(", ")", ")", "{", "unsigned", "NotTakenBranchCost", "=", "1", ";", "unsigned", "TakenBranchCost", "=", "Subtarget", ".", "getMispredictionPenalty", "(", ")", ";", "unsigned", "TUnpredCycles", ",", "FUnpredCycles", ";", "if", "(", "!", "FCycles", ")", "{", "TUnpredCycles", "=", "TCycles", "+", "NotTakenBranchCost", ";", "FUnpredCycles", "=", "TakenBranchCost", ";", "}", "else", "{", "TUnpredCycles", "=", "TCycles", "+", "TakenBranchCost", ";", "FUnpredCycles", "=", "FCycles", "+", "NotTakenBranchCost", ";", "}", "unsigned", "TUnpredCost", "=", "Probability", ".", "scale", "(", "TUnpredCycles", "*", "ScalingUpFactor", ")", ";", "unsigned", "FUnpredCost", "=", "Probability", ".", "getCompl", "(", ")", ".", "scale", "(", "FUnpredCycles", "*", "ScalingUpFactor", ")", ";", "UnpredCost", "=", "TUnpredCost", "+", "FUnpredCost", ";", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "&&", "TCycles", "+", "FCycles", ">", "4", ")", "{", "PredCost", "+=", "(", "(", "TCycles", "+", "FCycles", "-", "4", ")", "/", "4", ")", "*", "ScalingUpFactor", ";", "}", "}", "else", "{", "unsigned", "TUnpredCost", "=", "Probability", ".", "scale", "(", "TCycles", "*", "ScalingUpFactor", ")", ";", "unsigned", "FUnpredCost", "=", "Probability", ".", "getCompl", "(", ")", ".", "scale", "(", "FCycles", "*", "ScalingUpFactor", ")", ";", "UnpredCost", "=", "TUnpredCost", "+", "FUnpredCost", ";", "UnpredCost", "+=", "1", "*", "ScalingUpFactor", ";", "UnpredCost", "+=", "Subtarget", ".", "getMispredictionPenalty", "(", ")", "*", "ScalingUpFactor", "/", "10", ";", "}", "return", "PredCost", "<=", "UnpredCost", ";", "}", ""], "natrual_language": ["Second", "variant", "of", "isProfitableToIfCvt", "."], "TS_V_token": ["ARM", "ARM", "1024", "1", "4", "4", "4", "1", "10"], "File": "ARMBaseInstrInfo37", "Func": "isProfitableToIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10034, "Length": 251} {"ground_truth": ["", "bool", "isUnspillableTerminatorImpl", "(", "const", "MachineInstr", "*", "MI", ")", "const", "override", "{", "return", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2LoopEndDec", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2DoLoopStartTP", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "given", "terminator", "MI", "is", "not", "expected", "to", "spill", "."], "TS_V_token": ["ARM", "ARM::t2LoopEndDec", "ARM::t2DoLoopStartTP"], "File": "ARMBaseInstrInfo38", "Func": "isUnspillableTerminatorImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10035, "Length": 33} {"ground_truth": ["", "bool", "isUnspillableTerminatorImpl", "(", "const", "MachineInstr", "*", "MI", ")", "const", "override", "{", "return", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2LoopEndDec", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2DoLoopStartTP", "||", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2WhileLoopStartLR", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "given", "terminator", "MI", "is", "not", "expected", "to", "spill", "."], "TS_V_token": ["ARM", "ARM::t2LoopEndDec", "ARM::t2DoLoopStartTP", "ARM::t2WhileLoopStartLR"], "File": "ARMBaseInstrInfo39", "Func": "isUnspillableTerminatorImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10036, "Length": 43} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "areLoadsFromSameBasePtr", "(", "SDNode", "*", "Load1", ",", "SDNode", "*", "Load2", ",", "int64_t", "&", "Offset1", ",", "int64_t", "&", "Offset2", ")", "const", "{", "if", "(", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "!", "Load1", "->", "isMachineOpcode", "(", ")", "||", "!", "Load2", "->", "isMachineOpcode", "(", ")", ")", "return", "false", ";", "switch", "(", "Load1", "->", "getMachineOpcode", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "ARM", "::", "LDR", ":", "case", "ARM", "::", "LDRB", ":", "case", "ARM", "::", "LDRD", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRSB", ":", "case", "ARM", "::", "LDRSH", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2LDRDi8", ":", "case", "ARM", "::", "t2LDRSHi8", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRSHi12", ":", "break", ";", "}", "switch", "(", "Load2", "->", "getMachineOpcode", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "ARM", "::", "LDR", ":", "case", "ARM", "::", "LDRB", ":", "case", "ARM", "::", "LDRD", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRSB", ":", "case", "ARM", "::", "LDRSH", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2LDRDi8", ":", "case", "ARM", "::", "t2LDRSHi8", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRSHi12", ":", "break", ";", "}", "if", "(", "Load1", "->", "getOperand", "(", "0", ")", "!=", "Load2", "->", "getOperand", "(", "0", ")", "||", "Load1", "->", "getOperand", "(", "4", ")", "!=", "Load2", "->", "getOperand", "(", "4", ")", ")", "return", "false", ";", "if", "(", "Load1", "->", "getOperand", "(", "3", ")", "!=", "Load2", "->", "getOperand", "(", "3", ")", ")", "return", "false", ";", "if", "(", "isa", "<", "ConstantSDNode", ">", "(", "Load1", "->", "getOperand", "(", "1", ")", ")", "&&", "isa", "<", "ConstantSDNode", ">", "(", "Load2", "->", "getOperand", "(", "1", ")", ")", ")", "{", "Offset1", "=", "cast", "<", "ConstantSDNode", ">", "(", "Load1", "->", "getOperand", "(", "1", ")", ")", "->", "getSExtValue", "(", ")", ";", "Offset2", "=", "cast", "<", "ConstantSDNode", ">", "(", "Load2", "->", "getOperand", "(", "1", ")", ")", "->", "getSExtValue", "(", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["areLoadsFromSameBasePtr", "-", "This", "is", "used", "by", "the", "pre-regalloc", "scheduler", "to", "determine", "if", "two", "loads", "are", "loading", "from", "the", "same", "base", "address", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDR", "ARM::LDRB", "ARM::LDRD", "ARM::LDRH", "ARM::LDRSB", "ARM::LDRSH", "ARM::VLDRD", "ARM::VLDRS", "ARM::t2LDRi8", "ARM::t2LDRDi8", "ARM::t2LDRSHi8", "ARM::t2LDRi12", "ARM::t2LDRSHi12", "ARM::LDR", "ARM::LDRB", "ARM::LDRD", "ARM::LDRH", "ARM::LDRSB", "ARM::LDRSH", "ARM::VLDRD", "ARM::VLDRS", "ARM::t2LDRi8", "ARM::t2LDRDi8", "ARM::t2LDRSHi8", "ARM::t2LDRi12", "ARM::t2LDRSHi12", "0", "0", "4", "4", "3", "3", "1", "1", "1", "1"], "File": "ARMBaseInstrInfo43", "Func": "areLoadsFromSameBasePtr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10037, "Length": 344} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToIfCvt", "(", "MachineBasicBlock", "&", "TMBB", ",", "unsigned", "NumT", ",", "MachineBasicBlock", "&", "FMBB", ",", "unsigned", "NumF", ")", "const", "{", "return", "NumT", "&&", "NumF", "&&", "NumT", "<=", "2", "&&", "NumF", "<=", "2", ";", "}", ""], "natrual_language": ["Second", "variant", "of", "isProfitableToIfCvt", "."], "TS_V_token": ["ARM", "ARM", "2", "2"], "File": "ARMBaseInstrInfo43", "Func": "isProfitableToIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10038, "Length": 35} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "]", ".", "getReg", "(", ")", ";", "bool", "isKill", "=", "true", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "if", "(", "MF", ".", "getFrameInfo", "(", ")", "->", "isReturnAddressTaken", "(", ")", "&&", "MF", ".", "getRegInfo", "(", ")", ".", "isLiveIn", "(", "Reg", ")", ")", "isKill", "=", "false", ";", "}", "if", "(", "isKill", ")", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "const", "TargetRegisterClass", "*", "RC", "=", "TRI", "->", "getMinimalPhysRegClass", "(", "Reg", ")", ";", "storeRegToStackSlot", "(", "MBB", ",", "MI", ",", "Reg", ",", "isKill", ",", "CSI", "[", "i", "]", ".", "getFrameIdx", "(", ")", ",", "RC", ",", "TRI", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::LR"], "File": "ARMBaseInstrInfo43", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10039, "Length": 203} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isCopyInstr", "(", "const", "MachineInstr", "&", "MI", ",", "MachineOperand", "&", "Src", ",", "MachineOperand", "&", "Dest", ")", "const", "{", "if", "(", "!", "MI", ".", "isMoveReg", "(", ")", "||", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "VORRq", "&&", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", "!=", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ")", "return", "false", ";", "Dest", "=", "MI", ".", "getOperand", "(", "0", ")", ";", "Src", "=", "MI", ".", "getOperand", "(", "1", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["If", "the", "specific", "machine", "instruction", "is", "a", "instruction", "that", "moves/copies", "value", "from", "one", "register", "to", "another", "register", "return", "destination", "and", "source", "registers", "as", "machine", "operands", "."], "TS_V_token": ["ARM", "ARM", "ARM::VORRq", "1", "2", "0", "1"], "File": "ARMBaseInstrInfo44", "Func": "isCopyInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10040, "Length": 88} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getNumMicroOps", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "*", "MI", ")", "const", "{", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "1", ";", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "Class", "=", "Desc", ".", "getSchedClass", "(", ")", ";", "int", "ItinUOps", "=", "ItinData", "->", "getNumMicroOps", "(", "Class", ")", ";", "if", "(", "ItinUOps", ">=", "0", ")", "return", "ItinUOps", ";", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unexpected multi-uops instruction!\"", ")", ";", "case", "ARM", "::", "VLDMQIA", ":", "case", "ARM", "::", "VSTMQIA", ":", "return", "2", ";", "case", "ARM", "::", "VLDMDIA", ":", "case", "ARM", "::", "VLDMDIA_UPD", ":", "case", "ARM", "::", "VLDMDDB_UPD", ":", "case", "ARM", "::", "VLDMSIA", ":", "case", "ARM", "::", "VLDMSIA_UPD", ":", "case", "ARM", "::", "VLDMSDB_UPD", ":", "case", "ARM", "::", "VSTMDIA", ":", "case", "ARM", "::", "VSTMDIA_UPD", ":", "case", "ARM", "::", "VSTMDDB_UPD", ":", "case", "ARM", "::", "VSTMSIA", ":", "case", "ARM", "::", "VSTMSIA_UPD", ":", "case", "ARM", "::", "VSTMSDB_UPD", ":", "{", "unsigned", "NumRegs", "=", "MI", "->", "getNumOperands", "(", ")", "-", "Desc", ".", "getNumOperands", "(", ")", ";", "return", "(", "NumRegs", "/", "2", ")", "+", "(", "NumRegs", "%", "2", ")", "+", "1", ";", "}", "case", "ARM", "::", "LDMIA_RET", ":", "case", "ARM", "::", "LDMIA", ":", "case", "ARM", "::", "LDMDA", ":", "case", "ARM", "::", "LDMDB", ":", "case", "ARM", "::", "LDMIB", ":", "case", "ARM", "::", "LDMIA_UPD", ":", "case", "ARM", "::", "LDMDA_UPD", ":", "case", "ARM", "::", "LDMDB_UPD", ":", "case", "ARM", "::", "LDMIB_UPD", ":", "case", "ARM", "::", "STMIA", ":", "case", "ARM", "::", "STMDA", ":", "case", "ARM", "::", "STMDB", ":", "case", "ARM", "::", "STMIB", ":", "case", "ARM", "::", "STMIA_UPD", ":", "case", "ARM", "::", "STMDA_UPD", ":", "case", "ARM", "::", "STMDB_UPD", ":", "case", "ARM", "::", "STMIB_UPD", ":", "case", "ARM", "::", "tLDMIA", ":", "case", "ARM", "::", "tLDMIA_UPD", ":", "case", "ARM", "::", "tSTMIA_UPD", ":", "case", "ARM", "::", "tPOP_RET", ":", "case", "ARM", "::", "tPOP", ":", "case", "ARM", "::", "tPUSH", ":", "case", "ARM", "::", "t2LDMIA_RET", ":", "case", "ARM", "::", "t2LDMIA", ":", "case", "ARM", "::", "t2LDMDB", ":", "case", "ARM", "::", "t2LDMIA_UPD", ":", "case", "ARM", "::", "t2LDMDB_UPD", ":", "case", "ARM", "::", "t2STMIA", ":", "case", "ARM", "::", "t2STMDB", ":", "case", "ARM", "::", "t2STMIA_UPD", ":", "case", "ARM", "::", "t2STMDB_UPD", ":", "{", "unsigned", "NumRegs", "=", "MI", "->", "getNumOperands", "(", ")", "-", "Desc", ".", "getNumOperands", "(", ")", "+", "1", ";", "if", "(", "Subtarget", ".", "isCortexA8", "(", ")", ")", "{", "if", "(", "NumRegs", "<", "4", ")", "return", "2", ";", "int", "A8UOps", "=", "(", "NumRegs", "/", "2", ")", ";", "if", "(", "NumRegs", "%", "2", ")", "++", "A8UOps", ";", "return", "A8UOps", ";", "}", "else", "if", "(", "Subtarget", ".", "isCortexA9", "(", ")", ")", "{", "int", "A9UOps", "=", "(", "NumRegs", "/", "2", ")", ";", "if", "(", "(", "NumRegs", "%", "2", ")", "||", "!", "MI", "->", "hasOneMemOperand", "(", ")", "||", "(", "*", "MI", "->", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", "<", "8", ")", "++", "A9UOps", ";", "return", "A9UOps", ";", "}", "else", "{", "return", "NumRegs", ";", "}", "}", "}", "}", ""], "natrual_language": ["Return", "the", "number", "of", "issue", "slots", "required", "for", "this", "MI", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "\"Unexpected multi-uops instruction!\"", "ARM::VLDMQIA", "ARM::VSTMQIA", "2", "ARM::VLDMDIA", "ARM::VLDMDIA_UPD", "ARM::VLDMDDB_UPD", "ARM::VLDMSIA", "ARM::VLDMSIA_UPD", "ARM::VLDMSDB_UPD", "ARM::VSTMDIA", "ARM::VSTMDIA_UPD", "ARM::VSTMDDB_UPD", "ARM::VSTMSIA", "ARM::VSTMSIA_UPD", "ARM::VSTMSDB_UPD", "2", "2", "1", "ARM::LDMIA_RET", "ARM::LDMIA", "ARM::LDMDA", "ARM::LDMDB", "ARM::LDMIB", "ARM::LDMIA_UPD", "ARM::LDMDA_UPD", "ARM::LDMDB_UPD", "ARM::LDMIB_UPD", "ARM::STMIA", "ARM::STMDA", "ARM::STMDB", "ARM::STMIB", "ARM::STMIA_UPD", "ARM::STMDA_UPD", "ARM::STMDB_UPD", "ARM::STMIB_UPD", "ARM::tLDMIA", "ARM::tLDMIA_UPD", "ARM::tSTMIA_UPD", "ARM::tPOP_RET", "ARM::tPOP", "ARM::tPUSH", "ARM::t2LDMIA_RET", "ARM::t2LDMIA", "ARM::t2LDMDB", "ARM::t2LDMIA_UPD", "ARM::t2LDMDB_UPD", "ARM::t2STMIA", "ARM::t2STMDB", "ARM::t2STMIA_UPD", "ARM::t2STMDB_UPD", "1", "4", "2", "2", "2", "2", "2", "8"], "File": "ARMBaseInstrInfo47", "Func": "getNumMicroOps", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10041, "Length": 479} {"ground_truth": ["", "int", "ARMBaseInstrInfo", "::", "getOperandLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "*", "DefMI", ",", "unsigned", "DefIdx", ",", "const", "MachineInstr", "*", "UseMI", ",", "unsigned", "UseIdx", ")", "const", "{", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "-", "1", ";", "const", "MachineOperand", "&", "DefMO", "=", "DefMI", "->", "getOperand", "(", "DefIdx", ")", ";", "unsigned", "Reg", "=", "DefMO", ".", "getReg", "(", ")", ";", "const", "MCInstrDesc", "*", "DefMCID", "=", "&", "DefMI", "->", "getDesc", "(", ")", ";", "const", "MCInstrDesc", "*", "UseMCID", "=", "&", "UseMI", "->", "getDesc", "(", ")", ";", "unsigned", "DefAdj", "=", "0", ";", "if", "(", "DefMI", "->", "isBundle", "(", ")", ")", "{", "DefMI", "=", "getBundledDefMI", "(", "&", "getRegisterInfo", "(", ")", ",", "DefMI", ",", "Reg", ",", "DefIdx", ",", "DefAdj", ")", ";", "DefMCID", "=", "&", "DefMI", "->", "getDesc", "(", ")", ";", "}", "if", "(", "DefMI", "->", "isCopyLike", "(", ")", "||", "DefMI", "->", "isInsertSubreg", "(", ")", "||", "DefMI", "->", "isRegSequence", "(", ")", "||", "DefMI", "->", "isImplicitDef", "(", ")", ")", "{", "return", "1", ";", "}", "unsigned", "UseAdj", "=", "0", ";", "if", "(", "UseMI", "->", "isBundle", "(", ")", ")", "{", "unsigned", "NewUseIdx", ";", "const", "MachineInstr", "*", "NewUseMI", "=", "getBundledUseMI", "(", "&", "getRegisterInfo", "(", ")", ",", "UseMI", ",", "Reg", ",", "NewUseIdx", ",", "UseAdj", ")", ";", "if", "(", "!", "NewUseMI", ")", "return", "-", "1", ";", "UseMI", "=", "NewUseMI", ";", "UseIdx", "=", "NewUseIdx", ";", "UseMCID", "=", "&", "UseMI", "->", "getDesc", "(", ")", ";", "}", "if", "(", "Reg", "==", "ARM", "::", "CPSR", ")", "{", "if", "(", "DefMI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "FMSTAT", ")", "{", "return", "Subtarget", ".", "isCortexA9", "(", ")", "?", "1", ":", "20", ";", "}", "if", "(", "UseMI", "->", "isBranch", "(", ")", ")", "return", "0", ";", "unsigned", "Latency", "=", "getInstrLatency", "(", "ItinData", ",", "DefMI", ")", ";", "if", "(", "Latency", ">", "0", "&&", "Subtarget", ".", "isThumb2", "(", ")", ")", "{", "const", "MachineFunction", "*", "MF", "=", "DefMI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "if", "(", "MF", "->", "getFunction", "(", ")", "->", "hasFnAttr", "(", "Attribute", "::", "OptimizeForSize", ")", ")", "--", "Latency", ";", "}", "return", "Latency", ";", "}", "if", "(", "DefMO", ".", "isImplicit", "(", ")", "||", "UseMI", "->", "getOperand", "(", "UseIdx", ")", ".", "isImplicit", "(", ")", ")", "return", "-", "1", ";", "unsigned", "DefAlign", "=", "DefMI", "->", "hasOneMemOperand", "(", ")", "?", "(", "*", "DefMI", "->", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", ":", "0", ";", "unsigned", "UseAlign", "=", "UseMI", "->", "hasOneMemOperand", "(", ")", "?", "(", "*", "UseMI", "->", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", ":", "0", ";", "int", "Latency", "=", "getOperandLatency", "(", "ItinData", ",", "*", "DefMCID", ",", "DefIdx", ",", "DefAlign", ",", "*", "UseMCID", ",", "UseIdx", ",", "UseAlign", ")", ";", "if", "(", "Latency", "<", "0", ")", "return", "Latency", ";", "int", "Adj", "=", "DefAdj", "+", "UseAdj", ";", "Adj", "+=", "adjustDefLatency", "(", "Subtarget", ",", "DefMI", ",", "DefMCID", ",", "DefAlign", ")", ";", "if", "(", "Adj", ">=", "0", "||", "(", "int", ")", "Latency", ">", "-", "Adj", ")", "{", "return", "Latency", "+", "Adj", ";", "}", "return", "Latency", ";", "}", ""], "natrual_language": ["Compute", "and", "return", "the", "use", "operand", "latency", "of", "a", "given", "pair", "of", "def", "and", "use", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "1", "0", "1", "ARM::CPSR", "ARM::FMSTAT", "1", "20", "0", "0", "1", "0", "0", "0", "0"], "File": "ARMBaseInstrInfo47", "Func": "getOperandLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10042, "Length": 479} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "buildOutlinedFrame", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "OutlinedFunction", "&", "OF", ")", "const", "{", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "{", "MachineInstr", "*", "Call", "=", "&", "*", "--", "MBB", ".", "instr_end", "(", ")", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "unsigned", "FuncOp", "=", "isThumb", "?", "2", ":", "0", ";", "unsigned", "Opc", "=", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", "?", "isThumb", "?", "ARM", "::", "tTAILJMPr", ":", "ARM", "::", "TAILJMPr", ":", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "add", "(", "Call", "->", "getOperand", "(", "FuncOp", ")", ")", ";", "if", "(", "isThumb", "&&", "!", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "Call", "->", "eraseFromParent", "(", ")", ";", "}", "}", ""], "natrual_language": ["Insert", "a", "custom", "frame", "for", "outlined", "functions", "."], "TS_V_token": ["ARM", "ARM", "2", "0", "ARM::tTAILJMPr", "ARM::TAILJMPr", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL"], "File": "ARMBaseInstrInfo50", "Func": "buildOutlinedFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10043, "Length": 175} {"ground_truth": ["", "outliner", "::", "OutlinedFunction", "ARMBaseInstrInfo", "::", "getOutliningCandidateInfo", "(", "std", "::", "vector", "<", "outliner", "::", "Candidate", ">", "&", "RepeatedSequenceLocs", ")", "const", "{", "outliner", "::", "Candidate", "&", "FirstCand", "=", "RepeatedSequenceLocs", "[", "0", "]", ";", "unsigned", "SequenceSize", "=", "std", "::", "accumulate", "(", "FirstCand", ".", "front", "(", ")", ",", "std", "::", "next", "(", "FirstCand", ".", "back", "(", ")", ")", ",", "0", ",", "[", "this", "]", "(", "unsigned", "Sum", ",", "const", "MachineInstr", "&", "MI", ")", "{", "return", "Sum", "+", "getInstSizeInBytes", "(", "MI", ")", ";", "}", ")", ";", "unsigned", "FlagsSetInAll", "=", "0xF", ";", "const", "TargetRegisterInfo", "&", "TRI", "=", "getRegisterInfo", "(", ")", ";", "std", "::", "for_each", "(", "RepeatedSequenceLocs", ".", "begin", "(", ")", ",", "RepeatedSequenceLocs", ".", "end", "(", ")", ",", "[", "&", "FlagsSetInAll", "]", "(", "outliner", "::", "Candidate", "&", "C", ")", "{", "FlagsSetInAll", "&=", "C", ".", "Flags", ";", "}", ")", ";", "auto", "CantGuaranteeValueAcrossCall", "=", "[", "&", "TRI", "]", "(", "outliner", "::", "Candidate", "&", "C", ")", "{", "if", "(", "C", ".", "Flags", "&", "UnsafeRegsDead", ")", "return", "false", ";", "C", ".", "initLRU", "(", "TRI", ")", ";", "LiveRegUnits", "LRU", "=", "C", ".", "LRU", ";", "return", "(", "!", "LRU", ".", "available", "(", "ARM", "::", "R12", ")", "||", "!", "LRU", ".", "available", "(", "ARM", "::", "CPSR", ")", ")", ";", "}", ";", "if", "(", "!", "(", "FlagsSetInAll", "&", "UnsafeRegsDead", ")", ")", "{", "RepeatedSequenceLocs", ".", "erase", "(", "std", "::", "remove_if", "(", "RepeatedSequenceLocs", ".", "begin", "(", ")", ",", "RepeatedSequenceLocs", ".", "end", "(", ")", ",", "CantGuaranteeValueAcrossCall", ")", ",", "RepeatedSequenceLocs", ".", "end", "(", ")", ")", ";", "if", "(", "RepeatedSequenceLocs", ".", "size", "(", ")", "<", "2", ")", "return", "outliner", "::", "OutlinedFunction", "(", ")", ";", "}", "unsigned", "LastInstrOpcode", "=", "RepeatedSequenceLocs", "[", "0", "]", ".", "back", "(", ")", "->", "getOpcode", "(", ")", ";", "auto", "SetCandidateCallInfo", "=", "[", "&", "RepeatedSequenceLocs", "]", "(", "unsigned", "CallID", ",", "unsigned", "NumBytesForCall", ")", "{", "for", "(", "outliner", "::", "Candidate", "&", "C", ":", "RepeatedSequenceLocs", ")", "C", ".", "setCallInfo", "(", "CallID", ",", "NumBytesForCall", ")", ";", "}", ";", "auto", "Costs", "=", "std", "::", "make_unique", "<", "OutlinerCosts", ">", "(", "Subtarget", ")", ";", "unsigned", "FrameID", "=", "0", ";", "unsigned", "NumBytesToCreateFrame", "=", "0", ";", "if", "(", "RepeatedSequenceLocs", "[", "0", "]", ".", "back", "(", ")", "->", "isTerminator", "(", ")", ")", "{", "FrameID", "=", "MachineOutlinerTailCall", ";", "NumBytesToCreateFrame", "=", "Costs", "->", "FrameTailCall", ";", "SetCandidateCallInfo", "(", "MachineOutlinerTailCall", ",", "Costs", "->", "CallTailCall", ")", ";", "}", "else", "if", "(", "LastInstrOpcode", "==", "ARM", "::", "BL", "||", "LastInstrOpcode", "==", "ARM", "::", "BLX", "||", "LastInstrOpcode", "==", "ARM", "::", "tBL", "||", "LastInstrOpcode", "==", "ARM", "::", "tBLXr", "||", "LastInstrOpcode", "==", "ARM", "::", "tBLXi", ")", "{", "FrameID", "=", "MachineOutlinerThunk", ";", "NumBytesToCreateFrame", "=", "Costs", "->", "FrameThunk", ";", "SetCandidateCallInfo", "(", "MachineOutlinerThunk", ",", "Costs", "->", "CallThunk", ")", ";", "}", "else", "return", "outliner", "::", "OutlinedFunction", "(", ")", ";", "return", "outliner", "::", "OutlinedFunction", "(", "RepeatedSequenceLocs", ",", "SequenceSize", ",", "NumBytesToCreateFrame", ",", "FrameID", ")", ";", "}", ""], "natrual_language": ["Returns", "a", "outliner", ":", ":OutlinedFunction", "struct", "containing", "target-specific", "information", "for", "a", "set", "of", "outlining", "candidates", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "0xF", "ARM::R12", "ARM::CPSR", "2", "0", "0", "0", "0", "ARM::BL", "ARM::BLX", "ARM::tBL", "ARM::tBLXr", "ARM::tBLXi"], "File": "ARMBaseInstrInfo50", "Func": "getOutliningCandidateInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10044, "Length": 443} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "ARMBaseInstrInfo", "::", "insertOutlinedCall", "(", "Module", "&", "M", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "It", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "Candidate", "&", "C", ")", "const", "{", "MachineInstrBuilder", "MIB", ";", "MachineBasicBlock", "::", "iterator", "CallPt", ";", "unsigned", "Opc", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerTailCall", ")", "{", "Opc", "=", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "isThumb", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "It", "=", "MBB", ".", "insert", "(", "It", ",", "MIB", ")", ";", "return", "It", ";", "}", "Opc", "=", "isThumb", "?", "ARM", "::", "tBL", ":", "ARM", "::", "BL", ";", "MachineInstrBuilder", "CallMIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ";", "if", "(", "isThumb", ")", "CallMIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "CallMIB", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "It", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "return", "It", ";", "}", ""], "natrual_language": ["Insert", "a", "call", "to", "an", "outlined", "function", "into", "the", "program", "."], "TS_V_token": ["ARM", "ARM", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARM::tBL", "ARM::BL", "ARMCC::AL"], "File": "ARMBaseInstrInfo50", "Func": "insertOutlinedCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10045, "Length": 222} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "ARMBaseInstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "const", "InstrItineraryData", "*", "II", ")", "const", "{", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "||", "Subtarget", ".", "hasVFP2", "(", ")", ")", "return", "(", "ScheduleHazardRecognizer", "*", ")", "new", "ARMHazardRecognizer", "(", "II", ",", "*", "this", ",", "getRegisterInfo", "(", ")", ",", "Subtarget", ")", ";", "return", "TargetInstrInfoImpl", "::", "CreateTargetPostRAHazardRecognizer", "(", "II", ")", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "by", "non-scheduling", "passes", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMBaseInstrInfo54", "Func": "CreateTargetPostRAHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10046, "Length": 56} {"ground_truth": ["", "int", "ARMBaseInstrInfo", "::", "getOperandLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "SDNode", "*", "DefNode", ",", "unsigned", "DefIdx", ",", "SDNode", "*", "UseNode", ",", "unsigned", "UseIdx", ")", "const", "{", "if", "(", "!", "DefNode", "->", "isMachineOpcode", "(", ")", ")", "return", "1", ";", "const", "TargetInstrDesc", "&", "DefTID", "=", "get", "(", "DefNode", "->", "getMachineOpcode", "(", ")", ")", ";", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "DefTID", ".", "mayLoad", "(", ")", "?", "3", ":", "1", ";", "if", "(", "!", "UseNode", "->", "isMachineOpcode", "(", ")", ")", "{", "int", "Latency", "=", "ItinData", "->", "getOperandCycle", "(", "DefTID", ".", "getSchedClass", "(", ")", ",", "DefIdx", ")", ";", "if", "(", "Subtarget", ".", "isCortexA9", "(", ")", ")", "return", "Latency", "<=", "2", "?", "1", ":", "Latency", "-", "1", ";", "else", "return", "Latency", "<=", "3", "?", "1", ":", "Latency", "-", "2", ";", "}", "const", "TargetInstrDesc", "&", "UseTID", "=", "get", "(", "UseNode", "->", "getMachineOpcode", "(", ")", ")", ";", "const", "MachineSDNode", "*", "DefMN", "=", "dyn_cast", "<", "MachineSDNode", ">", "(", "DefNode", ")", ";", "unsigned", "DefAlign", "=", "!", "DefMN", "->", "memoperands_empty", "(", ")", "?", "(", "*", "DefMN", "->", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", ":", "0", ";", "const", "MachineSDNode", "*", "UseMN", "=", "dyn_cast", "<", "MachineSDNode", ">", "(", "UseNode", ")", ";", "unsigned", "UseAlign", "=", "!", "UseMN", "->", "memoperands_empty", "(", ")", "?", "(", "*", "UseMN", "->", "memoperands_begin", "(", ")", ")", "->", "getAlignment", "(", ")", ":", "0", ";", "int", "Latency", "=", "getOperandLatency", "(", "ItinData", ",", "DefTID", ",", "DefIdx", ",", "DefAlign", ",", "UseTID", ",", "UseIdx", ",", "UseAlign", ")", ";", "if", "(", "Latency", ">", "1", "&&", "(", "Subtarget", ".", "isCortexA8", "(", ")", "||", "Subtarget", ".", "isCortexA9", "(", ")", ")", ")", "{", "switch", "(", "DefTID", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDRrs", ":", "case", "ARM", "::", "LDRBrs", ":", "{", "unsigned", "ShOpVal", "=", "cast", "<", "ConstantSDNode", ">", "(", "DefNode", "->", "getOperand", "(", "2", ")", ")", "->", "getZExtValue", "(", ")", ";", "unsigned", "ShImm", "=", "ARM_AM", "::", "getAM2Offset", "(", "ShOpVal", ")", ";", "if", "(", "ShImm", "==", "0", "||", "(", "ShImm", "==", "2", "&&", "ARM_AM", "::", "getAM2ShiftOpc", "(", "ShOpVal", ")", "==", "ARM_AM", "::", "lsl", ")", ")", "--", "Latency", ";", "break", ";", "}", "case", "ARM", "::", "t2LDRs", ":", "case", "ARM", "::", "t2LDRBs", ":", "case", "ARM", "::", "t2LDRHs", ":", "case", "ARM", "::", "t2LDRSHs", ":", "{", "unsigned", "ShAmt", "=", "cast", "<", "ConstantSDNode", ">", "(", "DefNode", "->", "getOperand", "(", "2", ")", ")", "->", "getZExtValue", "(", ")", ";", "if", "(", "ShAmt", "==", "0", "||", "ShAmt", "==", "2", ")", "--", "Latency", ";", "break", ";", "}", "}", "}", "return", "Latency", ";", "}", ""], "natrual_language": ["Compute", "and", "return", "the", "use", "operand", "latency", "of", "a", "given", "pair", "of", "def", "and", "use", "."], "TS_V_token": ["ARM", "ARM", "1", "3", "1", "2", "1", "1", "3", "1", "2", "0", "0", "1", "ARM::LDRrs", "ARM::LDRBrs", "2", "ARM_AM::getAM2Offset", "0", "2", "ARM_AM::getAM2ShiftOpc", "ARM_AM::lsl", "ARM::t2LDRs", "ARM::t2LDRBs", "ARM::t2LDRHs", "ARM::t2LDRSHs", "2", "0", "2"], "File": "ARMBaseInstrInfo54", "Func": "getOperandLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10047, "Length": 409} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "ARMBaseInstrInfo", "::", "CreateTargetHazardRecognizer", "(", "const", "TargetSubtargetInfo", "*", "STI", ",", "const", "ScheduleDAG", "*", "DAG", ")", "const", "{", "if", "(", "usePreRAHazardRecognizer", "(", ")", ")", "{", "const", "InstrItineraryData", "*", "II", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "*", ">", "(", "STI", ")", "->", "getInstrItineraryData", "(", ")", ";", "return", "new", "ScoreboardHazardRecognizer", "(", "II", ",", "DAG", ",", "\"pre-RA-sched\"", ")", ";", "}", "return", "TargetInstrInfo", "::", "CreateTargetHazardRecognizer", "(", "STI", ",", "DAG", ")", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "this", "target", "when", "scheduling", "the", "machine", "instructions", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"pre-RA-sched\""], "File": "ARMBaseInstrInfo55", "Func": "CreateTargetHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10048, "Length": 68} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isPredicable", "(", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "!", "MI", ".", "isPredicable", "(", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "isBundle", "(", ")", ")", "return", "false", ";", "if", "(", "!", "isEligibleForITBlock", "(", "&", "MI", ")", ")", "return", "false", ";", "ARMFunctionInfo", "*", "AFI", "=", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", "{", "if", "(", "getSubtarget", "(", ")", ".", "restrictIT", "(", ")", ")", "return", "isV8EligibleForIT", "(", "&", "MI", ")", ";", "}", "else", "{", "if", "(", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainNEON", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "instruction", "can", "be", "predicated", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainNEON"], "File": "ARMBaseInstrInfo63", "Func": "isPredicable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10049, "Length": 124} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isTailCall", "(", "const", "MachineInstr", "&", "Inst", ")", "const", "{", "switch", "(", "Inst", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "TAILJMPd", ":", "case", "ARM", "::", "TAILJMPr", ":", "case", "ARM", "::", "TCRETURNdi", ":", "case", "ARM", "::", "TCRETURNri", ":", "return", "true", ";", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["Determines", "whether", "Inst", "is", "a", "tail", "call", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::TAILJMPd", "ARM::TAILJMPr", "ARM::TCRETURNdi", "ARM::TCRETURNri"], "File": "ARMBaseInstrInfo63", "Func": "isTailCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10050, "Length": 51} {"ground_truth": ["", "void", "ARMBaseInstrInfo", "::", "buildOutlinedFrame", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineFunction", "&", "MF", ",", "const", "outliner", "::", "OutlinedFunction", "&", "OF", ")", "const", "{", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "{", "MachineInstr", "*", "Call", "=", "&", "*", "--", "MBB", ".", "instr_end", "(", ")", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "unsigned", "FuncOp", "=", "isThumb", "?", "2", ":", "0", ";", "unsigned", "Opc", "=", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", "?", "isThumb", "?", "ARM", "::", "tTAILJMPr", ":", "ARM", "::", "TAILJMPr", ":", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "add", "(", "Call", "->", "getOperand", "(", "FuncOp", ")", ")", ";", "if", "(", "isThumb", "&&", "!", "Call", "->", "getOperand", "(", "FuncOp", ")", ".", "isReg", "(", ")", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "Call", "->", "eraseFromParent", "(", ")", ";", "}", "auto", "IsNonTailCall", "=", "[", "]", "(", "MachineInstr", "&", "MI", ")", "{", "return", "MI", ".", "isCall", "(", ")", "&&", "!", "MI", ".", "isReturn", "(", ")", ";", "}", ";", "if", "(", "std", "::", "any_of", "(", "MBB", ".", "instr_begin", "(", ")", ",", "MBB", ".", "instr_end", "(", ")", ",", "IsNonTailCall", ")", ")", "{", "MachineBasicBlock", "::", "iterator", "It", "=", "MBB", ".", "begin", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "Et", "=", "MBB", ".", "end", "(", ")", ";", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerTailCall", "||", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "Et", "=", "std", "::", "prev", "(", "MBB", ".", "end", "(", ")", ")", ";", "if", "(", "!", "MBB", ".", "isLiveIn", "(", "ARM", "::", "LR", ")", ")", "MBB", ".", "addLiveIn", "(", "ARM", "::", "LR", ")", ";", "saveLROnStack", "(", "MBB", ",", "It", ")", ";", "emitCFIForLRSaveOnStack", "(", "MBB", ",", "It", ")", ";", "restoreLRFromStack", "(", "MBB", ",", "Et", ")", ";", "emitCFIForLRRestoreFromStack", "(", "MBB", ",", "Et", ")", ";", "}", "if", "(", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerTailCall", "||", "OF", ".", "FrameConstructionID", "==", "MachineOutlinerThunk", ")", "return", ";", "BuildMI", "(", "MBB", ",", "MBB", ".", "end", "(", ")", ",", "DebugLoc", "(", ")", ",", "get", "(", "Subtarget", ".", "getReturnOpcode", "(", ")", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", ""], "natrual_language": ["Insert", "a", "custom", "frame", "for", "outlined", "functions", "."], "TS_V_token": ["ARM", "ARM", "2", "0", "ARM::tTAILJMPr", "ARM::TAILJMPr", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARM::LR", "ARM::LR", "ARMCC::AL"], "File": "ARMBaseInstrInfo65", "Func": "buildOutlinedFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10051, "Length": 373} {"ground_truth": ["", "std", "::", "unique_ptr", "<", "TargetInstrInfo", "::", "PipelinerLoopInfo", ">", "ARMBaseInstrInfo", "::", "analyzeLoopForPipelining", "(", "MachineBasicBlock", "*", "LoopBB", ")", "const", "{", "MachineBasicBlock", "::", "iterator", "I", "=", "LoopBB", "->", "getFirstTerminator", "(", ")", ";", "MachineBasicBlock", "*", "Preheader", "=", "*", "LoopBB", "->", "pred_begin", "(", ")", ";", "if", "(", "Preheader", "==", "LoopBB", ")", "Preheader", "=", "*", "std", "::", "next", "(", "LoopBB", "->", "pred_begin", "(", ")", ")", ";", "if", "(", "I", "!=", "LoopBB", "->", "end", "(", ")", "&&", "I", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2Bcc", ")", "{", "MachineInstr", "*", "CCSetter", "=", "nullptr", ";", "for", "(", "auto", "&", "L", ":", "LoopBB", "->", "instrs", "(", ")", ")", "{", "if", "(", "L", ".", "isCall", "(", ")", ")", "return", "nullptr", ";", "if", "(", "isCPSRDefined", "(", "L", ")", ")", "CCSetter", "=", "&", "L", ";", "}", "if", "(", "CCSetter", ")", "return", "std", "::", "make_unique", "<", "ARMPipelinerLoopInfo", ">", "(", "&", "*", "I", ",", "CCSetter", ")", ";", "else", "return", "nullptr", ";", "}", "if", "(", "I", "!=", "LoopBB", "->", "end", "(", ")", "&&", "I", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2LoopEnd", ")", "{", "for", "(", "auto", "&", "L", ":", "LoopBB", "->", "instrs", "(", ")", ")", "if", "(", "L", ".", "isCall", "(", ")", ")", "return", "nullptr", ";", "else", "if", "(", "isVCTP", "(", "&", "L", ")", ")", "return", "nullptr", ";", "Register", "LoopDecResult", "=", "I", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "LoopBB", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineInstr", "*", "LoopDec", "=", "MRI", ".", "getUniqueVRegDef", "(", "LoopDecResult", ")", ";", "if", "(", "!", "LoopDec", "||", "LoopDec", "->", "getOpcode", "(", ")", "!=", "ARM", "::", "t2LoopDec", ")", "return", "nullptr", ";", "MachineInstr", "*", "LoopStart", "=", "nullptr", ";", "for", "(", "auto", "&", "J", ":", "Preheader", "->", "instrs", "(", ")", ")", "if", "(", "J", ".", "getOpcode", "(", ")", "==", "ARM", "::", "t2DoLoopStart", ")", "LoopStart", "=", "&", "J", ";", "if", "(", "!", "LoopStart", ")", "return", "nullptr", ";", "return", "std", "::", "make_unique", "<", "ARMPipelinerLoopInfo", ">", "(", "&", "*", "I", ",", "LoopDec", ")", ";", "}", "return", "nullptr", ";", "}", ""], "natrual_language": ["Analyze", "loop", "L", ",", "which", "must", "be", "a", "single-basic-block", "loop", ",", "and", "if", "the", "conditions", "can", "be", "understood", "enough", "produce", "a", "PipelinerLoopInfo", "object", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2Bcc", "ARM", "ARM::t2LoopEnd", "0", "ARM::t2LoopDec", "ARM::t2DoLoopStart", "ARM"], "File": "ARMBaseInstrInfo70", "Func": "analyzeLoopForPipelining", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10052, "Length": 324} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "expandPostRAPseudo", "(", "MachineInstr", "&", "MI", ")", "const", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "TargetOpcode", "::", "LOAD_STACK_GUARD", ")", "{", "expandLoadStackGuard", "(", "MI", ")", ";", "MI", ".", "getParent", "(", ")", "->", "erase", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MEMCPY", ")", "{", "expandMEMCPY", "(", "MI", ")", ";", "return", "true", ";", "}", "if", "(", "!", "MI", ".", "isCopy", "(", ")", "||", "Subtarget", ".", "dontWidenVMOVS", "(", ")", "||", "!", "Subtarget", ".", "hasFP64", "(", ")", ")", "return", "false", ";", "Register", "DstRegS", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "Register", "SrcRegS", "=", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "ARM", "::", "SPRRegClass", ".", "contains", "(", "DstRegS", ",", "SrcRegS", ")", ")", "return", "false", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "&", "getRegisterInfo", "(", ")", ";", "unsigned", "DstRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "DstRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "unsigned", "SrcRegD", "=", "TRI", "->", "getMatchingSuperReg", "(", "SrcRegS", ",", "ARM", "::", "ssub_0", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "!", "DstRegD", "||", "!", "SrcRegD", ")", "return", "false", ";", "if", "(", "!", "MI", ".", "definesRegister", "(", "DstRegD", ",", "TRI", ")", "||", "MI", ".", "readsRegister", "(", "DstRegD", ",", "TRI", ")", ")", "return", "false", ";", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"widening: \"", "<<", "MI", ")", ";", "MachineInstrBuilder", "MIB", "(", "*", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", ",", "MI", ")", ";", "int", "ImpDefIdx", "=", "MI", ".", "findRegisterDefOperandIdx", "(", "DstRegD", ")", ";", "if", "(", "ImpDefIdx", "!=", "-", "1", ")", "MI", ".", "removeOperand", "(", "ImpDefIdx", ")", ";", "MI", ".", "setDesc", "(", "get", "(", "ARM", "::", "VMOVD", ")", ")", ";", "MI", ".", "getOperand", "(", "0", ")", ".", "setReg", "(", "DstRegD", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setReg", "(", "SrcRegD", ")", ";", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsUndef", "(", ")", ";", "MIB", ".", "addReg", "(", "SrcRegS", ",", "RegState", "::", "Implicit", ")", ";", "if", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ")", "{", "MI", ".", "getOperand", "(", "1", ")", ".", "setIsKill", "(", "false", ")", ";", "MI", ".", "addRegisterKilled", "(", "SrcRegS", ",", "TRI", ",", "true", ")", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"replaced by: \"", "<<", "MI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "for", "all", "pseudo", "instructions", "that", "remain", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM::MEMCPY", "0", "1", "ARM::SPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "ARM::ssub_0", "ARM::DPRRegClass", "0", "\"widening: \"", "1", "ARM::VMOVD", "0", "1", "ARMCC::AL", "1", "1", "1", "\"replaced by: \""], "File": "ARMBaseInstrInfo70", "Func": "expandPostRAPseudo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10053, "Length": 410} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "getInstSizeInBytes", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "const", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "const", "MachineFunction", "*", "MF", "=", "MBB", ".", "getParent", "(", ")", ";", "const", "MCAsmInfo", "*", "MAI", "=", "MF", "->", "getTarget", "(", ")", ".", "getMCAsmInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "return", "MCID", ".", "getSize", "(", ")", ";", "case", "TargetOpcode", "::", "BUNDLE", ":", "return", "getInstBundleLength", "(", "MI", ")", ";", "case", "ARM", "::", "CONSTPOOL_ENTRY", ":", "case", "ARM", "::", "JUMPTABLE_INSTS", ":", "case", "ARM", "::", "JUMPTABLE_ADDRS", ":", "case", "ARM", "::", "JUMPTABLE_TBB", ":", "case", "ARM", "::", "JUMPTABLE_TBH", ":", "return", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", ";", "case", "ARM", "::", "SPACE", ":", "return", "MI", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "case", "ARM", "::", "INLINEASM", ":", "case", "ARM", "::", "INLINEASM_BR", ":", "{", "unsigned", "Size", "=", "getInlineAsmLength", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getSymbolName", "(", ")", ",", "*", "MAI", ")", ";", "if", "(", "!", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isThumbFunction", "(", ")", ")", "Size", "=", "alignTo", "(", "Size", ",", "4", ")", ";", "return", "Size", ";", "}", "}", "}", ""], "natrual_language": ["Returns", "the", "size", "in", "bytes", "of", "the", "specified", "MachineInstr", ",", "or", "~0U", "when", "this", "function", "is", "not", "implemented", "by", "a", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM::CONSTPOOL_ENTRY", "ARM::JUMPTABLE_INSTS", "ARM::JUMPTABLE_ADDRS", "ARM::JUMPTABLE_TBB", "ARM::JUMPTABLE_TBH", "2", "ARM::SPACE", "1", "ARM::INLINEASM", "ARM::INLINEASM_BR", "0", "ARM", "4"], "File": "ARMBaseInstrInfo70", "Func": "getInstSizeInBytes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10054, "Length": 206} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "insertBranch", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "*", "TBB", ",", "MachineBasicBlock", "*", "FBB", ",", "ArrayRef", "<", "MachineOperand", ">", "Cond", ",", "const", "DebugLoc", "&", "DL", ",", "int", "*", "BytesAdded", ")", "const", "{", "assert", "(", "!", "BytesAdded", "&&", "\"code size not handled\"", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MBB", ".", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int", "BOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "B", ":", "(", "AFI", "->", "isThumb2Function", "(", ")", "?", "ARM", "::", "t2B", ":", "ARM", "::", "tB", ")", ";", "int", "BccOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "Bcc", ":", "(", "AFI", "->", "isThumb2Function", "(", ")", "?", "ARM", "::", "t2Bcc", ":", "ARM", "::", "tBcc", ")", ";", "bool", "isThumb", "=", "AFI", "->", "isThumbFunction", "(", ")", "||", "AFI", "->", "isThumb2Function", "(", ")", ";", "assert", "(", "TBB", "&&", "\"insertBranch must not be told to insert a fallthrough\"", ")", ";", "assert", "(", "(", "Cond", ".", "size", "(", ")", "==", "2", "||", "Cond", ".", "size", "(", ")", "==", "0", "||", "Cond", ".", "size", "(", ")", "==", "3", ")", "&&", "\"ARM branch conditions have two or three components!\"", ")", ";", "if", "(", "!", "FBB", ")", "{", "if", "(", "Cond", ".", "empty", "(", ")", ")", "{", "if", "(", "isThumb", ")", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BOpc", ")", ")", ".", "addMBB", "(", "TBB", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "else", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BOpc", ")", ")", ".", "addMBB", "(", "TBB", ")", ";", "}", "else", "if", "(", "Cond", ".", "size", "(", ")", "==", "2", ")", "{", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BccOpc", ")", ")", ".", "addMBB", "(", "TBB", ")", ".", "addImm", "(", "Cond", "[", "0", "]", ".", "getImm", "(", ")", ")", ".", "add", "(", "Cond", "[", "1", "]", ")", ";", "}", "else", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "Cond", "[", "0", "]", ".", "getImm", "(", ")", ")", ")", ".", "add", "(", "Cond", "[", "1", "]", ")", ".", "addMBB", "(", "TBB", ")", ";", "return", "1", ";", "}", "if", "(", "Cond", ".", "size", "(", ")", "==", "2", ")", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BccOpc", ")", ")", ".", "addMBB", "(", "TBB", ")", ".", "addImm", "(", "Cond", "[", "0", "]", ".", "getImm", "(", ")", ")", ".", "add", "(", "Cond", "[", "1", "]", ")", ";", "else", "if", "(", "Cond", ".", "size", "(", ")", "==", "3", ")", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "Cond", "[", "0", "]", ".", "getImm", "(", ")", ")", ")", ".", "add", "(", "Cond", "[", "1", "]", ")", ".", "addMBB", "(", "TBB", ")", ";", "if", "(", "isThumb", ")", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BOpc", ")", ")", ".", "addMBB", "(", "FBB", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "else", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BOpc", ")", ")", ".", "addMBB", "(", "FBB", ")", ";", "return", "2", ";", "}", ""], "natrual_language": ["Insert", "branch", "code", "into", "the", "end", "of", "the", "specified", "MachineBasicBlock", "."], "TS_V_token": ["ARM", "ARM", "\"code size not handled\"", "ARM", "ARM", "ARM::B", "ARM::t2B", "ARM::tB", "ARM::Bcc", "ARM::t2Bcc", "ARM::tBcc", "\"insertBranch must not be told to insert a fallthrough\"", "2", "0", "3", "\"ARM branch conditions have two or three components!\"", "ARMCC::AL", "2", "0", "1", "0", "1", "1", "2", "0", "1", "3", "0", "1", "ARMCC::AL", "2"], "File": "ARMBaseInstrInfo70", "Func": "insertBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10055, "Length": 475} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "ARMBaseInstrInfo", "::", "insertOutlinedCall", "(", "Module", "&", "M", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "It", ",", "MachineFunction", "&", "MF", ",", "outliner", "::", "Candidate", "&", "C", ")", "const", "{", "MachineInstrBuilder", "MIB", ";", "MachineBasicBlock", "::", "iterator", "CallPt", ";", "unsigned", "Opc", ";", "bool", "isThumb", "=", "Subtarget", ".", "isThumb", "(", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerTailCall", ")", "{", "Opc", "=", "isThumb", "?", "Subtarget", ".", "isTargetMachO", "(", ")", "?", "ARM", "::", "tTAILJMPd", ":", "ARM", "::", "tTAILJMPdND", ":", "ARM", "::", "TAILJMPd", ";", "MIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "isThumb", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "It", "=", "MBB", ".", "insert", "(", "It", ",", "MIB", ")", ";", "return", "It", ";", "}", "Opc", "=", "isThumb", "?", "ARM", "::", "tBL", ":", "ARM", "::", "BL", ";", "MachineInstrBuilder", "CallMIB", "=", "BuildMI", "(", "MF", ",", "DebugLoc", "(", ")", ",", "get", "(", "Opc", ")", ")", ";", "if", "(", "isThumb", ")", "CallMIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "CallMIB", ".", "addGlobalAddress", "(", "M", ".", "getNamedValue", "(", "MF", ".", "getName", "(", ")", ")", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerNoLRSave", "||", "C", ".", "CallConstructionID", "==", "MachineOutlinerThunk", ")", "{", "It", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "return", "It", ";", "}", "const", "ARMFunctionInfo", "&", "AFI", "=", "*", "C", ".", "getMF", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "C", ".", "CallConstructionID", "==", "MachineOutlinerRegSave", ")", "{", "unsigned", "Reg", "=", "findRegisterToSaveLRTo", "(", "C", ")", ";", "assert", "(", "Reg", "!=", "0", "&&", "\"No callee-saved register available?\"", ")", ";", "copyPhysReg", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "Reg", ",", "ARM", "::", "LR", ",", "true", ")", ";", "if", "(", "!", "AFI", ".", "isLRSpilled", "(", ")", ")", "emitCFIForLRSaveToReg", "(", "MBB", ",", "It", ",", "Reg", ")", ";", "CallPt", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "copyPhysReg", "(", "MBB", ",", "It", ",", "DebugLoc", "(", ")", ",", "ARM", "::", "LR", ",", "Reg", ",", "true", ")", ";", "if", "(", "!", "AFI", ".", "isLRSpilled", "(", ")", ")", "emitCFIForLRRestoreFromReg", "(", "MBB", ",", "It", ")", ";", "It", "--", ";", "return", "CallPt", ";", "}", "if", "(", "!", "MBB", ".", "isLiveIn", "(", "ARM", "::", "LR", ")", ")", "MBB", ".", "addLiveIn", "(", "ARM", "::", "LR", ")", ";", "bool", "Auth", "=", "!", "AFI", ".", "isLRSpilled", "(", ")", "&&", "AFI", ".", "shouldSignReturnAddress", "(", "true", ")", ";", "saveLROnStack", "(", "MBB", ",", "It", ",", "!", "AFI", ".", "isLRSpilled", "(", ")", ",", "Auth", ")", ";", "CallPt", "=", "MBB", ".", "insert", "(", "It", ",", "CallMIB", ")", ";", "restoreLRFromStack", "(", "MBB", ",", "It", ",", "!", "AFI", ".", "isLRSpilled", "(", ")", ",", "Auth", ")", ";", "It", "--", ";", "return", "CallPt", ";", "}", ""], "natrual_language": ["Insert", "a", "call", "to", "an", "outlined", "function", "into", "the", "program", "."], "TS_V_token": ["ARM", "ARM", "ARM::tTAILJMPd", "ARM::tTAILJMPdND", "ARM::TAILJMPd", "ARMCC::AL", "ARM::tBL", "ARM::BL", "ARMCC::AL", "ARM", "ARM", "0", "\"No callee-saved register available?\"", "ARM::LR", "ARM::LR", "ARM::LR", "ARM::LR"], "File": "ARMBaseInstrInfo70", "Func": "insertOutlinedCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10056, "Length": 459} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "removeBranch", "(", "MachineBasicBlock", "&", "MBB", ",", "int", "*", "BytesRemoved", ")", "const", "{", "assert", "(", "!", "BytesRemoved", "&&", "\"code size not handled\"", ")", ";", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", ".", "getLastNonDebugInstr", "(", ")", ";", "if", "(", "I", "==", "MBB", ".", "end", "(", ")", ")", "return", "0", ";", "if", "(", "!", "isUncondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "&&", "!", "isCondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "&&", "I", "->", "getOpcode", "(", ")", "!=", "ARM", "::", "t2LoopEnd", ")", "return", "0", ";", "I", "->", "eraseFromParent", "(", ")", ";", "I", "=", "MBB", ".", "end", "(", ")", ";", "if", "(", "I", "==", "MBB", ".", "begin", "(", ")", ")", "return", "1", ";", "--", "I", ";", "if", "(", "!", "isCondBranchOpcode", "(", "I", "->", "getOpcode", "(", ")", ")", "&&", "I", "->", "getOpcode", "(", ")", "!=", "ARM", "::", "t2LoopEnd", ")", "return", "1", ";", "I", "->", "eraseFromParent", "(", ")", ";", "return", "2", ";", "}", ""], "natrual_language": ["Remove", "the", "branching", "code", "at", "the", "end", "of", "the", "specific", "MBB", "."], "TS_V_token": ["ARM", "ARM", "\"code size not handled\"", "0", "ARM::t2LoopEnd", "0", "1", "ARM::t2LoopEnd", "1", "2"], "File": "ARMBaseInstrInfo70", "Func": "removeBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10057, "Length": 147} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "reverseBranchCondition", "(", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Cond", ")", "const", "{", "if", "(", "Cond", ".", "size", "(", ")", "==", "2", ")", "{", "ARMCC", "::", "CondCodes", "CC", "=", "(", "ARMCC", "::", "CondCodes", ")", "(", "int", ")", "Cond", "[", "0", "]", ".", "getImm", "(", ")", ";", "Cond", "[", "0", "]", ".", "setImm", "(", "ARMCC", "::", "getOppositeCondition", "(", "CC", ")", ")", ";", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Reverses", "the", "branch", "condition", "of", "the", "specified", "condition", "list", ",", "returning", "false", "on", "success", "and", "true", "if", "it", "can", "not", "be", "reversed", "."], "TS_V_token": ["ARM", "ARM", "2", "ARMCC::CondCodes", "ARMCC::CondCodes", "0", "0", "ARMCC::getOppositeCondition"], "File": "ARMBaseInstrInfo70", "Func": "reverseBranchCondition", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10058, "Length": 70} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "verifyInstruction", "(", "const", "MachineInstr", "&", "MI", ",", "StringRef", "&", "ErrInfo", ")", "const", "{", "if", "(", "convertAddSubFlagsOpcode", "(", "MI", ".", "getOpcode", "(", ")", ")", ")", "{", "ErrInfo", "=", "\"Pseudo flag setting opcodes only exist in Selection DAG\"", ";", "return", "false", ";", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tMOVr", "&&", "!", "Subtarget", ".", "hasV6Ops", "(", ")", ")", "{", "if", "(", "!", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "&&", "!", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ")", "{", "ErrInfo", "=", "\"Non-flag-setting Thumb1 mov is v6-only\"", ";", "return", "false", ";", "}", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPUSH", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP", "||", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", ")", "{", "for", "(", "const", "MachineOperand", "&", "MO", ":", "llvm", "::", "drop_begin", "(", "MI", ".", "operands", "(", ")", ",", "2", ")", ")", "{", "if", "(", "MO", ".", "isImplicit", "(", ")", "||", "!", "MO", ".", "isReg", "(", ")", ")", "continue", ";", "Register", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "<", "ARM", "::", "R0", "||", "Reg", ">", "ARM", "::", "R7", ")", "{", "if", "(", "!", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPUSH", "&&", "Reg", "==", "ARM", "::", "LR", ")", "&&", "!", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", "&&", "Reg", "==", "ARM", "::", "PC", ")", ")", "{", "ErrInfo", "=", "\"Unsupported register in Thumb1 push/pop\"", ";", "return", "false", ";", "}", "}", "}", "}", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MVE_VMOV_q_rr", ")", "{", "assert", "(", "MI", ".", "getOperand", "(", "4", ")", ".", "isImm", "(", ")", "&&", "MI", ".", "getOperand", "(", "5", ")", ".", "isImm", "(", ")", ")", ";", "if", "(", "(", "MI", ".", "getOperand", "(", "4", ")", ".", "getImm", "(", ")", "!=", "2", "&&", "MI", ".", "getOperand", "(", "4", ")", ".", "getImm", "(", ")", "!=", "3", ")", "||", "MI", ".", "getOperand", "(", "4", ")", ".", "getImm", "(", ")", "!=", "MI", ".", "getOperand", "(", "5", ")", ".", "getImm", "(", ")", "+", "2", ")", "{", "ErrInfo", "=", "\"Incorrect array index for MVE_VMOV_q_rr\"", ";", "return", "false", ";", "}", "}", "ARMII", "::", "AddrMode", "AddrMode", "=", "(", "ARMII", "::", "AddrMode", ")", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "switch", "(", "AddrMode", ")", "{", "default", ":", "break", ";", "case", "ARMII", "::", "AddrModeT2_i7", ":", "case", "ARMII", "::", "AddrModeT2_i7s2", ":", "case", "ARMII", "::", "AddrModeT2_i7s4", ":", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i8pos", ":", "case", "ARMII", "::", "AddrModeT2_i8neg", ":", "case", "ARMII", "::", "AddrModeT2_i8s4", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "{", "uint32_t", "Imm", "=", "0", ";", "for", "(", "auto", "Op", ":", "MI", ".", "operands", "(", ")", ")", "{", "if", "(", "Op", ".", "isImm", "(", ")", ")", "{", "Imm", "=", "Op", ".", "getImm", "(", ")", ";", "break", ";", "}", "}", "if", "(", "!", "isLegalAddressImm", "(", "MI", ".", "getOpcode", "(", ")", ",", "Imm", ",", "this", ")", ")", "{", "ErrInfo", "=", "\"Incorrect AddrMode Imm for instruction\"", ";", "return", "false", ";", "}", "break", ";", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["Perform", "target-specific", "instruction", "verification", "."], "TS_V_token": ["ARM", "ARM", "\"Pseudo flag setting opcodes only exist in Selection DAG\"", "ARM::tMOVr", "ARM::hGPRRegClass", "0", "ARM::hGPRRegClass", "1", "\"Non-flag-setting Thumb1 mov is v6-only\"", "ARM::tPUSH", "ARM::tPOP", "ARM::tPOP_RET", "2", "ARM::R0", "ARM::R7", "ARM::tPUSH", "ARM::LR", "ARM::tPOP_RET", "ARM::PC", "\"Unsupported register in Thumb1 push/pop\"", "ARM::MVE_VMOV_q_rr", "4", "5", "4", "2", "4", "3", "4", "5", "2", "\"Incorrect array index for MVE_VMOV_q_rr\"", "ARMII::AddrMode", "ARMII::AddrMode", "ARMII::AddrModeMask", "ARMII::AddrModeT2_i7", "ARMII::AddrModeT2_i7s2", "ARMII::AddrModeT2_i7s4", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i8pos", "ARMII::AddrModeT2_i8neg", "ARMII::AddrModeT2_i8s4", "ARMII::AddrModeT2_i12", "0", "\"Incorrect AddrMode Imm for instruction\""], "File": "ARMBaseInstrInfo70", "Func": "verifyInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10059, "Length": 500} {"ground_truth": ["", "Optional", "<", "RegImmPair", ">", "ARMBaseInstrInfo", "::", "isAddImmediate", "(", "const", "MachineInstr", "&", "MI", ",", "Register", "Reg", ")", "const", "{", "int", "Sign", "=", "1", ";", "unsigned", "Opcode", "=", "MI", ".", "getOpcode", "(", ")", ";", "int64_t", "Offset", "=", "0", ";", "if", "(", "Reg", "!=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", "return", "None", ";", "if", "(", "Opcode", "==", "ARM", "::", "SUBri", ")", "Sign", "=", "-", "1", ";", "else", "if", "(", "Opcode", "!=", "ARM", "::", "ADDri", ")", "return", "None", ";", "if", "(", "!", "MI", ".", "getOperand", "(", "0", ")", ".", "isReg", "(", ")", "||", "!", "MI", ".", "getOperand", "(", "1", ")", ".", "isReg", "(", ")", "||", "!", "MI", ".", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", ")", "return", "None", ";", "Offset", "=", "MI", ".", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "*", "Sign", ";", "return", "RegImmPair", "{", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "Offset", "}", ";", "}", ""], "natrual_language": ["If", "the", "specific", "machine", "instruction", "is", "an", "instruction", "that", "adds", "an", "immediate", "value", "and", "a", "register", ",", "and", "stores", "the", "result", "in", "the", "given", "register", "Reg", ",", "return", "a", "pair", "of", "the", "source", "register", "and", "the", "offset", "which", "has", "been", "added", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0", "ARM::SUBri", "1", "ARM::ADDri", "0", "1", "2", "2", "1"], "File": "ARMBaseInstrInfo78", "Func": "isAddImmediate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10060, "Length": 154} {"ground_truth": ["", "int", "ARMBaseInstrInfo", "::", "getInstrLatency", "(", "const", "InstrItineraryData", "*", "ItinData", ",", "const", "MachineInstr", "*", "MI", ",", "unsigned", "*", "PredCost", ")", "const", "{", "if", "(", "MI", "->", "isCopyLike", "(", ")", "||", "MI", "->", "isInsertSubreg", "(", ")", "||", "MI", "->", "isRegSequence", "(", ")", "||", "MI", "->", "isImplicitDef", "(", ")", ")", "return", "1", ";", "if", "(", "!", "ItinData", "||", "ItinData", "->", "isEmpty", "(", ")", ")", "return", "1", ";", "if", "(", "MI", "->", "isBundle", "(", ")", ")", "{", "int", "Latency", "=", "0", ";", "MachineBasicBlock", "::", "const_instr_iterator", "I", "=", "MI", ";", "MachineBasicBlock", "::", "const_instr_iterator", "E", "=", "MI", "->", "getParent", "(", ")", "->", "instr_end", "(", ")", ";", "while", "(", "++", "I", "!=", "E", "&&", "I", "->", "isInsideBundle", "(", ")", ")", "{", "if", "(", "I", "->", "getOpcode", "(", ")", "!=", "ARM", "::", "t2IT", ")", "Latency", "+=", "getInstrLatency", "(", "ItinData", ",", "I", ",", "PredCost", ")", ";", "}", "return", "Latency", ";", "}", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "Class", "=", "MCID", ".", "getSchedClass", "(", ")", ";", "unsigned", "UOps", "=", "ItinData", "->", "Itineraries", "[", "Class", "]", ".", "NumMicroOps", ";", "if", "(", "PredCost", "&&", "MCID", ".", "hasImplicitDefOfPhysReg", "(", "ARM", "::", "CPSR", ")", ")", "*", "PredCost", "=", "1", ";", "if", "(", "UOps", ")", "return", "ItinData", "->", "getStageLatency", "(", "Class", ")", ";", "return", "getNumMicroOps", "(", "ItinData", ",", "MI", ")", ";", "}", ""], "natrual_language": ["Compute", "the", "instruction", "latency", "of", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0", "ARM::t2IT", "ARM::CPSR", "1"], "File": "ARMBaseInstrInfo83", "Func": "getInstrLatency", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10061, "Length": 213} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isSchedulingBoundary", "(", "const", "MachineInstr", "*", "MI", ",", "const", "MachineBasicBlock", "*", "MBB", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "MI", "->", "isDebugValue", "(", ")", ")", "return", "false", ";", "if", "(", "MI", "->", "isTerminator", "(", ")", "||", "MI", "->", "isLabel", "(", ")", ")", "return", "true", ";", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MI", ";", "while", "(", "++", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "isDebugValue", "(", ")", ")", ";", "if", "(", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "I", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "return", "true", ";", "if", "(", "MI", "->", "definesRegister", "(", "ARM", "::", "SP", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["isSchedulingBoundary", "-", "Overrides", "the", "isSchedulingBoundary", "from", "Codegen/TargetInstrInfo.cpp", "to", "make", "it", "capable", "of", "identifying", "ENDBR", "intructions", "and", "prevent", "it", "from", "being", "re-scheduled", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2IT", "ARM::SP"], "File": "ARMBaseInstrInfo83", "Func": "isSchedulingBoundary", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10062, "Length": 116} {"ground_truth": ["", "bool", "ARMBaseInstrInfo", "::", "isProfitableToIfCvt", "(", "MachineBasicBlock", "&", "MBB", ",", "unsigned", "NumCycles", ",", "unsigned", "ExtraPredCycles", ",", "const", "BranchProbability", "&", "Probability", ")", "const", "{", "if", "(", "!", "NumCycles", ")", "return", "false", ";", "const", "Function", "*", "F", "=", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", ";", "if", "(", "F", "->", "hasFnAttribute", "(", "Attribute", "::", "OptimizeForSize", ")", "||", "F", "->", "hasFnAttribute", "(", "Attribute", "::", "MinSize", ")", ")", "{", "MachineBasicBlock", "*", "Pred", "=", "*", "MBB", ".", "pred_begin", "(", ")", ";", "if", "(", "!", "Pred", "->", "empty", "(", ")", ")", "{", "MachineInstr", "*", "LastMI", "=", "&", "*", "Pred", "->", "rbegin", "(", ")", ";", "if", "(", "LastMI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2Bcc", ")", "{", "MachineBasicBlock", "::", "iterator", "CmpMI", "=", "LastMI", ";", "if", "(", "CmpMI", "!=", "Pred", "->", "begin", "(", ")", ")", "{", "--", "CmpMI", ";", "if", "(", "CmpMI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tCMPi8", "||", "CmpMI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2CMPri", ")", "{", "unsigned", "Reg", "=", "CmpMI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "P", "=", "getInstrPredicate", "(", "CmpMI", ",", "PredReg", ")", ";", "if", "(", "P", "==", "ARMCC", "::", "AL", "&&", "CmpMI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", "==", "0", "&&", "isARMLowRegister", "(", "Reg", ")", ")", "return", "false", ";", "}", "}", "}", "}", "}", "unsigned", "UnpredCost", "=", "Probability", ".", "getNumerator", "(", ")", "*", "NumCycles", ";", "UnpredCost", "/=", "Probability", ".", "getDenominator", "(", ")", ";", "UnpredCost", "+=", "1", ";", "UnpredCost", "+=", "Subtarget", ".", "getMispredictionPenalty", "(", ")", "/", "10", ";", "return", "(", "NumCycles", "+", "ExtraPredCycles", ")", "<=", "UnpredCost", ";", "}", ""], "natrual_language": ["Second", "variant", "of", "isProfitableToIfCvt", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2Bcc", "ARM::tCMPi8", "ARM::t2CMPri", "0", "0", "ARMCC::CondCodes", "ARMCC::AL", "1", "0", "ARM", "1", "10"], "File": "ARMBaseInstrInfo85", "Func": "isProfitableToIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10063, "Length": 264} {"ground_truth": ["", "unsigned", "ARMBaseInstrInfo", "::", "insertBranch", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "*", "TBB", ",", "MachineBasicBlock", "*", "FBB", ",", "ArrayRef", "<", "MachineOperand", ">", "Cond", ",", "const", "DebugLoc", "&", "DL", ",", "int", "*", "BytesAdded", ")", "const", "{", "assert", "(", "!", "BytesAdded", "&&", "\"code size not handled\"", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MBB", ".", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int", "BOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "B", ":", "(", "AFI", "->", "isThumb2Function", "(", ")", "?", "ARM", "::", "t2B", ":", "ARM", "::", "tB", ")", ";", "int", "BccOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "Bcc", ":", "(", "AFI", "->", "isThumb2Function", "(", ")", "?", "ARM", "::", "t2Bcc", ":", "ARM", "::", "tBcc", ")", ";", "bool", "isThumb", "=", "AFI", "->", "isThumbFunction", "(", ")", "||", "AFI", "->", "isThumb2Function", "(", ")", ";", "assert", "(", "TBB", "&&", "\"insertBranch must not be told to insert a fallthrough\"", ")", ";", "assert", "(", "(", "Cond", ".", "size", "(", ")", "==", "2", "||", "Cond", ".", "size", "(", ")", "==", "0", ")", "&&", "\"ARM branch conditions have two components!\"", ")", ";", "if", "(", "!", "FBB", ")", "{", "if", "(", "Cond", ".", "empty", "(", ")", ")", "{", "if", "(", "isThumb", ")", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BOpc", ")", ")", ".", "addMBB", "(", "TBB", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ";", "else", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BOpc", ")", ")", ".", "addMBB", "(", "TBB", ")", ";", "}", "else", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BccOpc", ")", ")", ".", "addMBB", "(", "TBB", ")", ".", "addImm", "(", "Cond", "[", "0", "]", ".", "getImm", "(", ")", ")", ".", "addOperand", "(", "Cond", "[", "1", "]", ")", ";", "return", "1", ";", "}", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BccOpc", ")", ")", ".", "addMBB", "(", "TBB", ")", ".", "addImm", "(", "Cond", "[", "0", "]", ".", "getImm", "(", ")", ")", ".", "addOperand", "(", "Cond", "[", "1", "]", ")", ";", "if", "(", "isThumb", ")", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BOpc", ")", ")", ".", "addMBB", "(", "FBB", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ";", "else", "BuildMI", "(", "&", "MBB", ",", "DL", ",", "get", "(", "BOpc", ")", ")", ".", "addMBB", "(", "FBB", ")", ";", "return", "2", ";", "}", ""], "natrual_language": ["Insert", "branch", "code", "into", "the", "end", "of", "the", "specified", "MachineBasicBlock", "."], "TS_V_token": ["ARM", "ARM", "\"code size not handled\"", "ARM", "ARM", "ARM::B", "ARM::t2B", "ARM::tB", "ARM::Bcc", "ARM::t2Bcc", "ARM::tBcc", "\"insertBranch must not be told to insert a fallthrough\"", "2", "0", "\"ARM branch conditions have two components!\"", "ARMCC::AL", "0", "0", "1", "1", "0", "1", "ARMCC::AL", "0", "2"], "File": "ARMBaseInstrInfo97", "Func": "insertBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10064, "Length": 371} {"ground_truth": ["", "bool", "isProfitableToDupForIfCvt", "(", "MachineBasicBlock", "&", "MBB", ",", "unsigned", "NumCycles", ",", "const", "BranchProbability", "&", "Probability", ")", "const", "override", "{", "return", "NumCycles", "==", "1", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "profitable", "for", "if-converter", "to", "duplicate", "instructions", "of", "specified", "accumulated", "instruction", "latencies", "in", "the", "specified", "MBB", "to", "enable", "if-conversion", "."], "TS_V_token": ["ARM", "1"], "File": "ARMBaseInstrInfo", "Func": "isProfitableToDupForIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10065, "Length": 24} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "if", "(", "!", "TargetRegisterInfo", "::", "canRealignStack", "(", "MF", ")", ")", "return", "false", ";", "if", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "return", "false", ";", "if", "(", "!", "MRI", "->", "canReserveReg", "(", "getFramePointerReg", "(", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ")", ")", ")", "return", "false", ";", "if", "(", "TFI", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "return", "true", ";", "return", "MRI", "->", "canReserveReg", "(", "BasePtr", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo10", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10066, "Length": 116} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "DebugLoc", "&", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "LDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "0", ")", ".", "add", "(", "predOps", "(", "Pred", ",", "PredReg", ")", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "4", "ARM::LDRcp", "0"], "File": "ARMBaseRegisterInfo10", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10067, "Length": 174} {"ground_truth": ["", "const", "MCPhysReg", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "bool", "UseSplitPush", "=", "STI", ".", "splitFramePushPop", "(", "*", "MF", ")", ";", "const", "MCPhysReg", "*", "RegList", "=", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SaveList", ":", "(", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SaveList", ":", "CSR_AAPCS_SaveList", ")", ";", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", "->", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", "->", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "STI", ".", "getTargetLowering", "(", ")", "->", "supportSwiftError", "(", ")", "&&", "F", "->", "getAttributes", "(", ")", ".", "hasAttrSomewhere", "(", "Attribute", "::", "SwiftError", ")", ")", "return", "CSR_iOS_SwiftError_SaveList", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isSplitCSR", "(", ")", "?", "CSR_iOS_CXX_TLS_PE_SaveList", ":", "CSR_iOS_CXX_TLS_SaveList", ";", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\"", "ARM"], "File": "ARMBaseRegisterInfo10", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10068, "Length": 218} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "const", "MachineFunction", "&", "MF", ",", "CallingConv", "::", "ID", "CC", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "CSR_NoRegs_RegMask", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "STI", ".", "getTargetLowering", "(", ")", "->", "supportSwiftError", "(", ")", "&&", "MF", ".", "getFunction", "(", ")", "->", "getAttributes", "(", ")", ".", "hasAttrSomewhere", "(", "Attribute", "::", "SwiftError", ")", ")", "return", "CSR_iOS_SwiftError_RegMask", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "CC", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "CSR_iOS_CXX_TLS_RegMask", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo10", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10069, "Length": 111} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getFrameRegister", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "return", "getFramePointerReg", "(", "STI", ")", ";", "return", "ARM", "::", "SP", ";", "}", ""], "natrual_language": ["Debug", "information", "queries", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP"], "File": "ARMBaseRegisterInfo10", "Func": "getFrameRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10070, "Length": 57} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getLargestLegalSuperClass", "(", "const", "TargetRegisterClass", "*", "RC", ",", "const", "MachineFunction", "&", ")", "const", "{", "const", "TargetRegisterClass", "*", "Super", "=", "RC", ";", "TargetRegisterClass", "::", "sc_iterator", "I", "=", "RC", "->", "getSuperClasses", "(", ")", ";", "do", "{", "switch", "(", "Super", "->", "getID", "(", ")", ")", "{", "case", "ARM", "::", "GPRRegClassID", ":", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "case", "ARM", "::", "QPRRegClassID", ":", "case", "ARM", "::", "QQPRRegClassID", ":", "case", "ARM", "::", "QQQQPRRegClassID", ":", "case", "ARM", "::", "GPRPairRegClassID", ":", "return", "Super", ";", "}", "Super", "=", "*", "I", "++", ";", "}", "while", "(", "Super", ")", ";", "return", "RC", ";", "}", ""], "natrual_language": ["Returns", "the", "largest", "super", "class", "of", "RC", "that", "is", "legal", "to", "use", "in", "the", "current", "sub-target", "and", "has", "the", "same", "spill", "size", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClassID", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "ARM::QPRRegClassID", "ARM::QQPRRegClassID", "ARM::QQQQPRRegClassID", "ARM::GPRPairRegClassID"], "File": "ARMBaseRegisterInfo10", "Func": "getLargestLegalSuperClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10071, "Length": 102} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "getRegAllocationHints", "(", "unsigned", "VirtReg", ",", "ArrayRef", "<", "MCPhysReg", ">", "Order", ",", "SmallVectorImpl", "<", "MCPhysReg", ">", "&", "Hints", ",", "const", "MachineFunction", "&", "MF", ",", "const", "VirtRegMap", "*", "VRM", ",", "const", "LiveRegMatrix", "*", "Matrix", ")", "const", "{", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "unsigned", ",", "unsigned", ">", "Hint", "=", "MRI", ".", "getRegAllocationHint", "(", "VirtReg", ")", ";", "unsigned", "Odd", ";", "switch", "(", "Hint", ".", "first", ")", "{", "case", "ARMRI", "::", "RegPairEven", ":", "Odd", "=", "0", ";", "break", ";", "case", "ARMRI", "::", "RegPairOdd", ":", "Odd", "=", "1", ";", "break", ";", "default", ":", "TargetRegisterInfo", "::", "getRegAllocationHints", "(", "VirtReg", ",", "Order", ",", "Hints", ",", "MF", ",", "VRM", ")", ";", "return", ";", "}", "unsigned", "Paired", "=", "Hint", ".", "second", ";", "if", "(", "Paired", "==", "0", ")", "return", ";", "unsigned", "PairedPhys", "=", "0", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "Paired", ";", "}", "else", "if", "(", "VRM", "&&", "VRM", "->", "hasPhys", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "getPairedGPR", "(", "VRM", "->", "getPhys", "(", "Paired", ")", ",", "Odd", ",", "this", ")", ";", "}", "if", "(", "PairedPhys", "&&", "is_contained", "(", "Order", ",", "PairedPhys", ")", ")", "Hints", ".", "push_back", "(", "PairedPhys", ")", ";", "for", "(", "unsigned", "I", "=", "0", ",", "E", "=", "Order", ".", "size", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "unsigned", "Reg", "=", "Order", "[", "I", "]", ";", "if", "(", "Reg", "==", "PairedPhys", "||", "(", "getEncodingValue", "(", "Reg", ")", "&", "1", ")", "!=", "Odd", ")", "continue", ";", "unsigned", "Paired", "=", "getPairedGPR", "(", "Reg", ",", "!", "Odd", ",", "this", ")", ";", "if", "(", "!", "Paired", "||", "MRI", ".", "isReserved", "(", "Paired", ")", ")", "continue", ";", "Hints", ".", "push_back", "(", "Reg", ")", ";", "}", "}", ""], "natrual_language": ["Get", "a", "list", "of", "'hint", "'", "registers", "that", "the", "register", "allocator", "should", "try", "first", "when", "allocating", "a", "physical", "register", "for", "the", "virtual", "register", "VirtReg", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairEven", "0", "ARMRI::RegPairOdd", "1", "0", "0", "0", "1"], "File": "ARMBaseRegisterInfo10", "Func": "getRegAllocationHints", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10072, "Length": 287} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "SP", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "PC", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "FPSCR", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "getFramePointerReg", "(", "STI", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasVFP3", "(", ")", "||", "STI", ".", "hasD16", "(", ")", ")", "{", "static_assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ",", "\"Register list not consecutive!\"", ")", ";", "for", "(", "unsigned", "R", "=", "0", ";", "R", "<", "16", ";", "++", "R", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "D16", "+", "R", ")", ";", "}", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "TargetRegisterClass", "::", "iterator", "I", "=", "RC", "->", "begin", "(", ")", ",", "E", "=", "RC", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "for", "(", "MCSubRegIterator", "SI", "(", "*", "I", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "markSuperRegs", "(", "Reserved", ",", "*", "I", ")", ";", "assert", "(", "checkAllSuperRegsMarked", "(", "Reserved", ")", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::D31", "ARM::D16", "15", "\"Register list not consecutive!\"", "0", "16", "ARM::D16", "ARM::GPRPairRegClass"], "File": "ARMBaseRegisterInfo10", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10073, "Length": 275} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "isFrameOffsetLegal", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "if", "(", "AddrMode", "==", "ARMII", "::", "AddrMode4", "||", "AddrMode", "==", "ARMII", "::", "AddrMode6", ")", "return", "Offset", "==", "0", ";", "unsigned", "NumBits", "=", "0", ";", "unsigned", "Scale", "=", "1", ";", "bool", "isSigned", "=", "true", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "Scale", "=", "1", ";", "if", "(", "Offset", "<", "0", ")", "{", "NumBits", "=", "8", ";", "Offset", "=", "-", "Offset", ";", "}", "else", "{", "NumBits", "=", "12", ";", "}", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "NumBits", "=", "8", ";", "Scale", "=", "4", ";", "break", ";", "case", "ARMII", "::", "AddrMode_i12", ":", "case", "ARMII", "::", "AddrMode2", ":", "NumBits", "=", "12", ";", "break", ";", "case", "ARMII", "::", "AddrMode3", ":", "NumBits", "=", "8", ";", "break", ";", "case", "ARMII", "::", "AddrModeT1_s", ":", "NumBits", "=", "(", "BaseReg", "==", "ARM", "::", "SP", "?", "8", ":", "5", ")", ";", "Scale", "=", "4", ";", "isSigned", "=", "false", ";", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "}", "Offset", "+=", "getFrameIndexInstrOffset", "(", "MI", ",", "i", ")", ";", "if", "(", "(", "Offset", "&", "(", "Scale", "-", "1", ")", ")", "!=", "0", ")", "return", "false", ";", "if", "(", "isSigned", "&&", "Offset", "<", "0", ")", "Offset", "=", "-", "Offset", ";", "unsigned", "Mask", "=", "(", "1", "<<", "NumBits", ")", "-", "1", ";", "if", "(", "(", "unsigned", ")", "Offset", "<=", "Mask", "*", "Scale", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Determine", "whether", "a", "given", "base", "register", "plus", "offset", "immediate", "is", "encodable", "to", "resolve", "a", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARMII::AddrMode4", "ARMII::AddrMode6", "0", "0", "1", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "1", "0", "8", "12", "ARMII::AddrMode5", "8", "4", "ARMII::AddrMode_i12", "ARMII::AddrMode2", "12", "ARMII::AddrMode3", "8", "ARMII::AddrModeT1_s", "ARM::SP", "8", "5", "4", "\"Unsupported addressing mode!\"", "1", "0", "0", "1", "1"], "File": "ARMBaseRegisterInfo10", "Func": "isFrameOffsetLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10074, "Length": 305} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "materializeFrameBaseRegister", "(", "MachineBasicBlock", "*", "MBB", ",", "unsigned", "BaseReg", ",", "int", "FrameIdx", ",", "int64_t", "Offset", ")", "const", "{", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "ADDriOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "ADDri", ":", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "?", "ARM", "::", "tADDframe", ":", "ARM", "::", "t2ADDri", ")", ";", "MachineBasicBlock", "::", "iterator", "Ins", "=", "MBB", "->", "begin", "(", ")", ";", "DebugLoc", "DL", ";", "if", "(", "Ins", "!=", "MBB", "->", "end", "(", ")", ")", "DL", "=", "Ins", "->", "getDebugLoc", "(", ")", ";", "const", "MachineFunction", "&", "MF", "=", "*", "MBB", "->", "getParent", "(", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MBB", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "TII", ".", "get", "(", "ADDriOpc", ")", ";", "MRI", ".", "constrainRegClass", "(", "BaseReg", ",", "TII", ".", "getRegClass", "(", "MCID", ",", "0", ",", "this", ",", "MF", ")", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "*", "MBB", ",", "Ins", ",", "DL", ",", "MCID", ",", "BaseReg", ")", ".", "addFrameIndex", "(", "FrameIdx", ")", ".", "addImm", "(", "Offset", ")", ";", "if", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ".", "add", "(", "condCodeOp", "(", ")", ")", ";", "}", ""], "natrual_language": ["Insert", "defining", "instruction", "(", "s", ")", "for", "a", "pointer", "to", "FrameIdx", "before", "insertion", "point", "I", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::ADDri", "ARM::tADDframe", "ARM::t2ADDri", "0", "ARMCC::AL"], "File": "ARMBaseRegisterInfo10", "Func": "materializeFrameBaseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10075, "Length": 229} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "needsFrameBaseReg", "(", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "for", "(", "unsigned", "i", "=", "0", ";", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ";", "++", "i", ")", "{", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "STRH", ":", "case", "ARM", "::", "STRBi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "t2STRi8", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VSTRS", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "tLDRspi", ":", "break", ";", "default", ":", "return", "false", ";", "}", "MachineFunction", "&", "MF", "=", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int64_t", "FPOffset", "=", "Offset", "-", "8", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "FPOffset", "-=", "80", ";", "Offset", "+=", "MFI", ".", "getLocalFrameSize", "(", ")", ";", "Offset", "+=", "128", ";", "unsigned", "StackAlign", "=", "TFI", "->", "getStackAlignment", "(", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", "&&", "!", "(", "(", "MFI", ".", "getLocalFrameMaxAlign", "(", ")", ">", "StackAlign", ")", "&&", "canRealignStack", "(", "MF", ")", ")", ")", "{", "if", "(", "isFrameOffsetLegal", "(", "MI", ",", "getFrameRegister", "(", "MF", ")", ",", "FPOffset", ")", ")", "return", "false", ";", "}", "if", "(", "!", "MFI", ".", "hasVarSizedObjects", "(", ")", "&&", "isFrameOffsetLegal", "(", "MI", ",", "ARM", "::", "SP", ",", "Offset", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "'s", "frame", "index", "reference", "would", "be", "better", "served", "by", "a", "base", "register", "other", "than", "FP", "or", "SP", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARM::LDRi12", "ARM::LDRH", "ARM::LDRBi12", "ARM::STRi12", "ARM::STRH", "ARM::STRBi12", "ARM::t2LDRi12", "ARM::t2LDRi8", "ARM::t2STRi12", "ARM::t2STRi8", "ARM::VLDRS", "ARM::VLDRD", "ARM::VSTRS", "ARM::VSTRD", "ARM::tSTRspi", "ARM::tLDRspi", "ARM", "ARM", "ARM", "8", "80", "128", "ARM::SP"], "File": "ARMBaseRegisterInfo10", "Func": "needsFrameBaseReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10076, "Length": 322} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "resolveFrameIndex", "(", "MachineInstr", "&", "MI", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This resolveFrameIndex does not support Thumb1!\"", ")", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "false", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "Done", "=", "rewriteARMFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "Done", "=", "rewriteT2FrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "}", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "0", "\"This resolveFrameIndex does not support Thumb1!\"", "\"Instr doesn't have FrameIndex operand!\"", "ARM", "\"Unable to resolve frame index!\""], "File": "ARMBaseRegisterInfo10", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10077, "Length": 199} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "shouldCoalesce", "(", "MachineInstr", "*", "MI", ",", "const", "TargetRegisterClass", "*", "SrcRC", ",", "unsigned", "SubReg", ",", "const", "TargetRegisterClass", "*", "DstRC", ",", "unsigned", "DstSubReg", ",", "const", "TargetRegisterClass", "*", "NewRC", ")", "const", "{", "auto", "MBB", "=", "MI", "->", "getParent", "(", ")", ";", "auto", "MF", "=", "MBB", "->", "getParent", "(", ")", ";", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", "->", "getRegInfo", "(", ")", ";", "if", "(", "!", "DstSubReg", ")", "return", "true", ";", "if", "(", "getRegSizeInBits", "(", "*", "NewRC", ")", "<", "256", "&&", "getRegSizeInBits", "(", "*", "DstRC", ")", "<", "256", "&&", "getRegSizeInBits", "(", "*", "SrcRC", ")", "<", "256", ")", "return", "true", ";", "auto", "NewRCWeight", "=", "MRI", ".", "getTargetRegisterInfo", "(", ")", "->", "getRegClassWeight", "(", "NewRC", ")", ";", "auto", "SrcRCWeight", "=", "MRI", ".", "getTargetRegisterInfo", "(", ")", "->", "getRegClassWeight", "(", "SrcRC", ")", ";", "auto", "DstRCWeight", "=", "MRI", ".", "getTargetRegisterInfo", "(", ")", "->", "getRegClassWeight", "(", "DstRC", ")", ";", "if", "(", "SrcRCWeight", ".", "RegWeight", ">", "NewRCWeight", ".", "RegWeight", ")", "return", "true", ";", "if", "(", "DstRCWeight", ".", "RegWeight", ">", "NewRCWeight", ".", "RegWeight", ")", "return", "true", ";", "auto", "AFI", "=", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "auto", "It", "=", "AFI", "->", "getCoalescedWeight", "(", "MBB", ")", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"\\tARM::shouldCoalesce - Coalesced Weight: \"", "<<", "It", "->", "second", "<<", "\"\\n\"", ")", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"\\tARM::shouldCoalesce - Reg Weight: \"", "<<", "NewRCWeight", ".", "RegWeight", "<<", "\"\\n\"", ")", ";", "unsigned", "SizeMultiplier", "=", "MBB", "->", "size", "(", ")", "/", "100", ";", "SizeMultiplier", "=", "SizeMultiplier", "?", "SizeMultiplier", ":", "1", ";", "if", "(", "It", "->", "second", "<", "NewRCWeight", ".", "WeightLimit", "*", "SizeMultiplier", ")", "{", "It", "->", "second", "+=", "NewRCWeight", ".", "RegWeight", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Subtarget", "Hooks", "."], "TS_V_token": ["ARM", "ARM", "256", "256", "256", "ARM", "\"\\tARM::shouldCoalesce - Coalesced Weight: \"", "\"\\n\"", "\"\\tARM::shouldCoalesce - Reg Weight: \"", "\"\\n\"", "100", "1"], "File": "ARMBaseRegisterInfo10", "Func": "shouldCoalesce", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10078, "Length": 266} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "trackLivenessAfterRegAlloc", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "live-ins", "should", "be", "tracked", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo10", "Func": "trackLivenessAfterRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10079, "Length": 16} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "updateRegAllocHint", "(", "unsigned", "Reg", ",", "unsigned", "NewReg", ",", "MachineFunction", "&", "MF", ")", "const", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "unsigned", ",", "unsigned", ">", "Hint", "=", "MRI", "->", "getRegAllocationHint", "(", "Reg", ")", ";", "if", "(", "(", "Hint", ".", "first", "==", "(", "unsigned", ")", "ARMRI", "::", "RegPairOdd", "||", "Hint", ".", "first", "==", "(", "unsigned", ")", "ARMRI", "::", "RegPairEven", ")", "&&", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "Hint", ".", "second", ")", ")", "{", "unsigned", "OtherReg", "=", "Hint", ".", "second", ";", "Hint", "=", "MRI", "->", "getRegAllocationHint", "(", "OtherReg", ")", ";", "if", "(", "Hint", ".", "second", "==", "Reg", ")", "{", "MRI", "->", "setRegAllocationHint", "(", "OtherReg", ",", "Hint", ".", "first", ",", "NewReg", ")", ";", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "NewReg", ")", ")", "MRI", "->", "setRegAllocationHint", "(", "NewReg", ",", "Hint", ".", "first", "==", "(", "unsigned", ")", "ARMRI", "::", "RegPairOdd", "?", "ARMRI", "::", "RegPairEven", ":", "ARMRI", "::", "RegPairOdd", ",", "OtherReg", ")", ";", "}", "}", "}", ""], "natrual_language": ["A", "callback", "to", "allow", "target", "a", "chance", "to", "update", "register", "allocation", "hints", "when", "a", "register", "is", "``", "changed", "''", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairOdd", "ARMRI::RegPairEven", "ARMRI::RegPairOdd", "ARMRI::RegPairEven", "ARMRI::RegPairOdd"], "File": "ARMBaseRegisterInfo10", "Func": "updateRegAllocHint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10080, "Length": 159} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "if", "(", "!", "TargetRegisterInfo", "::", "canRealignStack", "(", "MF", ")", ")", "return", "false", ";", "if", "(", "!", "MRI", "->", "canReserveReg", "(", "getFramePointerReg", "(", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ")", ")", ")", "return", "false", ";", "if", "(", "TFI", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "return", "true", ";", "return", "MRI", "->", "canReserveReg", "(", "BasePtr", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo11", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10081, "Length": 91} {"ground_truth": ["", "Register", "ARMBaseRegisterInfo", "::", "getFrameRegister", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "return", "getFramePointerReg", "(", "STI", ")", ";", "return", "ARM", "::", "SP", ";", "}", ""], "natrual_language": ["Debug", "information", "queries", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP"], "File": "ARMBaseRegisterInfo11", "Func": "getFrameRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10082, "Length": 57} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getLargestLegalSuperClass", "(", "const", "TargetRegisterClass", "*", "RC", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetRegisterClass", "*", "Super", "=", "RC", ";", "TargetRegisterClass", "::", "sc_iterator", "I", "=", "RC", "->", "getSuperClasses", "(", ")", ";", "do", "{", "switch", "(", "Super", "->", "getID", "(", ")", ")", "{", "case", "ARM", "::", "GPRRegClassID", ":", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "case", "ARM", "::", "GPRPairRegClassID", ":", "return", "Super", ";", "case", "ARM", "::", "QPRRegClassID", ":", "case", "ARM", "::", "QQPRRegClassID", ":", "case", "ARM", "::", "QQQQPRRegClassID", ":", "if", "(", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "hasNEON", "(", ")", ")", "return", "Super", ";", "}", "Super", "=", "*", "I", "++", ";", "}", "while", "(", "Super", ")", ";", "return", "RC", ";", "}", ""], "natrual_language": ["Returns", "the", "largest", "super", "class", "of", "RC", "that", "is", "legal", "to", "use", "in", "the", "current", "sub-target", "and", "has", "the", "same", "spill", "size", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClassID", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "ARM::GPRPairRegClassID", "ARM::QPRRegClassID", "ARM::QQPRRegClassID", "ARM::QQQQPRRegClassID", "ARM"], "File": "ARMBaseRegisterInfo11", "Func": "getLargestLegalSuperClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10083, "Length": 121} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "SP", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "PC", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "FPSCR", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "getFramePointerReg", "(", "STI", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasD32", "(", ")", ")", "{", "static_assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ",", "\"Register list not consecutive!\"", ")", ";", "for", "(", "unsigned", "R", "=", "0", ";", "R", "<", "16", ";", "++", "R", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "D16", "+", "R", ")", ";", "}", "const", "TargetRegisterClass", "&", "RC", "=", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "unsigned", "Reg", ":", "RC", ")", "for", "(", "MCSubRegIterator", "SI", "(", "Reg", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "markSuperRegs", "(", "Reserved", ",", "Reg", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "ZR", ")", ";", "assert", "(", "checkAllSuperRegsMarked", "(", "Reserved", ")", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::D31", "ARM::D16", "15", "\"Register list not consecutive!\"", "0", "16", "ARM::D16", "ARM::GPRPairRegClass", "ARM::ZR"], "File": "ARMBaseRegisterInfo11", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10084, "Length": 254} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "isInlineAsmReadOnlyReg", "(", "const", "MachineFunction", "&", "MF", ",", "unsigned", "PhysReg", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "PC", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "getFramePointerReg", "(", "STI", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "BasePtr", ")", ";", "assert", "(", "checkAllSuperRegsMarked", "(", "Reserved", ")", ")", ";", "return", "Reserved", ".", "test", "(", "PhysReg", ")", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "PhysReg", "can", "not", "be", "written", "to", "in", "inline", "asm", "statements", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::PC"], "File": "ARMBaseRegisterInfo11", "Func": "isInlineAsmReadOnlyReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10085, "Length": 106} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "materializeFrameBaseRegister", "(", "MachineBasicBlock", "*", "MBB", ",", "Register", "BaseReg", ",", "int", "FrameIdx", ",", "int64_t", "Offset", ")", "const", "{", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "ADDriOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "ADDri", ":", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "?", "ARM", "::", "tADDframe", ":", "ARM", "::", "t2ADDri", ")", ";", "MachineBasicBlock", "::", "iterator", "Ins", "=", "MBB", "->", "begin", "(", ")", ";", "DebugLoc", "DL", ";", "if", "(", "Ins", "!=", "MBB", "->", "end", "(", ")", ")", "DL", "=", "Ins", "->", "getDebugLoc", "(", ")", ";", "const", "MachineFunction", "&", "MF", "=", "*", "MBB", "->", "getParent", "(", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MBB", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "TII", ".", "get", "(", "ADDriOpc", ")", ";", "MRI", ".", "constrainRegClass", "(", "BaseReg", ",", "TII", ".", "getRegClass", "(", "MCID", ",", "0", ",", "this", ",", "MF", ")", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "*", "MBB", ",", "Ins", ",", "DL", ",", "MCID", ",", "BaseReg", ")", ".", "addFrameIndex", "(", "FrameIdx", ")", ".", "addImm", "(", "Offset", ")", ";", "if", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ".", "add", "(", "condCodeOp", "(", ")", ")", ";", "}", ""], "natrual_language": ["Insert", "defining", "instruction", "(", "s", ")", "for", "a", "pointer", "to", "FrameIdx", "before", "insertion", "point", "I", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::ADDri", "ARM::tADDframe", "ARM::t2ADDri", "0", "ARMCC::AL"], "File": "ARMBaseRegisterInfo11", "Func": "materializeFrameBaseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10086, "Length": 229} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "return", "(", "RealignStack", "&&", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "!", "MFI", "->", "hasVarSizedObjects", "(", ")", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo12", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10087, "Length": 57} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canSimplifyCallFramePseudos", "(", "MachineFunction", "&", "MF", ")", "const", "{", "return", "hasReservedCallFrame", "(", "MF", ")", "||", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["canSimplifyCallFramePseudos", "-", "If", "there", "is", "a", "reserved", "call", "frame", ",", "the", "call", "frame", "pseudos", "can", "be", "simplified", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo12", "Func": "canSimplifyCallFramePseudos", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10088, "Length": 28} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", "->", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", ")", ";", "bool", "isARM", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "int", "PIdx", "=", "Old", "->", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "Old", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "Amount", ",", "Pred", ",", "PredReg", ")", ";", "}", "else", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ";", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "Amount", ",", "Pred", ",", "PredReg", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "1", "ARM", "ARM", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", "ARM", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "2", "ARM", "3", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "ARM"], "File": "ARMBaseRegisterInfo12", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10089, "Length": 292} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "eliminateFrameIndex", "(", "MachineBasicBlock", "::", "iterator", "II", ",", "int", "SPAdj", ",", "FrameIndexValue", "*", "Value", ",", "RegScavenger", "*", "RS", ")", "const", "{", "unsigned", "i", "=", "0", ";", "MachineInstr", "&", "MI", "=", "*", "II", ";", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateFrameIndex does not support Thumb1!\"", ")", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "int", "FrameIndex", "=", "MI", ".", "getOperand", "(", "i", ")", ".", "getIndex", "(", ")", ";", "unsigned", "FrameReg", ";", "int", "Offset", "=", "getFrameIndexReference", "(", "MF", ",", "FrameIndex", ",", "FrameReg", ")", ";", "if", "(", "FrameReg", "!=", "ARM", "::", "SP", ")", "SPAdj", "=", "0", ";", "Offset", "+=", "SPAdj", ";", "bool", "Done", "=", "false", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "Done", "=", "rewriteARMFrameIndex", "(", "MI", ",", "i", ",", "FrameReg", ",", "Offset", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "Done", "=", "rewriteT2FrameIndex", "(", "MI", ",", "i", ",", "FrameReg", ",", "Offset", ",", "TII", ")", ";", "}", "if", "(", "Done", ")", "return", "0", ";", "assert", "(", "(", "Offset", "||", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", "==", "ARMII", "::", "AddrMode4", "||", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", "==", "ARMII", "::", "AddrMode6", ")", "&&", "\"This code isn't needed if offset already handled!\"", ")", ";", "unsigned", "ScratchReg", "=", "0", ";", "int", "PIdx", "=", "MI", ".", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "MI", ".", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "unsigned", "PredReg", "=", "(", "PIdx", "==", "-", "1", ")", "?", "0", ":", "MI", ".", "getOperand", "(", "PIdx", "+", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "Offset", "==", "0", ")", "MI", ".", "getOperand", "(", "i", ")", ".", "ChangeToRegister", "(", "FrameReg", ",", "false", ",", "false", ",", "false", ")", ";", "else", "{", "ScratchReg", "=", "MF", ".", "getRegInfo", "(", ")", ".", "createVirtualRegister", "(", "ARM", "::", "GPRRegisterClass", ")", ";", "if", "(", "Value", ")", "{", "Value", "->", "first", "=", "FrameReg", ";", "Value", "->", "second", "=", "Offset", ";", "}", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "emitARMRegPlusImmediate", "(", "MBB", ",", "II", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "ScratchReg", ",", "FrameReg", ",", "Offset", ",", "Pred", ",", "PredReg", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "emitT2RegPlusImmediate", "(", "MBB", ",", "II", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "ScratchReg", ",", "FrameReg", ",", "Offset", ",", "Pred", ",", "PredReg", ",", "TII", ")", ";", "}", "MI", ".", "getOperand", "(", "i", ")", ".", "ChangeToRegister", "(", "ScratchReg", ",", "false", ",", "false", ",", "true", ")", ";", "if", "(", "!", "ReuseFrameIndexVals", ")", "ScratchReg", "=", "0", ";", "}", "return", "ScratchReg", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "overriden", "to", "eliminate", "abstract", "frame", "indices", "from", "instructions", "which", "may", "use", "them", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM", "ARM", "\"This eliminateFrameIndex does not support Thumb1!\"", "\"Instr doesn't have FrameIndex operand!\"", "ARM::SP", "0", "ARM", "0", "ARMII::AddrModeMask", "ARMII::AddrMode4", "ARMII::AddrModeMask", "ARMII::AddrMode6", "\"This code isn't needed if offset already handled!\"", "0", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "1", "0", "1", "0", "ARM::GPRRegisterClass", "ARM", "0"], "File": "ARMBaseRegisterInfo12", "Func": "eliminateFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10090, "Length": 500} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "LDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "4", "ARM::LDRcp", "0", "0"], "File": "ARMBaseRegisterInfo12", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10091, "Length": 153} {"ground_truth": ["", "static", "unsigned", "estimateStackSize", "(", "MachineFunction", "&", "MF", ")", "{", "const", "MachineFrameInfo", "*", "FFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "int", "Offset", "=", "0", ";", "for", "(", "int", "i", "=", "FFI", "->", "getObjectIndexBegin", "(", ")", ";", "i", "!=", "0", ";", "++", "i", ")", "{", "int", "FixedOff", "=", "-", "FFI", "->", "getObjectOffset", "(", "i", ")", ";", "if", "(", "FixedOff", ">", "Offset", ")", "Offset", "=", "FixedOff", ";", "}", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "FFI", "->", "getObjectIndexEnd", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "if", "(", "FFI", "->", "isDeadObjectIndex", "(", "i", ")", ")", "continue", ";", "Offset", "+=", "FFI", "->", "getObjectSize", "(", "i", ")", ";", "unsigned", "Align", "=", "FFI", "->", "getObjectAlignment", "(", "i", ")", ";", "Offset", "=", "(", "Offset", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "}", "return", "(", "unsigned", ")", "Offset", ";", "}", ""], "natrual_language": ["Estimate", "and", "return", "the", "size", "of", "the", "stack", "frame", "."], "TS_V_token": ["ARM", "0", "0", "0", "1"], "File": "ARMBaseRegisterInfo12", "Func": "estimateStackSize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10092, "Length": 141} {"ground_truth": ["", "int", "ARMBaseRegisterInfo", "::", "getDwarfRegNum", "(", "unsigned", "RegNum", ",", "bool", "isEH", ")", "const", "{", "return", "ARMGenRegisterInfo", "::", "getDwarfRegNumFull", "(", "RegNum", ",", "0", ")", ";", "}", ""], "natrual_language": ["Map", "a", "target", "register", "to", "an", "equivalent", "dwarf", "register", "number", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0"], "File": "ARMBaseRegisterInfo12", "Func": "getDwarfRegNum", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10093, "Length": 24} {"ground_truth": ["", "int", "ARMBaseRegisterInfo", "::", "getFrameIndexReference", "(", "const", "MachineFunction", "&", "MF", ",", "int", "FI", ",", "unsigned", "&", "FrameReg", ")", "const", "{", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int", "Offset", "=", "MFI", "->", "getObjectOffset", "(", "FI", ")", "+", "MFI", "->", "getStackSize", "(", ")", ";", "bool", "isFixed", "=", "MFI", "->", "isFixedObjectIndex", "(", "FI", ")", ";", "FrameReg", "=", "ARM", "::", "SP", ";", "if", "(", "AFI", "->", "isGPRCalleeSavedArea1Frame", "(", "FI", ")", ")", "Offset", "-=", "AFI", "->", "getGPRCalleeSavedArea1Offset", "(", ")", ";", "else", "if", "(", "AFI", "->", "isGPRCalleeSavedArea2Frame", "(", "FI", ")", ")", "Offset", "-=", "AFI", "->", "getGPRCalleeSavedArea2Offset", "(", ")", ";", "else", "if", "(", "AFI", "->", "isDPRCalleeSavedAreaFrame", "(", "FI", ")", ")", "Offset", "-=", "AFI", "->", "getDPRCalleeSavedAreaOffset", "(", ")", ";", "else", "if", "(", "needsStackRealignment", "(", "MF", ")", ")", "{", "assert", "(", "hasFP", "(", "MF", ")", "&&", "\"dynamic stack realignment without a FP!\"", ")", ";", "if", "(", "isFixed", ")", "{", "FrameReg", "=", "getFrameRegister", "(", "MF", ")", ";", "Offset", "-=", "AFI", "->", "getFramePtrSpillOffset", "(", ")", ";", "}", "}", "else", "if", "(", "hasFP", "(", "MF", ")", "&&", "AFI", "->", "hasStackFrame", "(", ")", ")", "{", "if", "(", "isFixed", "||", "MFI", "->", "hasVarSizedObjects", "(", ")", ")", "{", "FrameReg", "=", "getFrameRegister", "(", "MF", ")", ";", "Offset", "-=", "AFI", "->", "getFramePtrSpillOffset", "(", ")", ";", "}", "else", "if", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", "{", "int", "FPOffset", "=", "Offset", "-", "AFI", "->", "getFramePtrSpillOffset", "(", ")", ";", "if", "(", "FPOffset", ">=", "-", "255", "&&", "FPOffset", "<", "0", ")", "{", "FrameReg", "=", "getFrameRegister", "(", "MF", ")", ";", "Offset", "=", "FPOffset", ";", "}", "}", "}", "return", "Offset", ";", "}", ""], "natrual_language": ["getFrameIndexReference", "-", "This", "method", "should", "return", "the", "base", "register", "and", "offset", "used", "to", "reference", "a", "frame", "index", "location", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::SP", "\"dynamic stack realignment without a FP!\"", "255", "0"], "File": "ARMBaseRegisterInfo12", "Func": "getFrameIndexReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10094, "Length": 263} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getFrameRegister", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "||", "hasFP", "(", "MF", ")", ")", "return", "FramePtr", ";", "return", "ARM", "::", "SP", ";", "}", ""], "natrual_language": ["Debug", "information", "queries", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP"], "File": "ARMBaseRegisterInfo12", "Func": "getFrameRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10095, "Length": 34} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getMatchingSuperRegClass", "(", "const", "TargetRegisterClass", "*", "A", ",", "const", "TargetRegisterClass", "*", "B", ",", "unsigned", "SubIdx", ")", "const", "{", "switch", "(", "SubIdx", ")", "{", "default", ":", "return", "0", ";", "case", "1", ":", "case", "2", ":", "case", "3", ":", "case", "4", ":", "if", "(", "A", "->", "getSize", "(", ")", "==", "8", ")", "{", "if", "(", "B", "==", "&", "ARM", "::", "SPR_8RegClass", ")", "return", "&", "ARM", "::", "DPR_8RegClass", ";", "assert", "(", "B", "==", "&", "ARM", "::", "SPRRegClass", "&&", "\"Expecting SPR register class!\"", ")", ";", "if", "(", "A", "==", "&", "ARM", "::", "DPR_8RegClass", ")", "return", "A", ";", "return", "&", "ARM", "::", "DPR_VFP2RegClass", ";", "}", "assert", "(", "A", "->", "getSize", "(", ")", "==", "16", "&&", "\"Expecting a Q register class!\"", ")", ";", "if", "(", "B", "==", "&", "ARM", "::", "SPR_8RegClass", ")", "return", "&", "ARM", "::", "QPR_8RegClass", ";", "return", "&", "ARM", "::", "QPR_VFP2RegClass", ";", "case", "5", ":", "case", "6", ":", "if", "(", "B", "==", "&", "ARM", "::", "DPR_VFP2RegClass", ")", "return", "&", "ARM", "::", "QPR_VFP2RegClass", ";", "if", "(", "B", "==", "&", "ARM", "::", "DPR_8RegClass", ")", "return", "&", "ARM", "::", "QPR_8RegClass", ";", "return", "A", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["getMatchingSuperRegClass", "-", "Return", "a", "subclass", "of", "the", "specified", "register", "class", "A", "so", "that", "each", "register", "in", "it", "has", "a", "sub-register", "of", "the", "specified", "sub-register", "index", "which", "is", "in", "the", "specified", "register", "class", "B", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "2", "3", "4", "8", "ARM::SPR_8RegClass", "ARM::DPR_8RegClass", "ARM::SPRRegClass", "\"Expecting SPR register class!\"", "ARM::DPR_8RegClass", "ARM::DPR_VFP2RegClass", "16", "\"Expecting a Q register class!\"", "ARM::SPR_8RegClass", "ARM::QPR_8RegClass", "ARM::QPR_VFP2RegClass", "5", "6", "ARM::DPR_VFP2RegClass", "ARM::QPR_VFP2RegClass", "ARM::DPR_8RegClass", "ARM::QPR_8RegClass", "0"], "File": "ARMBaseRegisterInfo12", "Func": "getMatchingSuperRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10096, "Length": 179} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getRARegister", "(", ")", "const", "{", "return", "ARM", "::", "LR", ";", "}", ""], "natrual_language": ["This", "method", "should", "return", "the", "register", "where", "the", "return", "address", "can", "be", "found", "."], "TS_V_token": ["ARM", "ARM", "ARM::LR"], "File": "ARMBaseRegisterInfo12", "Func": "getRARegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10097, "Length": 14} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "||", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "FramePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::R9"], "File": "ARMBaseRegisterInfo12", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10098, "Length": 79} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "hasFP", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "return", "(", "(", "NoFramePointerElim", "&&", "MFI", "->", "hasCalls", "(", ")", ")", "||", "needsStackRealignment", "(", "MF", ")", "||", "MFI", "->", "hasVarSizedObjects", "(", ")", "||", "MFI", "->", "isFrameAddressTaken", "(", ")", ")", ";", "}", ""], "natrual_language": ["hasFP", "-", "Return", "true", "if", "the", "specified", "function", "should", "have", "a", "dedicated", "frame", "pointer", "register", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo12", "Func": "hasFP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10099, "Length": 54} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "hasReservedCallFrame", "(", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "FFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "CFSize", "=", "FFI", "->", "getMaxCallFrameSize", "(", ")", ";", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "12", ")", "-", "1", ")", "/", "2", ")", "return", "false", ";", "return", "!", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasReservedCallFrame", "-", "Under", "normal", "circumstances", ",", "when", "a", "frame", "pointer", "is", "not", "required", ",", "we", "reserve", "argument", "space", "for", "call", "sites", "in", "the", "function", "immediately", "on", "entry", "to", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "1", "12", "1", "2"], "File": "ARMBaseRegisterInfo12", "Func": "hasReservedCallFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10100, "Length": 63} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "LDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "4", "ARM::LDRcp", "0"], "File": "ARMBaseRegisterInfo13", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10101, "Length": 172} {"ground_truth": ["", "const", "MCPhysReg", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "MCPhysReg", "*", "RegList", "=", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", "->", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", "->", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isSplitCSR", "(", ")", "?", "CSR_iOS_CXX_TLS_PE_SaveList", ":", "CSR_iOS_CXX_TLS_SaveList", ";", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\"", "ARM"], "File": "ARMBaseRegisterInfo13", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10102, "Length": 163} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "const", "MachineFunction", "&", "MF", ",", "CallingConv", "::", "ID", "CC", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "CSR_NoRegs_RegMask", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "CC", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "CSR_iOS_CXX_TLS_RegMask", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo13", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10103, "Length": 73} {"ground_truth": ["", "int64_t", "ARMBaseRegisterInfo", "::", "getFrameIndexInstrOffset", "(", "const", "MachineInstr", "*", "MI", ",", "int", "Idx", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "int64_t", "InstrOffs", "=", "0", ";", "int", "Scale", "=", "1", ";", "unsigned", "ImmIdx", "=", "0", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "case", "ARMII", "::", "AddrMode_i12", ":", "InstrOffs", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "1", ";", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "{", "const", "MachineOperand", "&", "OffOp", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM5Offset", "(", "OffOp", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM5Op", "(", "OffOp", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "Scale", "=", "4", ";", "break", ";", "}", "case", "ARMII", "::", "AddrMode2", ":", "{", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM2Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM2Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "}", "case", "ARMII", "::", "AddrMode3", ":", "{", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM3Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM3Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "}", "case", "ARMII", "::", "AddrModeT1_s", ":", "{", "ImmIdx", "=", "Idx", "+", "1", ";", "InstrOffs", "=", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "4", ";", "break", ";", "}", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "}", "return", "InstrOffs", "*", "Scale", ";", "}", ""], "natrual_language": ["Get", "the", "offset", "from", "the", "referenced", "frame", "index", "in", "the", "instruction", ",", "if", "there", "is", "one", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "1", "0", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "ARMII::AddrMode_i12", "1", "1", "ARMII::AddrMode5", "1", "ARM_AM::getAM5Offset", "ARM_AM::getAM5Op", "ARM_AM::sub", "4", "ARMII::AddrMode2", "2", "ARM_AM::getAM2Offset", "ARM_AM::getAM2Op", "ARM_AM::sub", "ARMII::AddrMode3", "2", "ARM_AM::getAM3Offset", "ARM_AM::getAM3Op", "ARM_AM::sub", "ARMII::AddrModeT1_s", "1", "4", "\"Unsupported addressing mode!\""], "File": "ARMBaseRegisterInfo13", "Func": "getFrameIndexInstrOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10104, "Length": 323} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "getRegAllocationHints", "(", "unsigned", "VirtReg", ",", "ArrayRef", "<", "MCPhysReg", ">", "Order", ",", "SmallVectorImpl", "<", "MCPhysReg", ">", "&", "Hints", ",", "const", "MachineFunction", "&", "MF", ",", "const", "VirtRegMap", "*", "VRM", ",", "const", "LiveRegMatrix", "*", "Matrix", ")", "const", "{", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "unsigned", ",", "unsigned", ">", "Hint", "=", "MRI", ".", "getRegAllocationHint", "(", "VirtReg", ")", ";", "unsigned", "Odd", ";", "switch", "(", "Hint", ".", "first", ")", "{", "case", "ARMRI", "::", "RegPairEven", ":", "Odd", "=", "0", ";", "break", ";", "case", "ARMRI", "::", "RegPairOdd", ":", "Odd", "=", "1", ";", "break", ";", "default", ":", "TargetRegisterInfo", "::", "getRegAllocationHints", "(", "VirtReg", ",", "Order", ",", "Hints", ",", "MF", ",", "VRM", ")", ";", "return", ";", "}", "unsigned", "Paired", "=", "Hint", ".", "second", ";", "if", "(", "Paired", "==", "0", ")", "return", ";", "unsigned", "PairedPhys", "=", "0", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "Paired", ";", "}", "else", "if", "(", "VRM", "&&", "VRM", "->", "hasPhys", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "getPairedGPR", "(", "VRM", "->", "getPhys", "(", "Paired", ")", ",", "Odd", ",", "this", ")", ";", "}", "if", "(", "PairedPhys", "&&", "std", "::", "find", "(", "Order", ".", "begin", "(", ")", ",", "Order", ".", "end", "(", ")", ",", "PairedPhys", ")", "!=", "Order", ".", "end", "(", ")", ")", "Hints", ".", "push_back", "(", "PairedPhys", ")", ";", "for", "(", "unsigned", "I", "=", "0", ",", "E", "=", "Order", ".", "size", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "unsigned", "Reg", "=", "Order", "[", "I", "]", ";", "if", "(", "Reg", "==", "PairedPhys", "||", "(", "getEncodingValue", "(", "Reg", ")", "&", "1", ")", "!=", "Odd", ")", "continue", ";", "unsigned", "Paired", "=", "getPairedGPR", "(", "Reg", ",", "!", "Odd", ",", "this", ")", ";", "if", "(", "!", "Paired", "||", "MRI", ".", "isReserved", "(", "Paired", ")", ")", "continue", ";", "Hints", ".", "push_back", "(", "Reg", ")", ";", "}", "}", ""], "natrual_language": ["Get", "a", "list", "of", "'hint", "'", "registers", "that", "the", "register", "allocator", "should", "try", "first", "when", "allocating", "a", "physical", "register", "for", "the", "virtual", "register", "VirtReg", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairEven", "0", "ARMRI::RegPairOdd", "1", "0", "0", "0", "1"], "File": "ARMBaseRegisterInfo13", "Func": "getRegAllocationHints", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10105, "Length": 305} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getRegPressureLimit", "(", "const", "TargetRegisterClass", "*", "RC", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "switch", "(", "RC", "->", "getID", "(", ")", ")", "{", "default", ":", "return", "0", ";", "case", "ARM", "::", "tGPRRegClassID", ":", "return", "TFI", "->", "hasFP", "(", "MF", ")", "?", "4", ":", "5", ";", "case", "ARM", "::", "GPRRegClassID", ":", "{", "unsigned", "FP", "=", "TFI", "->", "hasFP", "(", "MF", ")", "?", "1", ":", "0", ";", "return", "10", "-", "FP", "-", "(", "STI", ".", "isR9Reserved", "(", ")", "?", "1", ":", "0", ")", ";", "}", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "return", "32", "-", "10", ";", "}", "}", ""], "natrual_language": ["Return", "the", "register", "pressure", "``", "high", "water", "mark", "''", "for", "the", "specific", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "0", "ARM::tGPRRegClassID", "4", "5", "ARM::GPRRegClassID", "1", "0", "10", "1", "0", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "32", "10"], "File": "ARMBaseRegisterInfo13", "Func": "getRegPressureLimit", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10106, "Length": 126} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "FPSCR", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "getFramePointerReg", "(", "STI", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasVFP3", "(", ")", "||", "STI", ".", "hasD16", "(", ")", ")", "{", "static_assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ",", "\"Register list not consecutive!\"", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "D16", ",", "ARM", "::", "D31", "+", "1", ")", ";", "}", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "TargetRegisterClass", "::", "iterator", "I", "=", "RC", "->", "begin", "(", ")", ",", "E", "=", "RC", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "for", "(", "MCSubRegIterator", "SI", "(", "*", "I", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "Reserved", ".", "set", "(", "*", "I", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::D31", "ARM::D16", "15", "\"Register list not consecutive!\"", "ARM::D16", "ARM::D31", "1", "ARM::GPRPairRegClass"], "File": "ARMBaseRegisterInfo13", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10107, "Length": 257} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "materializeFrameBaseRegister", "(", "MachineBasicBlock", "*", "MBB", ",", "unsigned", "BaseReg", ",", "int", "FrameIdx", ",", "int64_t", "Offset", ")", "const", "{", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "ADDriOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "ADDri", ":", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "?", "ARM", "::", "tADDframe", ":", "ARM", "::", "t2ADDri", ")", ";", "MachineBasicBlock", "::", "iterator", "Ins", "=", "MBB", "->", "begin", "(", ")", ";", "DebugLoc", "DL", ";", "if", "(", "Ins", "!=", "MBB", "->", "end", "(", ")", ")", "DL", "=", "Ins", "->", "getDebugLoc", "(", ")", ";", "const", "MachineFunction", "&", "MF", "=", "*", "MBB", "->", "getParent", "(", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MBB", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "TII", ".", "get", "(", "ADDriOpc", ")", ";", "MRI", ".", "constrainRegClass", "(", "BaseReg", ",", "TII", ".", "getRegClass", "(", "MCID", ",", "0", ",", "this", ",", "MF", ")", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "*", "MBB", ",", "Ins", ",", "DL", ",", "MCID", ",", "BaseReg", ")", ".", "addFrameIndex", "(", "FrameIdx", ")", ".", "addImm", "(", "Offset", ")", ";", "if", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "AddDefaultCC", "(", "AddDefaultPred", "(", "MIB", ")", ")", ";", "}", ""], "natrual_language": ["Insert", "defining", "instruction", "(", "s", ")", "for", "a", "pointer", "to", "FrameIdx", "before", "insertion", "point", "I", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::ADDri", "ARM::tADDframe", "ARM::t2ADDri", "0"], "File": "ARMBaseRegisterInfo13", "Func": "materializeFrameBaseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10108, "Length": 218} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "needsFrameBaseReg", "(", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "for", "(", "unsigned", "i", "=", "0", ";", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ";", "++", "i", ")", "{", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "STRH", ":", "case", "ARM", "::", "STRBi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "t2STRi8", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VSTRS", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "tLDRspi", ":", "break", ";", "default", ":", "return", "false", ";", "}", "MachineFunction", "&", "MF", "=", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int64_t", "FPOffset", "=", "Offset", "-", "8", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "FPOffset", "-=", "80", ";", "Offset", "+=", "MFI", "->", "getLocalFrameSize", "(", ")", ";", "Offset", "+=", "128", ";", "unsigned", "StackAlign", "=", "TFI", "->", "getStackAlignment", "(", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", "&&", "!", "(", "(", "MFI", "->", "getLocalFrameMaxAlign", "(", ")", ">", "StackAlign", ")", "&&", "canRealignStack", "(", "MF", ")", ")", ")", "{", "if", "(", "isFrameOffsetLegal", "(", "MI", ",", "getFrameRegister", "(", "MF", ")", ",", "FPOffset", ")", ")", "return", "false", ";", "}", "if", "(", "!", "MFI", "->", "hasVarSizedObjects", "(", ")", "&&", "isFrameOffsetLegal", "(", "MI", ",", "ARM", "::", "SP", ",", "Offset", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "'s", "frame", "index", "reference", "would", "be", "better", "served", "by", "a", "base", "register", "other", "than", "FP", "or", "SP", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARM::LDRi12", "ARM::LDRH", "ARM::LDRBi12", "ARM::STRi12", "ARM::STRH", "ARM::STRBi12", "ARM::t2LDRi12", "ARM::t2LDRi8", "ARM::t2STRi12", "ARM::t2STRi8", "ARM::VLDRS", "ARM::VLDRD", "ARM::VSTRS", "ARM::VSTRD", "ARM::tSTRspi", "ARM::tLDRspi", "ARM", "ARM", "ARM", "8", "80", "128", "ARM::SP"], "File": "ARMBaseRegisterInfo13", "Func": "needsFrameBaseReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10109, "Length": 322} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "resolveFrameIndex", "(", "MachineInstr", "&", "MI", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This resolveFrameIndex does not support Thumb1!\"", ")", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "false", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "Done", "=", "rewriteARMFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "Done", "=", "rewriteT2FrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "}", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "0", "\"This resolveFrameIndex does not support Thumb1!\"", "\"Instr doesn't have FrameIndex operand!\"", "ARM", "\"Unable to resolve frame index!\""], "File": "ARMBaseRegisterInfo13", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10110, "Length": 199} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "shouldCoalesce", "(", "MachineInstr", "*", "MI", ",", "const", "TargetRegisterClass", "*", "SrcRC", ",", "unsigned", "SubReg", ",", "const", "TargetRegisterClass", "*", "DstRC", ",", "unsigned", "DstSubReg", ",", "const", "TargetRegisterClass", "*", "NewRC", ")", "const", "{", "auto", "MBB", "=", "MI", "->", "getParent", "(", ")", ";", "auto", "MF", "=", "MBB", "->", "getParent", "(", ")", ";", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", "->", "getRegInfo", "(", ")", ";", "if", "(", "!", "DstSubReg", ")", "return", "true", ";", "if", "(", "NewRC", "->", "getSize", "(", ")", "<", "32", "&&", "DstRC", "->", "getSize", "(", ")", "<", "32", "&&", "SrcRC", "->", "getSize", "(", ")", "<", "32", ")", "return", "true", ";", "auto", "NewRCWeight", "=", "MRI", ".", "getTargetRegisterInfo", "(", ")", "->", "getRegClassWeight", "(", "NewRC", ")", ";", "auto", "SrcRCWeight", "=", "MRI", ".", "getTargetRegisterInfo", "(", ")", "->", "getRegClassWeight", "(", "SrcRC", ")", ";", "auto", "DstRCWeight", "=", "MRI", ".", "getTargetRegisterInfo", "(", ")", "->", "getRegClassWeight", "(", "DstRC", ")", ";", "if", "(", "SrcRCWeight", ".", "RegWeight", ">", "NewRCWeight", ".", "RegWeight", ")", "return", "true", ";", "if", "(", "DstRCWeight", ".", "RegWeight", ">", "NewRCWeight", ".", "RegWeight", ")", "return", "true", ";", "auto", "AFI", "=", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "auto", "It", "=", "AFI", "->", "getCoalescedWeight", "(", "MBB", ")", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"\\tARM::shouldCoalesce - Coalesced Weight: \"", "<<", "It", "->", "second", "<<", "\"\\n\"", ")", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"\\tARM::shouldCoalesce - Reg Weight: \"", "<<", "NewRCWeight", ".", "RegWeight", "<<", "\"\\n\"", ")", ";", "unsigned", "SizeMultiplier", "=", "MBB", "->", "size", "(", ")", "/", "100", ";", "SizeMultiplier", "=", "SizeMultiplier", "?", "SizeMultiplier", ":", "1", ";", "if", "(", "It", "->", "second", "<", "NewRCWeight", ".", "WeightLimit", "*", "SizeMultiplier", ")", "{", "It", "->", "second", "+=", "NewRCWeight", ".", "RegWeight", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Subtarget", "Hooks", "."], "TS_V_token": ["ARM", "ARM", "32", "32", "32", "ARM", "\"\\tARM::shouldCoalesce - Coalesced Weight: \"", "\"\\n\"", "\"\\tARM::shouldCoalesce - Reg Weight: \"", "\"\\n\"", "100", "1"], "File": "ARMBaseRegisterInfo13", "Func": "shouldCoalesce", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10111, "Length": 266} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "MF", ".", "getFunction", "(", ")", "->", "hasFnAttribute", "(", "\"no-realign-stack\"", ")", ")", "return", "false", ";", "if", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "return", "false", ";", "if", "(", "!", "MRI", "->", "canReserveReg", "(", "FramePtr", ")", ")", "return", "false", ";", "if", "(", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "return", "true", ";", "return", "MRI", "->", "canReserveReg", "(", "BasePtr", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"no-realign-stack\""], "File": "ARMBaseRegisterInfo15", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10112, "Length": 107} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "LDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "4", "ARM::LDRcp", "0"], "File": "ARMBaseRegisterInfo15", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10113, "Length": 172} {"ground_truth": ["", "const", "MCPhysReg", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "const", "MCPhysReg", "*", "RegList", "=", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "if", "(", "!", "MF", ")", "return", "RegList", ";", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", "->", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", "->", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\""], "File": "ARMBaseRegisterInfo15", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10114, "Length": 130} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "CallingConv", "::", "ID", "CC", ")", "const", "{", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "CSR_NoRegs_RegMask", ";", "return", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo15", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10115, "Length": 46} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getCrossCopyRegClass", "(", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "if", "(", "RC", "==", "&", "ARM", "::", "CCRRegClass", ")", "return", "nullptr", ";", "return", "RC", ";", "}", ""], "natrual_language": ["getCrossCopyRegClass", "-", "Returns", "a", "legal", "register", "class", "to", "copy", "a", "register", "in", "the", "specified", "class", "to", "or", "from", "."], "TS_V_token": ["ARM", "ARM", "ARM::CCRRegClass"], "File": "ARMBaseRegisterInfo15", "Func": "getCrossCopyRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10116, "Length": 30} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getLargestLegalSuperClass", "(", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "const", "TargetRegisterClass", "*", "Super", "=", "RC", ";", "TargetRegisterClass", "::", "sc_iterator", "I", "=", "RC", "->", "getSuperClasses", "(", ")", ";", "do", "{", "switch", "(", "Super", "->", "getID", "(", ")", ")", "{", "case", "ARM", "::", "GPRRegClassID", ":", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "case", "ARM", "::", "QPRRegClassID", ":", "case", "ARM", "::", "QQPRRegClassID", ":", "case", "ARM", "::", "QQQQPRRegClassID", ":", "case", "ARM", "::", "GPRPairRegClassID", ":", "return", "Super", ";", "}", "Super", "=", "*", "I", "++", ";", "}", "while", "(", "Super", ")", ";", "return", "RC", ";", "}", ""], "natrual_language": ["Returns", "the", "largest", "super", "class", "of", "RC", "that", "is", "legal", "to", "use", "in", "the", "current", "sub-target", "and", "has", "the", "same", "spill", "size", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClassID", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "ARM::QPRRegClassID", "ARM::QQPRRegClassID", "ARM::QQQQPRRegClassID", "ARM::GPRPairRegClassID"], "File": "ARMBaseRegisterInfo15", "Func": "getLargestLegalSuperClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10117, "Length": 98} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "getRegAllocationHints", "(", "unsigned", "VirtReg", ",", "ArrayRef", "<", "MCPhysReg", ">", "Order", ",", "SmallVectorImpl", "<", "MCPhysReg", ">", "&", "Hints", ",", "const", "MachineFunction", "&", "MF", ",", "const", "VirtRegMap", "*", "VRM", ")", "const", "{", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "unsigned", ",", "unsigned", ">", "Hint", "=", "MRI", ".", "getRegAllocationHint", "(", "VirtReg", ")", ";", "unsigned", "Odd", ";", "switch", "(", "Hint", ".", "first", ")", "{", "case", "ARMRI", "::", "RegPairEven", ":", "Odd", "=", "0", ";", "break", ";", "case", "ARMRI", "::", "RegPairOdd", ":", "Odd", "=", "1", ";", "break", ";", "default", ":", "TargetRegisterInfo", "::", "getRegAllocationHints", "(", "VirtReg", ",", "Order", ",", "Hints", ",", "MF", ",", "VRM", ")", ";", "return", ";", "}", "unsigned", "PairedPhys", "=", "0", ";", "if", "(", "VRM", "&&", "VRM", "->", "hasPhys", "(", "Hint", ".", "second", ")", ")", "{", "PairedPhys", "=", "getPairedGPR", "(", "VRM", "->", "getPhys", "(", "Hint", ".", "second", ")", ",", "Odd", ",", "this", ")", ";", "if", "(", "PairedPhys", "&&", "MRI", ".", "isReserved", "(", "PairedPhys", ")", ")", "PairedPhys", "=", "0", ";", "}", "if", "(", "PairedPhys", "&&", "std", "::", "find", "(", "Order", ".", "begin", "(", ")", ",", "Order", ".", "end", "(", ")", ",", "PairedPhys", ")", "!=", "Order", ".", "end", "(", ")", ")", "Hints", ".", "push_back", "(", "PairedPhys", ")", ";", "for", "(", "unsigned", "I", "=", "0", ",", "E", "=", "Order", ".", "size", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "unsigned", "Reg", "=", "Order", "[", "I", "]", ";", "if", "(", "Reg", "==", "PairedPhys", "||", "(", "getEncodingValue", "(", "Reg", ")", "&", "1", ")", "!=", "Odd", ")", "continue", ";", "unsigned", "Paired", "=", "getPairedGPR", "(", "Reg", ",", "!", "Odd", ",", "this", ")", ";", "if", "(", "!", "Paired", "||", "MRI", ".", "isReserved", "(", "Paired", ")", ")", "continue", ";", "Hints", ".", "push_back", "(", "Reg", ")", ";", "}", "}", ""], "natrual_language": ["Get", "a", "list", "of", "'hint", "'", "registers", "that", "the", "register", "allocator", "should", "try", "first", "when", "allocating", "a", "physical", "register", "for", "the", "virtual", "register", "VirtReg", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairEven", "0", "ARMRI::RegPairOdd", "1", "0", "0", "0", "1"], "File": "ARMBaseRegisterInfo15", "Func": "getRegAllocationHints", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10118, "Length": 288} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "FPSCR", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "FramePtr", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasVFP3", "(", ")", "||", "STI", ".", "hasD16", "(", ")", ")", "{", "assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "16", ";", "++", "i", ")", "Reserved", ".", "set", "(", "ARM", "::", "D16", "+", "i", ")", ";", "}", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "TargetRegisterClass", "::", "iterator", "I", "=", "RC", "->", "begin", "(", ")", ",", "E", "=", "RC", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "for", "(", "MCSubRegIterator", "SI", "(", "*", "I", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "Reserved", ".", "set", "(", "*", "I", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::D31", "ARM::D16", "15", "0", "16", "ARM::D16", "ARM::GPRPairRegClass"], "File": "ARMBaseRegisterInfo15", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10119, "Length": 253} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getThisReturnPreservedMask", "(", "CallingConv", "::", "ID", "CC", ")", "const", "{", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "nullptr", ";", "return", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_ThisReturn_RegMask", ":", "CSR_AAPCS_ThisReturn_RegMask", ";", "}", ""], "natrual_language": ["getThisReturnPreservedMask", "-", "Returns", "a", "call", "preserved", "mask", "specific", "to", "the", "case", "that", "'returned", "'", "is", "on", "an", "i32", "first", "argument", "if", "the", "calling", "convention", "is", "one", "that", "can", "(", "partially", ")", "model", "this", "attribute", "with", "a", "preserved", "mask", "(", "i.e", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo15", "Func": "getThisReturnPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10120, "Length": 46} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "isFrameOffsetLegal", "(", "const", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "if", "(", "AddrMode", "==", "ARMII", "::", "AddrMode4", "||", "AddrMode", "==", "ARMII", "::", "AddrMode6", ")", "return", "Offset", "==", "0", ";", "unsigned", "NumBits", "=", "0", ";", "unsigned", "Scale", "=", "1", ";", "bool", "isSigned", "=", "true", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "Scale", "=", "1", ";", "if", "(", "Offset", "<", "0", ")", "{", "NumBits", "=", "8", ";", "Offset", "=", "-", "Offset", ";", "}", "else", "{", "NumBits", "=", "12", ";", "}", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "NumBits", "=", "8", ";", "Scale", "=", "4", ";", "break", ";", "case", "ARMII", "::", "AddrMode_i12", ":", "case", "ARMII", "::", "AddrMode2", ":", "NumBits", "=", "12", ";", "break", ";", "case", "ARMII", "::", "AddrMode3", ":", "NumBits", "=", "8", ";", "break", ";", "case", "ARMII", "::", "AddrModeT1_s", ":", "NumBits", "=", "5", ";", "Scale", "=", "4", ";", "isSigned", "=", "false", ";", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "}", "Offset", "+=", "getFrameIndexInstrOffset", "(", "MI", ",", "i", ")", ";", "if", "(", "(", "Offset", "&", "(", "Scale", "-", "1", ")", ")", "!=", "0", ")", "return", "false", ";", "if", "(", "isSigned", "&&", "Offset", "<", "0", ")", "Offset", "=", "-", "Offset", ";", "unsigned", "Mask", "=", "(", "1", "<<", "NumBits", ")", "-", "1", ";", "if", "(", "(", "unsigned", ")", "Offset", "<=", "Mask", "*", "Scale", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Determine", "whether", "a", "given", "base", "register", "plus", "offset", "immediate", "is", "encodable", "to", "resolve", "a", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARMII::AddrMode4", "ARMII::AddrMode6", "0", "0", "1", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "1", "0", "8", "12", "ARMII::AddrMode5", "8", "4", "ARMII::AddrMode_i12", "ARMII::AddrMode2", "12", "ARMII::AddrMode3", "8", "ARMII::AddrModeT1_s", "5", "4", "\"Unsupported addressing mode!\"", "1", "0", "0", "1", "1"], "File": "ARMBaseRegisterInfo15", "Func": "isFrameOffsetLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10121, "Length": 292} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "materializeFrameBaseRegister", "(", "MachineBasicBlock", "*", "MBB", ",", "unsigned", "BaseReg", ",", "int", "FrameIdx", ",", "int64_t", "Offset", ")", "const", "{", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "ADDriOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "ADDri", ":", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "?", "ARM", "::", "tADDrSPi", ":", "ARM", "::", "t2ADDri", ")", ";", "MachineBasicBlock", "::", "iterator", "Ins", "=", "MBB", "->", "begin", "(", ")", ";", "DebugLoc", "DL", ";", "if", "(", "Ins", "!=", "MBB", "->", "end", "(", ")", ")", "DL", "=", "Ins", "->", "getDebugLoc", "(", ")", ";", "const", "MachineFunction", "&", "MF", "=", "*", "MBB", "->", "getParent", "(", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MBB", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "TII", ".", "get", "(", "ADDriOpc", ")", ";", "MRI", ".", "constrainRegClass", "(", "BaseReg", ",", "TII", ".", "getRegClass", "(", "MCID", ",", "0", ",", "this", ",", "MF", ")", ")", ";", "MachineInstrBuilder", "MIB", "=", "AddDefaultPred", "(", "BuildMI", "(", "*", "MBB", ",", "Ins", ",", "DL", ",", "MCID", ",", "BaseReg", ")", ".", "addFrameIndex", "(", "FrameIdx", ")", ".", "addImm", "(", "Offset", ")", ")", ";", "if", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "AddDefaultCC", "(", "MIB", ")", ";", "}", ""], "natrual_language": ["Insert", "defining", "instruction", "(", "s", ")", "for", "a", "pointer", "to", "FrameIdx", "before", "insertion", "point", "I", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::ADDri", "ARM::tADDrSPi", "ARM::t2ADDri", "0"], "File": "ARMBaseRegisterInfo15", "Func": "materializeFrameBaseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10122, "Length": 218} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "needsFrameBaseReg", "(", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "for", "(", "unsigned", "i", "=", "0", ";", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ";", "++", "i", ")", "{", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "STRH", ":", "case", "ARM", "::", "STRBi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "t2STRi8", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VSTRS", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "tLDRspi", ":", "break", ";", "default", ":", "return", "false", ";", "}", "MachineFunction", "&", "MF", "=", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int64_t", "FPOffset", "=", "Offset", "-", "8", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "FPOffset", "-=", "80", ";", "Offset", "=", "-", "Offset", ";", "Offset", "+=", "MFI", "->", "getLocalFrameSize", "(", ")", ";", "Offset", "+=", "128", ";", "unsigned", "StackAlign", "=", "TFI", "->", "getStackAlignment", "(", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", "&&", "!", "(", "(", "MFI", "->", "getLocalFrameMaxAlign", "(", ")", ">", "StackAlign", ")", "&&", "canRealignStack", "(", "MF", ")", ")", ")", "{", "if", "(", "isFrameOffsetLegal", "(", "MI", ",", "FPOffset", ")", ")", "return", "false", ";", "}", "if", "(", "!", "MFI", "->", "hasVarSizedObjects", "(", ")", "&&", "isFrameOffsetLegal", "(", "MI", ",", "Offset", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "'s", "frame", "index", "reference", "would", "be", "better", "served", "by", "a", "base", "register", "other", "than", "FP", "or", "SP", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARM::LDRi12", "ARM::LDRH", "ARM::LDRBi12", "ARM::STRi12", "ARM::STRH", "ARM::STRBi12", "ARM::t2LDRi12", "ARM::t2LDRi8", "ARM::t2STRi12", "ARM::t2STRi8", "ARM::VLDRS", "ARM::VLDRD", "ARM::VSTRS", "ARM::VSTRD", "ARM::tSTRspi", "ARM::tLDRspi", "ARM", "ARM", "8", "80", "128"], "File": "ARMBaseRegisterInfo15", "Func": "needsFrameBaseReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10123, "Length": 323} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "resolveFrameIndex", "(", "MachineInstr", "&", "MI", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This resolveFrameIndex does not support Thumb1!\"", ")", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "false", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "Done", "=", "rewriteARMFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "Done", "=", "rewriteT2FrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "}", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "0", "\"This resolveFrameIndex does not support Thumb1!\"", "\"Instr doesn't have FrameIndex operand!\"", "ARM", "\"Unable to resolve frame index!\""], "File": "ARMBaseRegisterInfo15", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10124, "Length": 199} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "DebugLoc", "&", "dl", ",", "Register", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "Register", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MF", ".", "getFunction", "(", ")", ".", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "LDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "0", ")", ".", "add", "(", "predOps", "(", "Pred", ",", "PredReg", ")", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "4", "ARM::LDRcp", "0"], "File": "ARMBaseRegisterInfo16", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10125, "Length": 174} {"ground_truth": ["", "const", "MCPhysReg", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "bool", "UseSplitPush", "=", "STI", ".", "splitFramePushPop", "(", "*", "MF", ")", ";", "const", "MCPhysReg", "*", "RegList", "=", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SaveList", ":", "(", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SaveList", ":", "CSR_AAPCS_SaveList", ")", ";", "const", "Function", "&", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", ".", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", ".", "getCallingConv", "(", ")", "==", "CallingConv", "::", "CFGuard_Check", ")", "{", "return", "CSR_Win_AAPCS_CFGuard_Check_SaveList", ";", "}", "else", "if", "(", "F", ".", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", ".", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "if", "(", "STI", ".", "getTargetLowering", "(", ")", "->", "supportSwiftError", "(", ")", "&&", "F", ".", "getAttributes", "(", ")", ".", "hasAttrSomewhere", "(", "Attribute", "::", "SwiftError", ")", ")", "{", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", ")", "return", "CSR_iOS_SwiftError_SaveList", ";", "return", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SwiftError_SaveList", ":", "CSR_AAPCS_SwiftError_SaveList", ";", "}", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "F", ".", "getCallingConv", "(", ")", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isSplitCSR", "(", ")", "?", "CSR_iOS_CXX_TLS_PE_SaveList", ":", "CSR_iOS_CXX_TLS_SaveList", ";", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\"", "ARM"], "File": "ARMBaseRegisterInfo16", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10126, "Length": 247} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "const", "MachineFunction", "&", "MF", ",", "CallingConv", "::", "ID", "CC", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "CSR_NoRegs_RegMask", ";", "if", "(", "CC", "==", "CallingConv", "::", "CFGuard_Check", ")", "return", "CSR_Win_AAPCS_CFGuard_Check_RegMask", ";", "if", "(", "STI", ".", "getTargetLowering", "(", ")", "->", "supportSwiftError", "(", ")", "&&", "MF", ".", "getFunction", "(", ")", ".", "getAttributes", "(", ")", ".", "hasAttrSomewhere", "(", "Attribute", "::", "SwiftError", ")", ")", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SwiftError_RegMask", ":", "CSR_AAPCS_SwiftError_RegMask", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "CC", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "CSR_iOS_CXX_TLS_RegMask", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo16", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10127, "Length": 124} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "getRegAllocationHints", "(", "Register", "VirtReg", ",", "ArrayRef", "<", "MCPhysReg", ">", "Order", ",", "SmallVectorImpl", "<", "MCPhysReg", ">", "&", "Hints", ",", "const", "MachineFunction", "&", "MF", ",", "const", "VirtRegMap", "*", "VRM", ",", "const", "LiveRegMatrix", "*", "Matrix", ")", "const", "{", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "Register", ",", "Register", ">", "Hint", "=", "MRI", ".", "getRegAllocationHint", "(", "VirtReg", ")", ";", "unsigned", "Odd", ";", "switch", "(", "Hint", ".", "first", ")", "{", "case", "ARMRI", "::", "RegPairEven", ":", "Odd", "=", "0", ";", "break", ";", "case", "ARMRI", "::", "RegPairOdd", ":", "Odd", "=", "1", ";", "break", ";", "default", ":", "TargetRegisterInfo", "::", "getRegAllocationHints", "(", "VirtReg", ",", "Order", ",", "Hints", ",", "MF", ",", "VRM", ")", ";", "return", "false", ";", "}", "Register", "Paired", "=", "Hint", ".", "second", ";", "if", "(", "!", "Paired", ")", "return", "false", ";", "Register", "PairedPhys", ";", "if", "(", "Paired", ".", "isPhysical", "(", ")", ")", "{", "PairedPhys", "=", "Paired", ";", "}", "else", "if", "(", "VRM", "&&", "VRM", "->", "hasPhys", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "getPairedGPR", "(", "VRM", "->", "getPhys", "(", "Paired", ")", ",", "Odd", ",", "this", ")", ";", "}", "if", "(", "PairedPhys", "&&", "is_contained", "(", "Order", ",", "PairedPhys", ")", ")", "Hints", ".", "push_back", "(", "PairedPhys", ")", ";", "for", "(", "MCPhysReg", "Reg", ":", "Order", ")", "{", "if", "(", "Reg", "==", "PairedPhys", "||", "(", "getEncodingValue", "(", "Reg", ")", "&", "1", ")", "!=", "Odd", ")", "continue", ";", "MCPhysReg", "Paired", "=", "getPairedGPR", "(", "Reg", ",", "!", "Odd", ",", "this", ")", ";", "if", "(", "!", "Paired", "||", "MRI", ".", "isReserved", "(", "Paired", ")", ")", "continue", ";", "Hints", ".", "push_back", "(", "Reg", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Get", "a", "list", "of", "'hint", "'", "registers", "that", "the", "register", "allocator", "should", "try", "first", "when", "allocating", "a", "physical", "register", "for", "the", "virtual", "register", "VirtReg", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairEven", "0", "ARMRI::RegPairOdd", "1", "1"], "File": "ARMBaseRegisterInfo16", "Func": "getRegAllocationHints", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10128, "Length": 265} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "DebugLoc", "&", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MF", ".", "getFunction", "(", ")", ".", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "LDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "0", ")", ".", "add", "(", "predOps", "(", "Pred", ",", "PredReg", ")", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "4", "ARM::LDRcp", "0"], "File": "ARMBaseRegisterInfo17", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10129, "Length": 174} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "getRegAllocationHints", "(", "unsigned", "VirtReg", ",", "ArrayRef", "<", "MCPhysReg", ">", "Order", ",", "SmallVectorImpl", "<", "MCPhysReg", ">", "&", "Hints", ",", "const", "MachineFunction", "&", "MF", ",", "const", "VirtRegMap", "*", "VRM", ",", "const", "LiveRegMatrix", "*", "Matrix", ")", "const", "{", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "unsigned", ",", "unsigned", ">", "Hint", "=", "MRI", ".", "getRegAllocationHint", "(", "VirtReg", ")", ";", "unsigned", "Odd", ";", "switch", "(", "Hint", ".", "first", ")", "{", "case", "ARMRI", "::", "RegPairEven", ":", "Odd", "=", "0", ";", "break", ";", "case", "ARMRI", "::", "RegPairOdd", ":", "Odd", "=", "1", ";", "break", ";", "default", ":", "TargetRegisterInfo", "::", "getRegAllocationHints", "(", "VirtReg", ",", "Order", ",", "Hints", ",", "MF", ",", "VRM", ")", ";", "return", "false", ";", "}", "unsigned", "Paired", "=", "Hint", ".", "second", ";", "if", "(", "Paired", "==", "0", ")", "return", "false", ";", "unsigned", "PairedPhys", "=", "0", ";", "if", "(", "Register", "::", "isPhysicalRegister", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "Paired", ";", "}", "else", "if", "(", "VRM", "&&", "VRM", "->", "hasPhys", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "getPairedGPR", "(", "VRM", "->", "getPhys", "(", "Paired", ")", ",", "Odd", ",", "this", ")", ";", "}", "if", "(", "PairedPhys", "&&", "is_contained", "(", "Order", ",", "PairedPhys", ")", ")", "Hints", ".", "push_back", "(", "PairedPhys", ")", ";", "for", "(", "unsigned", "Reg", ":", "Order", ")", "{", "if", "(", "Reg", "==", "PairedPhys", "||", "(", "getEncodingValue", "(", "Reg", ")", "&", "1", ")", "!=", "Odd", ")", "continue", ";", "unsigned", "Paired", "=", "getPairedGPR", "(", "Reg", ",", "!", "Odd", ",", "this", ")", ";", "if", "(", "!", "Paired", "||", "MRI", ".", "isReserved", "(", "Paired", ")", ")", "continue", ";", "Hints", ".", "push_back", "(", "Reg", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Get", "a", "list", "of", "'hint", "'", "registers", "that", "the", "register", "allocator", "should", "try", "first", "when", "allocating", "a", "physical", "register", "for", "the", "virtual", "register", "VirtReg", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairEven", "0", "ARMRI::RegPairOdd", "1", "0", "0", "1"], "File": "ARMBaseRegisterInfo17", "Func": "getRegAllocationHints", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10130, "Length": 269} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "SP", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "PC", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "FPSCR", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", "||", "STI", ".", "isTargetDarwin", "(", ")", ")", "markSuperRegs", "(", "Reserved", ",", "getFramePointerReg", "(", "STI", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasD32", "(", ")", ")", "{", "static_assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ",", "\"Register list not consecutive!\"", ")", ";", "for", "(", "unsigned", "R", "=", "0", ";", "R", "<", "16", ";", "++", "R", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "D16", "+", "R", ")", ";", "}", "const", "TargetRegisterClass", "&", "RC", "=", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "unsigned", "Reg", ":", "RC", ")", "for", "(", "MCSubRegIterator", "SI", "(", "Reg", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "markSuperRegs", "(", "Reserved", ",", "Reg", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "ZR", ")", ";", "assert", "(", "checkAllSuperRegsMarked", "(", "Reserved", ")", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::D31", "ARM::D16", "15", "\"Register list not consecutive!\"", "0", "16", "ARM::D16", "ARM::GPRPairRegClass", "ARM::ZR"], "File": "ARMBaseRegisterInfo17", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10131, "Length": 260} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "isAsmClobberable", "(", "const", "MachineFunction", "&", "MF", ",", "unsigned", "PhysReg", ")", "const", "{", "return", "!", "getReservedRegs", "(", "MF", ")", ".", "test", "(", "PhysReg", ")", ";", "}", ""], "natrual_language": ["Returns", "false", "if", "we", "ca", "n't", "guarantee", "that", "Physreg", ",", "specified", "as", "an", "IR", "asm", "clobber", "constraint", ",", "will", "be", "preserved", "across", "the", "statement", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo17", "Func": "isAsmClobberable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10132, "Length": 28} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "isFrameOffsetLegal", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "unsigned", "i", "=", "0", ";", "for", "(", ";", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ";", "++", "i", ")", "assert", "(", "i", "+", "1", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "if", "(", "AddrMode", "==", "ARMII", "::", "AddrMode4", "||", "AddrMode", "==", "ARMII", "::", "AddrMode6", ")", "return", "Offset", "==", "0", ";", "unsigned", "NumBits", "=", "0", ";", "unsigned", "Scale", "=", "1", ";", "bool", "isSigned", "=", "true", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "Scale", "=", "1", ";", "if", "(", "Offset", "<", "0", ")", "{", "NumBits", "=", "8", ";", "Offset", "=", "-", "Offset", ";", "}", "else", "{", "NumBits", "=", "12", ";", "}", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "NumBits", "=", "8", ";", "Scale", "=", "4", ";", "break", ";", "case", "ARMII", "::", "AddrMode_i12", ":", "case", "ARMII", "::", "AddrMode2", ":", "NumBits", "=", "12", ";", "break", ";", "case", "ARMII", "::", "AddrMode3", ":", "NumBits", "=", "8", ";", "break", ";", "case", "ARMII", "::", "AddrModeT1_s", ":", "NumBits", "=", "(", "BaseReg", "==", "ARM", "::", "SP", "?", "8", ":", "5", ")", ";", "Scale", "=", "4", ";", "isSigned", "=", "false", ";", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "}", "Offset", "+=", "getFrameIndexInstrOffset", "(", "MI", ",", "i", ")", ";", "if", "(", "(", "Offset", "&", "(", "Scale", "-", "1", ")", ")", "!=", "0", ")", "return", "false", ";", "if", "(", "isSigned", "&&", "Offset", "<", "0", ")", "Offset", "=", "-", "Offset", ";", "unsigned", "Mask", "=", "(", "1", "<<", "NumBits", ")", "-", "1", ";", "if", "(", "(", "unsigned", ")", "Offset", "<=", "Mask", "*", "Scale", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Determine", "whether", "a", "given", "base", "register", "plus", "offset", "immediate", "is", "encodable", "to", "resolve", "a", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "1", "\"Instr doesn't have FrameIndex operand!\"", "ARMII::AddrMode4", "ARMII::AddrMode6", "0", "0", "1", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "1", "0", "8", "12", "ARMII::AddrMode5", "8", "4", "ARMII::AddrMode_i12", "ARMII::AddrMode2", "12", "ARMII::AddrMode3", "8", "ARMII::AddrModeT1_s", "ARM::SP", "8", "5", "4", "\"Unsupported addressing mode!\"", "1", "0", "0", "1", "1"], "File": "ARMBaseRegisterInfo17", "Func": "isFrameOffsetLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10133, "Length": 306} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "resolveFrameIndex", "(", "MachineInstr", "&", "MI", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This resolveFrameIndex does not support Thumb1!\"", ")", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "false", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "Done", "=", "rewriteARMFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "Done", "=", "rewriteT2FrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ",", "this", ")", ";", "}", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "0", "\"This resolveFrameIndex does not support Thumb1!\"", "\"Instr doesn't have FrameIndex operand!\"", "ARM", "\"Unable to resolve frame index!\""], "File": "ARMBaseRegisterInfo17", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10134, "Length": 201} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "updateRegAllocHint", "(", "unsigned", "Reg", ",", "unsigned", "NewReg", ",", "MachineFunction", "&", "MF", ")", "const", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "unsigned", ",", "unsigned", ">", "Hint", "=", "MRI", "->", "getRegAllocationHint", "(", "Reg", ")", ";", "if", "(", "(", "Hint", ".", "first", "==", "(", "unsigned", ")", "ARMRI", "::", "RegPairOdd", "||", "Hint", ".", "first", "==", "(", "unsigned", ")", "ARMRI", "::", "RegPairEven", ")", "&&", "Register", "::", "isVirtualRegister", "(", "Hint", ".", "second", ")", ")", "{", "unsigned", "OtherReg", "=", "Hint", ".", "second", ";", "Hint", "=", "MRI", "->", "getRegAllocationHint", "(", "OtherReg", ")", ";", "if", "(", "Hint", ".", "second", "==", "Reg", ")", "{", "MRI", "->", "setRegAllocationHint", "(", "OtherReg", ",", "Hint", ".", "first", ",", "NewReg", ")", ";", "if", "(", "Register", "::", "isVirtualRegister", "(", "NewReg", ")", ")", "MRI", "->", "setRegAllocationHint", "(", "NewReg", ",", "Hint", ".", "first", "==", "(", "unsigned", ")", "ARMRI", "::", "RegPairOdd", "?", "ARMRI", "::", "RegPairEven", ":", "ARMRI", "::", "RegPairOdd", ",", "OtherReg", ")", ";", "}", "}", "}", ""], "natrual_language": ["A", "callback", "to", "allow", "target", "a", "chance", "to", "update", "register", "allocation", "hints", "when", "a", "register", "is", "``", "changed", "''", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairOdd", "ARMRI::RegPairEven", "ARMRI::RegPairOdd", "ARMRI::RegPairEven", "ARMRI::RegPairOdd"], "File": "ARMBaseRegisterInfo17", "Func": "updateRegAllocHint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10135, "Length": 159} {"ground_truth": ["", "const", "uint16_t", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "bool", "ghcCall", "=", "false", ";", "if", "(", "MF", ")", "{", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "ghcCall", "=", "(", "F", "?", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ":", "false", ")", ";", "}", "if", "(", "ghcCall", ")", "return", "CSR_NoRegs_SaveList", ";", "else", "return", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo19", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10136, "Length": 83} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getThisReturnPreservedMask", "(", "CallingConv", "::", "ID", "CC", ")", "const", "{", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "NULL", ";", "return", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_ThisReturn_RegMask", ":", "CSR_AAPCS_ThisReturn_RegMask", ";", "}", ""], "natrual_language": ["getThisReturnPreservedMask", "-", "Returns", "a", "call", "preserved", "mask", "specific", "to", "the", "case", "that", "'returned", "'", "is", "on", "an", "i32", "first", "argument", "if", "the", "calling", "convention", "is", "one", "that", "can", "(", "partially", ")", "model", "this", "attribute", "with", "a", "preserved", "mask", "(", "i.e", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo19", "Func": "getThisReturnPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10137, "Length": 46} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "resolveFrameIndex", "(", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "MachineInstr", "&", "MI", "=", "*", "I", ";", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This resolveFrameIndex does not support Thumb1!\"", ")", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "false", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "Done", "=", "rewriteARMFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "Done", "=", "rewriteT2FrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "}", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "0", "\"This resolveFrameIndex does not support Thumb1!\"", "\"Instr doesn't have FrameIndex operand!\"", "ARM", "\"Unable to resolve frame index!\""], "File": "ARMBaseRegisterInfo19", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10138, "Length": 207} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "return", "(", "RealignStack", "&&", "(", "!", "MFI", "->", "hasVarSizedObjects", "(", ")", "||", "EnableBasePointer", ")", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo1", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10139, "Length": 40} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "if", "(", "!", "TFI", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "TFI", "->", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", ")", ";", "bool", "isARM", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "int", "PIdx", "=", "Old", "->", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "Old", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "Amount", ",", "Pred", ",", "PredReg", ")", ";", "}", "else", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ";", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "Amount", ",", "Pred", ",", "PredReg", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "1", "ARM", "ARM", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", "ARM", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "2", "ARM", "3", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "ARM"], "File": "ARMBaseRegisterInfo1", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10140, "Length": 301} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "LDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "4", "ARM::LDRcp", "0"], "File": "ARMBaseRegisterInfo1", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10141, "Length": 156} {"ground_truth": ["", "static", "void", "emitSPUpdate", "(", "bool", "isARM", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "const", "ARMBaseInstrInfo", "&", "TII", ",", "int", "NumBytes", ",", "ARMCC", "::", "CondCodes", "Pred", "=", "ARMCC", "::", "AL", ",", "unsigned", "PredReg", "=", "0", ")", "{", "if", "(", "isARM", ")", "emitARMRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "dl", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "Pred", ",", "PredReg", ",", "TII", ")", ";", "else", "emitT2RegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "dl", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "Pred", ",", "PredReg", ",", "TII", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "series", "of", "instructions", "to", "increment", "/", "decrement", "the", "stack", "pointer", "by", "a", "constant", "value", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARMCC::CondCodes", "ARMCC::AL", "0", "ARM", "ARM", "ARM::SP", "ARM::SP", "ARM::SP", "ARM::SP"], "File": "ARMBaseRegisterInfo1", "Func": "emitSPUpdate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10142, "Length": 99} {"ground_truth": ["", "const", "unsigned", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "static", "const", "unsigned", "CalleeSavedRegs", "[", "]", "=", "{", "ARM", "::", "LR", ",", "ARM", "::", "R11", ",", "ARM", "::", "R10", ",", "ARM", "::", "R9", ",", "ARM", "::", "R8", ",", "ARM", "::", "R7", ",", "ARM", "::", "R6", ",", "ARM", "::", "R5", ",", "ARM", "::", "R4", ",", "ARM", "::", "D15", ",", "ARM", "::", "D14", ",", "ARM", "::", "D13", ",", "ARM", "::", "D12", ",", "ARM", "::", "D11", ",", "ARM", "::", "D10", ",", "ARM", "::", "D9", ",", "ARM", "::", "D8", ",", "0", "}", ";", "static", "const", "unsigned", "DarwinCalleeSavedRegs", "[", "]", "=", "{", "ARM", "::", "LR", ",", "ARM", "::", "R7", ",", "ARM", "::", "R6", ",", "ARM", "::", "R5", ",", "ARM", "::", "R4", ",", "ARM", "::", "R11", ",", "ARM", "::", "R10", ",", "ARM", "::", "R8", ",", "ARM", "::", "D15", ",", "ARM", "::", "D14", ",", "ARM", "::", "D13", ",", "ARM", "::", "D12", ",", "ARM", "::", "D11", ",", "ARM", "::", "D10", ",", "ARM", "::", "D9", ",", "ARM", "::", "D8", ",", "0", "}", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "DarwinCalleeSavedRegs", ":", "CalleeSavedRegs", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "ARM::LR", "ARM::R11", "ARM::R10", "ARM::R9", "ARM::R8", "ARM::R7", "ARM::R6", "ARM::R5", "ARM::R4", "ARM::D15", "ARM::D14", "ARM::D13", "ARM::D12", "ARM::D11", "ARM::D10", "ARM::D9", "ARM::D8", "0", "ARM::LR", "ARM::R7", "ARM::R6", "ARM::R5", "ARM::R4", "ARM::R11", "ARM::R10", "ARM::R8", "ARM::D15", "ARM::D14", "ARM::D13", "ARM::D12", "ARM::D11", "ARM::D10", "ARM::D9", "ARM::D8", "0"], "File": "ARMBaseRegisterInfo1", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10143, "Length": 180} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getCrossCopyRegClass", "(", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "if", "(", "RC", "==", "&", "ARM", "::", "CCRRegClass", ")", "return", "0", ";", "return", "RC", ";", "}", ""], "natrual_language": ["getCrossCopyRegClass", "-", "Returns", "a", "legal", "register", "class", "to", "copy", "a", "register", "in", "the", "specified", "class", "to", "or", "from", "."], "TS_V_token": ["ARM", "ARM", "ARM::CCRRegClass", "0"], "File": "ARMBaseRegisterInfo1", "Func": "getCrossCopyRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10144, "Length": 30} {"ground_truth": ["", "int64_t", "ARMBaseRegisterInfo", "::", "getFrameIndexInstrOffset", "(", "const", "MachineInstr", "*", "MI", ",", "int", "Idx", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "int64_t", "InstrOffs", "=", "0", ";", ";", "int", "Scale", "=", "1", ";", "unsigned", "ImmIdx", "=", "0", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "case", "ARMII", "::", "AddrMode_i12", ":", "InstrOffs", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "1", ";", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "{", "const", "MachineOperand", "&", "OffOp", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM5Offset", "(", "OffOp", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM5Op", "(", "OffOp", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "Scale", "=", "4", ";", "break", ";", "}", "case", "ARMII", "::", "AddrMode2", ":", "{", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM2Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM2Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "}", "case", "ARMII", "::", "AddrMode3", ":", "{", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM3Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM3Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "}", "case", "ARMII", "::", "AddrModeT1_s", ":", "{", "ImmIdx", "=", "Idx", "+", "1", ";", "InstrOffs", "=", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "4", ";", "break", ";", "}", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "break", ";", "}", "return", "InstrOffs", "*", "Scale", ";", "}", ""], "natrual_language": ["Get", "the", "offset", "from", "the", "referenced", "frame", "index", "in", "the", "instruction", ",", "if", "there", "is", "one", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "1", "0", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "ARMII::AddrMode_i12", "1", "1", "ARMII::AddrMode5", "1", "ARM_AM::getAM5Offset", "ARM_AM::getAM5Op", "ARM_AM::sub", "4", "ARMII::AddrMode2", "2", "ARM_AM::getAM2Offset", "ARM_AM::getAM2Op", "ARM_AM::sub", "ARMII::AddrMode3", "2", "ARM_AM::getAM3Offset", "ARM_AM::getAM3Op", "ARM_AM::sub", "ARMII::AddrModeT1_s", "1", "4", "\"Unsupported addressing mode!\""], "File": "ARMBaseRegisterInfo1", "Func": "getFrameIndexInstrOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10145, "Length": 326} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getFrameRegister", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "return", "FramePtr", ";", "return", "ARM", "::", "SP", ";", "}", ""], "natrual_language": ["Debug", "information", "queries", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP"], "File": "ARMBaseRegisterInfo1", "Func": "getFrameRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10146, "Length": 45} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getLargestLegalSuperClass", "(", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "const", "TargetRegisterClass", "*", "Super", "=", "RC", ";", "TargetRegisterClass", "::", "sc_iterator", "I", "=", "RC", "->", "getSuperClasses", "(", ")", ";", "do", "{", "switch", "(", "Super", "->", "getID", "(", ")", ")", "{", "case", "ARM", "::", "GPRRegClassID", ":", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "case", "ARM", "::", "QPRRegClassID", ":", "case", "ARM", "::", "QQPRRegClassID", ":", "case", "ARM", "::", "QQQQPRRegClassID", ":", "return", "Super", ";", "}", "Super", "=", "*", "I", "++", ";", "}", "while", "(", "Super", ")", ";", "return", "RC", ";", "}", ""], "natrual_language": ["Returns", "the", "largest", "super", "class", "of", "RC", "that", "is", "legal", "to", "use", "in", "the", "current", "sub-target", "and", "has", "the", "same", "spill", "size", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClassID", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "ARM::QPRRegClassID", "ARM::QQPRRegClassID", "ARM::QQQQPRRegClassID"], "File": "ARMBaseRegisterInfo1", "Func": "getLargestLegalSuperClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10147, "Length": 93} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getMatchingSuperRegClass", "(", "const", "TargetRegisterClass", "*", "A", ",", "const", "TargetRegisterClass", "*", "B", ",", "unsigned", "SubIdx", ")", "const", "{", "switch", "(", "SubIdx", ")", "{", "default", ":", "return", "0", ";", "case", "ARM", "::", "ssub_0", ":", "case", "ARM", "::", "ssub_1", ":", "case", "ARM", "::", "ssub_2", ":", "case", "ARM", "::", "ssub_3", ":", "{", "if", "(", "A", "->", "getSize", "(", ")", "==", "8", ")", "{", "if", "(", "B", "==", "&", "ARM", "::", "SPR_8RegClass", ")", "return", "&", "ARM", "::", "DPR_8RegClass", ";", "assert", "(", "B", "==", "&", "ARM", "::", "SPRRegClass", "&&", "\"Expecting SPR register class!\"", ")", ";", "if", "(", "A", "==", "&", "ARM", "::", "DPR_8RegClass", ")", "return", "A", ";", "return", "&", "ARM", "::", "DPR_VFP2RegClass", ";", "}", "if", "(", "A", "->", "getSize", "(", ")", "==", "16", ")", "{", "if", "(", "B", "==", "&", "ARM", "::", "SPR_8RegClass", ")", "return", "&", "ARM", "::", "QPR_8RegClass", ";", "return", "&", "ARM", "::", "QPR_VFP2RegClass", ";", "}", "if", "(", "A", "->", "getSize", "(", ")", "==", "32", ")", "{", "if", "(", "B", "==", "&", "ARM", "::", "SPR_8RegClass", ")", "return", "0", ";", "return", "&", "ARM", "::", "QQPR_VFP2RegClass", ";", "}", "assert", "(", "A", "->", "getSize", "(", ")", "==", "64", "&&", "\"Expecting a QQQQ register class!\"", ")", ";", "return", "0", ";", "}", "case", "ARM", "::", "dsub_0", ":", "case", "ARM", "::", "dsub_1", ":", "case", "ARM", "::", "dsub_2", ":", "case", "ARM", "::", "dsub_3", ":", "{", "if", "(", "A", "->", "getSize", "(", ")", "==", "16", ")", "{", "if", "(", "B", "==", "&", "ARM", "::", "DPR_VFP2RegClass", ")", "return", "&", "ARM", "::", "QPR_VFP2RegClass", ";", "if", "(", "B", "==", "&", "ARM", "::", "DPR_8RegClass", ")", "return", "0", ";", "return", "A", ";", "}", "if", "(", "A", "->", "getSize", "(", ")", "==", "32", ")", "{", "if", "(", "B", "==", "&", "ARM", "::", "DPR_VFP2RegClass", ")", "return", "&", "ARM", "::", "QQPR_VFP2RegClass", ";", "if", "(", "B", "==", "&", "ARM", "::", "DPR_8RegClass", ")", "return", "0", ";", "return", "A", ";", "}", "assert", "(", "A", "->", "getSize", "(", ")", "==", "64", "&&", "\"Expecting a QQQQ register class!\"", ")", ";", "if", "(", "B", "!=", "&", "ARM", "::", "DPRRegClass", ")", "return", "0", ";", "return", "A", ";", "}", "case", "ARM", "::", "dsub_4", ":", "case", "ARM", "::", "dsub_5", ":", "case", "ARM", "::", "dsub_6", ":", "case", "ARM", "::", "dsub_7", ":", "{", "if", "(", "A", "->", "getSize", "(", ")", "==", "64", "&&", "B", "==", "&", "ARM", "::", "DPRRegClass", ")", "return", "A", ";", "return", "0", ";", "}", "case", "ARM", "::", "qsub_0", ":", "case", "ARM", "::", "qsub_1", ":", "{", "if", "(", "A", "->", "getSize", "(", ")", "==", "32", ")", "{", "if", "(", "B", "==", "&", "ARM", "::", "QPR_VFP2RegClass", ")", "return", "&", "ARM", "::", "QQPR_VFP2RegClass", ";", "if", "(", "B", "==", "&", "ARM", "::", "QPR_8RegClass", ")", "return", "0", ";", "return", "A", ";", "}", "assert", "(", "A", "->", "getSize", "(", ")", "==", "64", "&&", "\"Expecting a QQQQ register class!\"", ")", ";", "if", "(", "B", "==", "&", "ARM", "::", "QPRRegClass", ")", "return", "A", ";", "return", "0", ";", "}", "case", "ARM", "::", "qsub_2", ":", "case", "ARM", "::", "qsub_3", ":", "{", "if", "(", "A", "->", "getSize", "(", ")", "==", "64", "&&", "B", "==", "&", "ARM", "::", "QPRRegClass", ")", "return", "A", ";", "return", "0", ";", "}", "}", "return", "0", ";", "}", ""], "natrual_language": ["getMatchingSuperRegClass", "-", "Return", "a", "subclass", "of", "the", "specified", "register", "class", "A", "so", "that", "each", "register", "in", "it", "has", "a", "sub-register", "of", "the", "specified", "sub-register", "index", "which", "is", "in", "the", "specified", "register", "class", "B", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::ssub_0", "ARM::ssub_1", "ARM::ssub_2", "ARM::ssub_3", "8", "ARM::SPR_8RegClass", "ARM::DPR_8RegClass", "ARM::SPRRegClass", "\"Expecting SPR register class!\"", "ARM::DPR_8RegClass", "ARM::DPR_VFP2RegClass", "16", "ARM::SPR_8RegClass", "ARM::QPR_8RegClass", "ARM::QPR_VFP2RegClass", "32", "ARM::SPR_8RegClass", "0", "ARM::QQPR_VFP2RegClass", "64", "\"Expecting a QQQQ register class!\"", "0", "ARM::dsub_0", "ARM::dsub_1", "ARM::dsub_2", "ARM::dsub_3", "16", "ARM::DPR_VFP2RegClass", "ARM::QPR_VFP2RegClass", "ARM::DPR_8RegClass", "0", "32", "ARM::DPR_VFP2RegClass", "ARM::QQPR_VFP2RegClass", "ARM::DPR_8RegClass", "0", "64", "\"Expecting a QQQQ register class!\"", "ARM::DPRRegClass", "0", "ARM::dsub_4", "ARM::dsub_5", "ARM::dsub_6", "ARM::dsub_7", "64", "ARM::DPRRegClass", "0", "ARM::qsub_0", "ARM::qsub_1", "32", "ARM::QPR_VFP2RegClass", "ARM::QQPR_VFP2RegClass", "ARM::QPR_8RegClass", "0", "64", "\"Expecting a QQQQ register class!\"", "ARM::QPRRegClass", "0", "ARM::qsub_2", "ARM::qsub_3", "64", "ARM::QPRRegClass", "0", "0"], "File": "ARMBaseRegisterInfo1", "Func": "getMatchingSuperRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10148, "Length": 491} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getPointerRegClass", "(", "unsigned", "Kind", ")", "const", "{", "return", "ARM", "::", "GPRRegisterClass", ";", "}", ""], "natrual_language": ["getPointerRegClass", "-", "Returns", "a", "TargetRegisterClass", "used", "for", "pointer", "values", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegisterClass"], "File": "ARMBaseRegisterInfo1", "Func": "getPointerRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10149, "Length": 18} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getRegPressureLimit", "(", "const", "TargetRegisterClass", "*", "RC", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "switch", "(", "RC", "->", "getID", "(", ")", ")", "{", "default", ":", "return", "0", ";", "case", "ARM", "::", "tGPRRegClassID", ":", "return", "TFI", "->", "hasFP", "(", "MF", ")", "?", "4", ":", "5", ";", "case", "ARM", "::", "GPRRegClassID", ":", "{", "unsigned", "FP", "=", "TFI", "->", "hasFP", "(", "MF", ")", "?", "1", ":", "0", ";", "return", "10", "-", "FP", "-", "(", "STI", ".", "isR9Reserved", "(", ")", "?", "1", ":", "0", ")", ";", "}", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "return", "32", "-", "10", ";", "}", "}", ""], "natrual_language": ["Return", "the", "register", "pressure", "``", "high", "water", "mark", "''", "for", "the", "specific", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tGPRRegClassID", "4", "5", "ARM::GPRRegClassID", "1", "0", "10", "1", "0", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "32", "10"], "File": "ARMBaseRegisterInfo1", "Func": "getRegPressureLimit", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10150, "Length": 117} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "FPSCR", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "FramePtr", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasVFP3", "(", ")", "||", "STI", ".", "hasD16", "(", ")", ")", "{", "assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "16", ";", "++", "i", ")", "Reserved", ".", "set", "(", "ARM", "::", "D16", "+", "i", ")", ";", "}", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::R9", "ARM::D31", "ARM::D16", "15", "0", "16", "ARM::D16"], "File": "ARMBaseRegisterInfo1", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10151, "Length": 168} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "isFrameOffsetLegal", "(", "const", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "if", "(", "AddrMode", "==", "ARMII", "::", "AddrMode4", "||", "AddrMode", "==", "ARMII", "::", "AddrMode6", ")", "return", "Offset", "==", "0", ";", "unsigned", "NumBits", "=", "0", ";", "unsigned", "Scale", "=", "1", ";", "bool", "isSigned", "=", "true", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "Scale", "=", "1", ";", "if", "(", "Offset", "<", "0", ")", "{", "NumBits", "=", "8", ";", "Offset", "=", "-", "Offset", ";", "}", "else", "{", "NumBits", "=", "12", ";", "}", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "NumBits", "=", "8", ";", "Scale", "=", "4", ";", "break", ";", "case", "ARMII", "::", "AddrMode_i12", ":", "case", "ARMII", "::", "AddrMode2", ":", "NumBits", "=", "12", ";", "break", ";", "case", "ARMII", "::", "AddrMode3", ":", "NumBits", "=", "8", ";", "break", ";", "case", "ARMII", "::", "AddrModeT1_s", ":", "NumBits", "=", "5", ";", "Scale", "=", "4", ";", "isSigned", "=", "false", ";", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "break", ";", "}", "Offset", "+=", "getFrameIndexInstrOffset", "(", "MI", ",", "i", ")", ";", "if", "(", "(", "Offset", "&", "(", "Scale", "-", "1", ")", ")", "!=", "0", ")", "return", "false", ";", "if", "(", "isSigned", "&&", "Offset", "<", "0", ")", "Offset", "=", "-", "Offset", ";", "unsigned", "Mask", "=", "(", "1", "<<", "NumBits", ")", "-", "1", ";", "if", "(", "(", "unsigned", ")", "Offset", "<=", "Mask", "*", "Scale", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Determine", "whether", "a", "given", "base", "register", "plus", "offset", "immediate", "is", "encodable", "to", "resolve", "a", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARMII::AddrMode4", "ARMII::AddrMode6", "0", "0", "1", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "1", "0", "8", "12", "ARMII::AddrMode5", "8", "4", "ARMII::AddrMode_i12", "ARMII::AddrMode2", "12", "ARMII::AddrMode3", "8", "ARMII::AddrModeT1_s", "5", "4", "\"Unsupported addressing mode!\"", "1", "0", "0", "1", "1"], "File": "ARMBaseRegisterInfo1", "Func": "isFrameOffsetLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10152, "Length": 294} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "materializeFrameBaseRegister", "(", "MachineBasicBlock", "*", "MBB", ",", "unsigned", "BaseReg", ",", "int", "FrameIdx", ",", "int64_t", "Offset", ")", "const", "{", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "ADDriOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "ADDri", ":", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "?", "ARM", "::", "tADDrSPi", ":", "ARM", "::", "t2ADDri", ")", ";", "MachineBasicBlock", "::", "iterator", "Ins", "=", "MBB", "->", "begin", "(", ")", ";", "DebugLoc", "DL", ";", "if", "(", "Ins", "!=", "MBB", "->", "end", "(", ")", ")", "DL", "=", "Ins", "->", "getDebugLoc", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "TII", ".", "get", "(", "ADDriOpc", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MBB", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MRI", ".", "constrainRegClass", "(", "BaseReg", ",", "TII", ".", "getRegClass", "(", "MCID", ",", "0", ",", "this", ")", ")", ";", "MachineInstrBuilder", "MIB", "=", "AddDefaultPred", "(", "BuildMI", "(", "*", "MBB", ",", "Ins", ",", "DL", ",", "MCID", ",", "BaseReg", ")", ".", "addFrameIndex", "(", "FrameIdx", ")", ".", "addImm", "(", "Offset", ")", ")", ";", "if", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "AddDefaultCC", "(", "MIB", ")", ";", "}", ""], "natrual_language": ["Insert", "defining", "instruction", "(", "s", ")", "for", "a", "pointer", "to", "FrameIdx", "before", "insertion", "point", "I", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::ADDri", "ARM::tADDrSPi", "ARM::t2ADDri", "0"], "File": "ARMBaseRegisterInfo1", "Func": "materializeFrameBaseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10153, "Length": 188} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "needsFrameBaseReg", "(", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "for", "(", "unsigned", "i", "=", "0", ";", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ";", "++", "i", ")", "{", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "STRH", ":", "case", "ARM", "::", "STRBi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "t2STRi8", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VSTRS", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "tLDRspi", ":", "if", "(", "ForceAllBaseRegAlloc", ")", "return", "true", ";", "break", ";", "default", ":", "return", "false", ";", "}", "MachineFunction", "&", "MF", "=", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int64_t", "FPOffset", "=", "Offset", "-", "8", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "FPOffset", "-=", "80", ";", "Offset", "=", "-", "Offset", ";", "Offset", "+=", "MFI", "->", "getLocalFrameSize", "(", ")", ";", "Offset", "+=", "128", ";", "unsigned", "StackAlign", "=", "TFI", "->", "getStackAlignment", "(", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", "&&", "!", "(", "(", "MFI", "->", "getLocalFrameMaxAlign", "(", ")", ">", "StackAlign", ")", "&&", "canRealignStack", "(", "MF", ")", ")", ")", "{", "if", "(", "isFrameOffsetLegal", "(", "MI", ",", "FPOffset", ")", ")", "return", "false", ";", "}", "if", "(", "!", "MFI", "->", "hasVarSizedObjects", "(", ")", "&&", "isFrameOffsetLegal", "(", "MI", ",", "Offset", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "'s", "frame", "index", "reference", "would", "be", "better", "served", "by", "a", "base", "register", "other", "than", "FP", "or", "SP", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARM::LDRi12", "ARM::LDRH", "ARM::LDRBi12", "ARM::STRi12", "ARM::STRH", "ARM::STRBi12", "ARM::t2LDRi12", "ARM::t2LDRi8", "ARM::t2STRi12", "ARM::t2STRi8", "ARM::VLDRS", "ARM::VLDRD", "ARM::VSTRS", "ARM::VSTRD", "ARM::tSTRspi", "ARM::tLDRspi", "ARM", "ARM", "8", "80", "128"], "File": "ARMBaseRegisterInfo1", "Func": "needsFrameBaseReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10154, "Length": 330} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "requiresVirtualBaseRegisters", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "EnableLocalStackAlloc", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "wants", "the", "LocalStackAllocation", "pass", "to", "be", "run", "and", "virtual", "base", "registers", "used", "for", "more", "efficient", "stack", "access", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo1", "Func": "requiresVirtualBaseRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10155, "Length": 16} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "resolveFrameIndex", "(", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "MachineInstr", "&", "MI", "=", "*", "I", ";", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This resolveFrameIndex does not support Thumb1!\"", ")", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "false", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "Done", "=", "rewriteARMFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "Done", "=", "rewriteT2FrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "}", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "\"This resolveFrameIndex does not support Thumb1!\"", "\"Instr doesn't have FrameIndex operand!\"", "ARM", "\"Unable to resolve frame index!\""], "File": "ARMBaseRegisterInfo1", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10156, "Length": 183} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", "->", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateCallFramePseudoInstr does not suppor Thumb1!\"", ")", ";", "bool", "isARM", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "ARMCC", "::", "CondCodes", ")", "Old", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "Amount", ",", "Pred", ",", "PredReg", ")", ";", "}", "else", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ";", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "Amount", ",", "Pred", ",", "PredReg", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "1", "ARM", "ARM", "\"This eliminateCallFramePseudoInstr does not suppor Thumb1!\"", "ARM", "ARMCC::CondCodes", "ARMCC::CondCodes", "1", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "2", "ARM", "3", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "ARM"], "File": "ARMBaseRegisterInfo20", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10157, "Length": 272} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "LDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "4", "ARM::LDRcp", "0", "0"], "File": "ARMBaseRegisterInfo20", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10158, "Length": 152} {"ground_truth": ["", "static", "unsigned", "estimateStackSize", "(", "MachineFunction", "&", "MF", ",", "MachineFrameInfo", "*", "MFI", ")", "{", "const", "MachineFrameInfo", "*", "FFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "int", "Offset", "=", "0", ";", "for", "(", "int", "i", "=", "FFI", "->", "getObjectIndexBegin", "(", ")", ";", "i", "!=", "0", ";", "++", "i", ")", "{", "int", "FixedOff", "=", "-", "FFI", "->", "getObjectOffset", "(", "i", ")", ";", "if", "(", "FixedOff", ">", "Offset", ")", "Offset", "=", "FixedOff", ";", "}", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "FFI", "->", "getObjectIndexEnd", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "if", "(", "FFI", "->", "isDeadObjectIndex", "(", "i", ")", ")", "continue", ";", "Offset", "+=", "FFI", "->", "getObjectSize", "(", "i", ")", ";", "unsigned", "Align", "=", "FFI", "->", "getObjectAlignment", "(", "i", ")", ";", "Offset", "=", "(", "Offset", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "}", "return", "(", "unsigned", ")", "Offset", ";", "}", ""], "natrual_language": ["Estimate", "and", "return", "the", "size", "of", "the", "stack", "frame", "."], "TS_V_token": ["ARM", "0", "0", "0", "1"], "File": "ARMBaseRegisterInfo20", "Func": "estimateStackSize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10159, "Length": 145} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getFrameRegister", "(", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "||", "hasFP", "(", "MF", ")", ")", "return", "FramePtr", ";", "return", "ARM", "::", "SP", ";", "}", ""], "natrual_language": ["Debug", "information", "queries", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP"], "File": "ARMBaseRegisterInfo20", "Func": "getFrameRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10160, "Length": 33} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getPointerRegClass", "(", "unsigned", "Kind", ")", "const", "{", "return", "&", "ARM", "::", "GPRRegClass", ";", "}", ""], "natrual_language": ["getPointerRegClass", "-", "Returns", "a", "TargetRegisterClass", "used", "for", "pointer", "values", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClass"], "File": "ARMBaseRegisterInfo20", "Func": "getPointerRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10161, "Length": 19} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "||", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "FramePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::R9"], "File": "ARMBaseRegisterInfo20", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10162, "Length": 79} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "hasFP", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "return", "(", "NoFramePointerElim", "||", "MFI", "->", "hasVarSizedObjects", "(", ")", "||", "MFI", "->", "isFrameAddressTaken", "(", ")", ")", ";", "}", ""], "natrual_language": ["hasFP", "-", "Return", "true", "if", "the", "specified", "function", "should", "have", "a", "dedicated", "frame", "pointer", "register", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo20", "Func": "hasFP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10163, "Length": 41} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "MF", ".", "getTarget", "(", ")", ".", "Options", ".", "RealignStack", ")", "return", "false", ";", "if", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "return", "false", ";", "if", "(", "!", "MRI", "->", "canReserveReg", "(", "FramePtr", ")", ")", "return", "false", ";", "if", "(", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "return", "true", ";", "if", "(", "!", "EnableBasePointer", ")", "return", "false", ";", "return", "MRI", "->", "canReserveReg", "(", "BasePtr", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo21", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10164, "Length": 115} {"ground_truth": ["", "const", "uint16_t", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "bool", "ghcCall", "=", "false", ";", "if", "(", "MF", ")", "{", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "ghcCall", "=", "(", "F", "?", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ":", "false", ")", ";", "}", "if", "(", "ghcCall", ")", "{", "return", "CSR_GHC_SaveList", ";", "}", "else", "{", "return", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo21", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10165, "Length": 87} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "CallingConv", "::", "ID", ")", "const", "{", "return", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo21", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10166, "Length": 34} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "FPSCR", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "FramePtr", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasVFP3", "(", ")", "||", "STI", ".", "hasD16", "(", ")", ")", "{", "assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "16", ";", "++", "i", ")", "Reserved", ".", "set", "(", "ARM", "::", "D16", "+", "i", ")", ";", "}", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "TargetRegisterClass", "::", "iterator", "I", "=", "RC", "->", "begin", "(", ")", ",", "E", "=", "RC", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "for", "(", "MCSubRegIterator", "SI", "(", "*", "I", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "Reserved", ".", "set", "(", "*", "I", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::R9", "ARM::D31", "ARM::D16", "15", "0", "16", "ARM::D16", "ARM::GPRPairRegClass"], "File": "ARMBaseRegisterInfo21", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10167, "Length": 244} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "materializeFrameBaseRegister", "(", "MachineBasicBlock", "*", "MBB", ",", "unsigned", "BaseReg", ",", "int", "FrameIdx", ",", "int64_t", "Offset", ")", "const", "{", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "ADDriOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "ADDri", ":", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "?", "ARM", "::", "tADDrSPi", ":", "ARM", "::", "t2ADDri", ")", ";", "MachineBasicBlock", "::", "iterator", "Ins", "=", "MBB", "->", "begin", "(", ")", ";", "DebugLoc", "DL", ";", "if", "(", "Ins", "!=", "MBB", "->", "end", "(", ")", ")", "DL", "=", "Ins", "->", "getDebugLoc", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "TII", ".", "get", "(", "ADDriOpc", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MBB", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "const", "MachineFunction", "&", "MF", "=", "*", "MBB", "->", "getParent", "(", ")", ";", "MRI", ".", "constrainRegClass", "(", "BaseReg", ",", "TII", ".", "getRegClass", "(", "MCID", ",", "0", ",", "this", ",", "MF", ")", ")", ";", "MachineInstrBuilder", "MIB", "=", "AddDefaultPred", "(", "BuildMI", "(", "*", "MBB", ",", "Ins", ",", "DL", ",", "MCID", ",", "BaseReg", ")", ".", "addFrameIndex", "(", "FrameIdx", ")", ".", "addImm", "(", "Offset", ")", ")", ";", "if", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "AddDefaultCC", "(", "MIB", ")", ";", "}", ""], "natrual_language": ["Insert", "defining", "instruction", "(", "s", ")", "for", "a", "pointer", "to", "FrameIdx", "before", "insertion", "point", "I", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::ADDri", "ARM::tADDrSPi", "ARM::t2ADDri", "0"], "File": "ARMBaseRegisterInfo21", "Func": "materializeFrameBaseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10168, "Length": 202} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "MF", ".", "getFunction", "(", ")", "->", "hasFnAttribute", "(", "\"no-realign-stack\"", ")", ")", "return", "false", ";", "if", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "return", "false", ";", "if", "(", "!", "MRI", "->", "canReserveReg", "(", "getFramePointerReg", "(", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ")", ")", ")", "return", "false", ";", "if", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getFrameLowering", "(", ")", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "return", "true", ";", "return", "MRI", "->", "canReserveReg", "(", "BasePtr", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"no-realign-stack\"", "ARM"], "File": "ARMBaseRegisterInfo22", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10169, "Length": 117} {"ground_truth": ["", "const", "MCPhysReg", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "STI", ".", "isTargetNaCl", "(", ")", ")", "return", "CSR_NaCl_SaveList", ";", "const", "MCPhysReg", "*", "RegList", "=", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", "->", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", "->", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\""], "File": "ARMBaseRegisterInfo22", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10170, "Length": 138} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "const", "MachineFunction", "&", "MF", ",", "CallingConv", "::", "ID", "CC", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "STI", ".", "isTargetNaCl", "(", ")", ")", "return", "CSR_NaCl_RegMask", ";", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "CSR_NoRegs_RegMask", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo22", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10171, "Length": 67} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getFrameRegister", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "TargetFrameLowering", "*", "TFI", "=", "STI", ".", "getFrameLowering", "(", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "return", "getFramePointerReg", "(", "STI", ")", ";", "return", "ARM", "::", "SP", ";", "}", ""], "natrual_language": ["Debug", "information", "queries", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::SP"], "File": "ARMBaseRegisterInfo22", "Func": "getFrameRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10172, "Length": 58} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "getRegAllocationHints", "(", "unsigned", "VirtReg", ",", "ArrayRef", "<", "MCPhysReg", ">", "Order", ",", "SmallVectorImpl", "<", "MCPhysReg", ">", "&", "Hints", ",", "const", "MachineFunction", "&", "MF", ",", "const", "VirtRegMap", "*", "VRM", ")", "const", "{", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "unsigned", ",", "unsigned", ">", "Hint", "=", "MRI", ".", "getRegAllocationHint", "(", "VirtReg", ")", ";", "unsigned", "Odd", ";", "switch", "(", "Hint", ".", "first", ")", "{", "case", "ARMRI", "::", "RegPairEven", ":", "Odd", "=", "0", ";", "break", ";", "case", "ARMRI", "::", "RegPairOdd", ":", "Odd", "=", "1", ";", "break", ";", "default", ":", "TargetRegisterInfo", "::", "getRegAllocationHints", "(", "VirtReg", ",", "Order", ",", "Hints", ",", "MF", ",", "VRM", ")", ";", "return", ";", "}", "unsigned", "Paired", "=", "Hint", ".", "second", ";", "if", "(", "Paired", "==", "0", ")", "return", ";", "unsigned", "PairedPhys", "=", "0", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "Paired", ";", "}", "else", "if", "(", "VRM", "&&", "VRM", "->", "hasPhys", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "getPairedGPR", "(", "VRM", "->", "getPhys", "(", "Paired", ")", ",", "Odd", ",", "this", ")", ";", "}", "if", "(", "PairedPhys", "&&", "std", "::", "find", "(", "Order", ".", "begin", "(", ")", ",", "Order", ".", "end", "(", ")", ",", "PairedPhys", ")", "!=", "Order", ".", "end", "(", ")", ")", "Hints", ".", "push_back", "(", "PairedPhys", ")", ";", "for", "(", "unsigned", "I", "=", "0", ",", "E", "=", "Order", ".", "size", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "unsigned", "Reg", "=", "Order", "[", "I", "]", ";", "if", "(", "Reg", "==", "PairedPhys", "||", "(", "getEncodingValue", "(", "Reg", ")", "&", "1", ")", "!=", "Odd", ")", "continue", ";", "unsigned", "Paired", "=", "getPairedGPR", "(", "Reg", ",", "!", "Odd", ",", "this", ")", ";", "if", "(", "!", "Paired", "||", "MRI", ".", "isReserved", "(", "Paired", ")", ")", "continue", ";", "Hints", ".", "push_back", "(", "Reg", ")", ";", "}", "}", ""], "natrual_language": ["Get", "a", "list", "of", "'hint", "'", "registers", "that", "the", "register", "allocator", "should", "try", "first", "when", "allocating", "a", "physical", "register", "for", "the", "virtual", "register", "VirtReg", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairEven", "0", "ARMRI::RegPairOdd", "1", "0", "0", "0", "1"], "File": "ARMBaseRegisterInfo22", "Func": "getRegAllocationHints", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10173, "Length": 300} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getRegPressureLimit", "(", "const", "TargetRegisterClass", "*", "RC", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "TargetFrameLowering", "*", "TFI", "=", "STI", ".", "getFrameLowering", "(", ")", ";", "switch", "(", "RC", "->", "getID", "(", ")", ")", "{", "default", ":", "return", "0", ";", "case", "ARM", "::", "tGPRRegClassID", ":", "return", "TFI", "->", "hasFP", "(", "MF", ")", "?", "4", ":", "5", ";", "case", "ARM", "::", "GPRRegClassID", ":", "{", "unsigned", "FP", "=", "TFI", "->", "hasFP", "(", "MF", ")", "?", "1", ":", "0", ";", "return", "10", "-", "FP", "-", "(", "STI", ".", "isR9Reserved", "(", ")", "?", "1", ":", "0", ")", ";", "}", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "return", "32", "-", "10", ";", "}", "}", ""], "natrual_language": ["Return", "the", "register", "pressure", "``", "high", "water", "mark", "''", "for", "the", "specific", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM::tGPRRegClassID", "4", "5", "ARM::GPRRegClassID", "1", "0", "10", "1", "0", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "32", "10"], "File": "ARMBaseRegisterInfo22", "Func": "getRegPressureLimit", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10174, "Length": 127} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "TargetFrameLowering", "*", "TFI", "=", "STI", ".", "getFrameLowering", "(", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "FPSCR", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "getFramePointerReg", "(", "STI", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasVFP3", "(", ")", "||", "STI", ".", "hasD16", "(", ")", ")", "{", "assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "16", ";", "++", "i", ")", "Reserved", ".", "set", "(", "ARM", "::", "D16", "+", "i", ")", ";", "}", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "TargetRegisterClass", "::", "iterator", "I", "=", "RC", "->", "begin", "(", ")", ",", "E", "=", "RC", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "for", "(", "MCSubRegIterator", "SI", "(", "*", "I", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "Reserved", ".", "set", "(", "*", "I", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::D31", "ARM::D16", "15", "0", "16", "ARM::D16", "ARM::GPRPairRegClass"], "File": "ARMBaseRegisterInfo22", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10175, "Length": 266} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "needsFrameBaseReg", "(", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "for", "(", "unsigned", "i", "=", "0", ";", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ";", "++", "i", ")", "{", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "STRH", ":", "case", "ARM", "::", "STRBi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "t2STRi8", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VSTRS", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "tLDRspi", ":", "break", ";", "default", ":", "return", "false", ";", "}", "MachineFunction", "&", "MF", "=", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getSubtarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int64_t", "FPOffset", "=", "Offset", "-", "8", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "FPOffset", "-=", "80", ";", "Offset", "+=", "MFI", "->", "getLocalFrameSize", "(", ")", ";", "Offset", "+=", "128", ";", "unsigned", "StackAlign", "=", "TFI", "->", "getStackAlignment", "(", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", "&&", "!", "(", "(", "MFI", "->", "getLocalFrameMaxAlign", "(", ")", ">", "StackAlign", ")", "&&", "canRealignStack", "(", "MF", ")", ")", ")", "{", "if", "(", "isFrameOffsetLegal", "(", "MI", ",", "getFrameRegister", "(", "MF", ")", ",", "FPOffset", ")", ")", "return", "false", ";", "}", "if", "(", "!", "MFI", "->", "hasVarSizedObjects", "(", ")", "&&", "isFrameOffsetLegal", "(", "MI", ",", "ARM", "::", "SP", ",", "Offset", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "'s", "frame", "index", "reference", "would", "be", "better", "served", "by", "a", "base", "register", "other", "than", "FP", "or", "SP", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARM::LDRi12", "ARM::LDRH", "ARM::LDRBi12", "ARM::STRi12", "ARM::STRH", "ARM::STRBi12", "ARM::t2LDRi12", "ARM::t2LDRi8", "ARM::t2STRi12", "ARM::t2STRi8", "ARM::VLDRS", "ARM::VLDRD", "ARM::VSTRS", "ARM::VSTRD", "ARM::tSTRspi", "ARM::tLDRspi", "ARM", "ARM", "8", "80", "128", "ARM::SP"], "File": "ARMBaseRegisterInfo22", "Func": "needsFrameBaseReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10176, "Length": 327} {"ground_truth": ["", "const", "MCPhysReg", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "bool", "UseSplitPush", "=", "STI", ".", "splitFramePushPop", "(", "*", "MF", ")", ";", "const", "MCPhysReg", "*", "RegList", "=", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SaveList", ":", "(", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SaveList", ":", "CSR_AAPCS_SaveList", ")", ";", "const", "Function", "&", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", ".", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", ".", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", ".", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "if", "(", "STI", ".", "getTargetLowering", "(", ")", "->", "supportSwiftError", "(", ")", "&&", "F", ".", "getAttributes", "(", ")", ".", "hasAttrSomewhere", "(", "Attribute", "::", "SwiftError", ")", ")", "{", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", ")", "return", "CSR_iOS_SwiftError_SaveList", ";", "return", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SwiftError_SaveList", ":", "CSR_AAPCS_SwiftError_SaveList", ";", "}", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "F", ".", "getCallingConv", "(", ")", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isSplitCSR", "(", ")", "?", "CSR_iOS_CXX_TLS_PE_SaveList", ":", "CSR_iOS_CXX_TLS_SaveList", ";", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\"", "ARM"], "File": "ARMBaseRegisterInfo23", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10177, "Length": 229} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "const", "MachineFunction", "&", "MF", ",", "CallingConv", "::", "ID", "CC", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "CSR_NoRegs_RegMask", ";", "if", "(", "STI", ".", "getTargetLowering", "(", ")", "->", "supportSwiftError", "(", ")", "&&", "MF", ".", "getFunction", "(", ")", ".", "getAttributes", "(", ")", ".", "hasAttrSomewhere", "(", "Attribute", "::", "SwiftError", ")", ")", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SwiftError_RegMask", ":", "CSR_AAPCS_SwiftError_RegMask", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "CC", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "CSR_iOS_CXX_TLS_RegMask", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo23", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10178, "Length": 113} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "getRegAllocationHints", "(", "unsigned", "VirtReg", ",", "ArrayRef", "<", "MCPhysReg", ">", "Order", ",", "SmallVectorImpl", "<", "MCPhysReg", ">", "&", "Hints", ",", "const", "MachineFunction", "&", "MF", ",", "const", "VirtRegMap", "*", "VRM", ",", "const", "LiveRegMatrix", "*", "Matrix", ")", "const", "{", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "unsigned", ",", "unsigned", ">", "Hint", "=", "MRI", ".", "getRegAllocationHint", "(", "VirtReg", ")", ";", "unsigned", "Odd", ";", "switch", "(", "Hint", ".", "first", ")", "{", "case", "ARMRI", "::", "RegPairEven", ":", "Odd", "=", "0", ";", "break", ";", "case", "ARMRI", "::", "RegPairOdd", ":", "Odd", "=", "1", ";", "break", ";", "default", ":", "TargetRegisterInfo", "::", "getRegAllocationHints", "(", "VirtReg", ",", "Order", ",", "Hints", ",", "MF", ",", "VRM", ")", ";", "return", "false", ";", "}", "unsigned", "Paired", "=", "Hint", ".", "second", ";", "if", "(", "Paired", "==", "0", ")", "return", "false", ";", "unsigned", "PairedPhys", "=", "0", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "Paired", ";", "}", "else", "if", "(", "VRM", "&&", "VRM", "->", "hasPhys", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "getPairedGPR", "(", "VRM", "->", "getPhys", "(", "Paired", ")", ",", "Odd", ",", "this", ")", ";", "}", "if", "(", "PairedPhys", "&&", "is_contained", "(", "Order", ",", "PairedPhys", ")", ")", "Hints", ".", "push_back", "(", "PairedPhys", ")", ";", "for", "(", "unsigned", "Reg", ":", "Order", ")", "{", "if", "(", "Reg", "==", "PairedPhys", "||", "(", "getEncodingValue", "(", "Reg", ")", "&", "1", ")", "!=", "Odd", ")", "continue", ";", "unsigned", "Paired", "=", "getPairedGPR", "(", "Reg", ",", "!", "Odd", ",", "this", ")", ";", "if", "(", "!", "Paired", "||", "MRI", ".", "isReserved", "(", "Paired", ")", ")", "continue", ";", "Hints", ".", "push_back", "(", "Reg", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Get", "a", "list", "of", "'hint", "'", "registers", "that", "the", "register", "allocator", "should", "try", "first", "when", "allocating", "a", "physical", "register", "for", "the", "virtual", "register", "VirtReg", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairEven", "0", "ARMRI::RegPairOdd", "1", "0", "0", "1"], "File": "ARMBaseRegisterInfo23", "Func": "getRegAllocationHints", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10179, "Length": 269} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "SP", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "PC", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "FPSCR", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "getFramePointerReg", "(", "STI", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "R9", ")", ";", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "if", "(", "F", ".", "getCallingConv", "(", ")", "==", "CallingConv", "::", "Mono", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "R8", ")", ";", "if", "(", "!", "STI", ".", "hasVFP3", "(", ")", "||", "STI", ".", "hasD16", "(", ")", ")", "{", "static_assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ",", "\"Register list not consecutive!\"", ")", ";", "for", "(", "unsigned", "R", "=", "0", ";", "R", "<", "16", ";", "++", "R", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "D16", "+", "R", ")", ";", "}", "const", "TargetRegisterClass", "&", "RC", "=", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "unsigned", "Reg", ":", "RC", ")", "for", "(", "MCSubRegIterator", "SI", "(", "Reg", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "markSuperRegs", "(", "Reserved", ",", "Reg", ")", ";", "assert", "(", "checkAllSuperRegsMarked", "(", "Reserved", ")", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::R8", "ARM::D31", "ARM::D16", "15", "\"Register list not consecutive!\"", "0", "16", "ARM::D16", "ARM::GPRPairRegClass"], "File": "ARMBaseRegisterInfo23", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10180, "Length": 283} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "shouldCoalesce", "(", "MachineInstr", "*", "MI", ",", "const", "TargetRegisterClass", "*", "SrcRC", ",", "unsigned", "SubReg", ",", "const", "TargetRegisterClass", "*", "DstRC", ",", "unsigned", "DstSubReg", ",", "const", "TargetRegisterClass", "*", "NewRC", ",", "LiveIntervals", "&", "LIS", ")", "const", "{", "auto", "MBB", "=", "MI", "->", "getParent", "(", ")", ";", "auto", "MF", "=", "MBB", "->", "getParent", "(", ")", ";", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", "->", "getRegInfo", "(", ")", ";", "if", "(", "!", "DstSubReg", ")", "return", "true", ";", "if", "(", "getRegSizeInBits", "(", "*", "NewRC", ")", "<", "256", "&&", "getRegSizeInBits", "(", "*", "DstRC", ")", "<", "256", "&&", "getRegSizeInBits", "(", "*", "SrcRC", ")", "<", "256", ")", "return", "true", ";", "auto", "NewRCWeight", "=", "MRI", ".", "getTargetRegisterInfo", "(", ")", "->", "getRegClassWeight", "(", "NewRC", ")", ";", "auto", "SrcRCWeight", "=", "MRI", ".", "getTargetRegisterInfo", "(", ")", "->", "getRegClassWeight", "(", "SrcRC", ")", ";", "auto", "DstRCWeight", "=", "MRI", ".", "getTargetRegisterInfo", "(", ")", "->", "getRegClassWeight", "(", "DstRC", ")", ";", "if", "(", "SrcRCWeight", ".", "RegWeight", ">", "NewRCWeight", ".", "RegWeight", ")", "return", "true", ";", "if", "(", "DstRCWeight", ".", "RegWeight", ">", "NewRCWeight", ".", "RegWeight", ")", "return", "true", ";", "auto", "AFI", "=", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "auto", "It", "=", "AFI", "->", "getCoalescedWeight", "(", "MBB", ")", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"\\tARM::shouldCoalesce - Coalesced Weight: \"", "<<", "It", "->", "second", "<<", "\"\\n\"", ")", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"\\tARM::shouldCoalesce - Reg Weight: \"", "<<", "NewRCWeight", ".", "RegWeight", "<<", "\"\\n\"", ")", ";", "unsigned", "SizeMultiplier", "=", "MBB", "->", "size", "(", ")", "/", "100", ";", "SizeMultiplier", "=", "SizeMultiplier", "?", "SizeMultiplier", ":", "1", ";", "if", "(", "It", "->", "second", "<", "NewRCWeight", ".", "WeightLimit", "*", "SizeMultiplier", ")", "{", "It", "->", "second", "+=", "NewRCWeight", ".", "RegWeight", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Subtarget", "Hooks", "."], "TS_V_token": ["ARM", "ARM", "256", "256", "256", "ARM", "\"\\tARM::shouldCoalesce - Coalesced Weight: \"", "\"\\n\"", "\"\\tARM::shouldCoalesce - Reg Weight: \"", "\"\\n\"", "100", "1"], "File": "ARMBaseRegisterInfo23", "Func": "shouldCoalesce", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10181, "Length": 270} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "DebugLoc", "&", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "LDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "4", "ARM::LDRcp", "0"], "File": "ARMBaseRegisterInfo25", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10182, "Length": 174} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "MF", ".", "getTarget", "(", ")", ".", "Options", ".", "RealignStack", ")", "return", "false", ";", "if", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "return", "false", ";", "if", "(", "!", "MRI", "->", "canReserveReg", "(", "FramePtr", ")", ")", "return", "false", ";", "if", "(", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "return", "true", ";", "return", "MRI", "->", "canReserveReg", "(", "BasePtr", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo26", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10183, "Length": 107} {"ground_truth": ["", "const", "MCPhysReg", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "bool", "UseSplitPush", "=", "STI", ".", "splitFramePushPop", "(", "*", "MF", ")", ";", "const", "MCPhysReg", "*", "RegList", "=", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SaveList", ":", "(", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SaveList", ":", "CSR_AAPCS_SaveList", ")", ";", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", "->", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", "->", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "if", "(", "STI", ".", "getTargetLowering", "(", ")", "->", "supportSwiftError", "(", ")", "&&", "F", "->", "getAttributes", "(", ")", ".", "hasAttrSomewhere", "(", "Attribute", "::", "SwiftError", ")", ")", "{", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", ")", "return", "CSR_iOS_SwiftError_SaveList", ";", "return", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SwiftError_SaveList", ":", "CSR_AAPCS_SwiftError_SaveList", ";", "}", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isSplitCSR", "(", ")", "?", "CSR_iOS_CXX_TLS_PE_SaveList", ":", "CSR_iOS_CXX_TLS_SaveList", ";", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\"", "ARM"], "File": "ARMBaseRegisterInfo27", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10184, "Length": 229} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "const", "MachineFunction", "&", "MF", ",", "CallingConv", "::", "ID", "CC", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "CSR_NoRegs_RegMask", ";", "if", "(", "STI", ".", "getTargetLowering", "(", ")", "->", "supportSwiftError", "(", ")", "&&", "MF", ".", "getFunction", "(", ")", "->", "getAttributes", "(", ")", ".", "hasAttrSomewhere", "(", "Attribute", "::", "SwiftError", ")", ")", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SwiftError_RegMask", ":", "CSR_AAPCS_SwiftError_RegMask", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "CC", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "CSR_iOS_CXX_TLS_RegMask", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo27", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10185, "Length": 113} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "getRegAllocationHints", "(", "unsigned", "VirtReg", ",", "ArrayRef", "<", "MCPhysReg", ">", "Order", ",", "SmallVectorImpl", "<", "MCPhysReg", ">", "&", "Hints", ",", "const", "MachineFunction", "&", "MF", ",", "const", "VirtRegMap", "*", "VRM", ",", "const", "LiveRegMatrix", "*", "Matrix", ")", "const", "{", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "unsigned", ",", "unsigned", ">", "Hint", "=", "MRI", ".", "getRegAllocationHint", "(", "VirtReg", ")", ";", "unsigned", "Odd", ";", "switch", "(", "Hint", ".", "first", ")", "{", "case", "ARMRI", "::", "RegPairEven", ":", "Odd", "=", "0", ";", "break", ";", "case", "ARMRI", "::", "RegPairOdd", ":", "Odd", "=", "1", ";", "break", ";", "default", ":", "TargetRegisterInfo", "::", "getRegAllocationHints", "(", "VirtReg", ",", "Order", ",", "Hints", ",", "MF", ",", "VRM", ")", ";", "return", ";", "}", "unsigned", "Paired", "=", "Hint", ".", "second", ";", "if", "(", "Paired", "==", "0", ")", "return", ";", "unsigned", "PairedPhys", "=", "0", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "Paired", ";", "}", "else", "if", "(", "VRM", "&&", "VRM", "->", "hasPhys", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "getPairedGPR", "(", "VRM", "->", "getPhys", "(", "Paired", ")", ",", "Odd", ",", "this", ")", ";", "}", "if", "(", "PairedPhys", "&&", "is_contained", "(", "Order", ",", "PairedPhys", ")", ")", "Hints", ".", "push_back", "(", "PairedPhys", ")", ";", "for", "(", "unsigned", "Reg", ":", "Order", ")", "{", "if", "(", "Reg", "==", "PairedPhys", "||", "(", "getEncodingValue", "(", "Reg", ")", "&", "1", ")", "!=", "Odd", ")", "continue", ";", "unsigned", "Paired", "=", "getPairedGPR", "(", "Reg", ",", "!", "Odd", ",", "this", ")", ";", "if", "(", "!", "Paired", "||", "MRI", ".", "isReserved", "(", "Paired", ")", ")", "continue", ";", "Hints", ".", "push_back", "(", "Reg", ")", ";", "}", "}", ""], "natrual_language": ["Get", "a", "list", "of", "'hint", "'", "registers", "that", "the", "register", "allocator", "should", "try", "first", "when", "allocating", "a", "physical", "register", "for", "the", "virtual", "register", "VirtReg", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairEven", "0", "ARMRI::RegPairOdd", "1", "0", "0", "1"], "File": "ARMBaseRegisterInfo27", "Func": "getRegAllocationHints", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10186, "Length": 264} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "SP", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "PC", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "FPSCR", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "getFramePointerReg", "(", "STI", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasVFP3", "(", ")", "||", "STI", ".", "hasD16", "(", ")", ")", "{", "static_assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ",", "\"Register list not consecutive!\"", ")", ";", "for", "(", "unsigned", "R", "=", "0", ";", "R", "<", "16", ";", "++", "R", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "D16", "+", "R", ")", ";", "}", "const", "TargetRegisterClass", "&", "RC", "=", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "unsigned", "Reg", ":", "RC", ")", "for", "(", "MCSubRegIterator", "SI", "(", "Reg", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "markSuperRegs", "(", "Reserved", ",", "Reg", ")", ";", "assert", "(", "checkAllSuperRegsMarked", "(", "Reserved", ")", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::D31", "ARM::D16", "15", "\"Register list not consecutive!\"", "0", "16", "ARM::D16", "ARM::GPRPairRegClass"], "File": "ARMBaseRegisterInfo27", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10187, "Length": 251} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "return", "(", "RealignStack", "&&", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "(", "!", "MFI", "->", "hasVarSizedObjects", "(", ")", "||", "EnableBasePointer", ")", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo29", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10188, "Length": 61} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canSimplifyCallFramePseudos", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "hasReservedCallFrame", "(", "MF", ")", "||", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["canSimplifyCallFramePseudos", "-", "If", "there", "is", "a", "reserved", "call", "frame", ",", "the", "call", "frame", "pseudos", "can", "be", "simplified", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo29", "Func": "canSimplifyCallFramePseudos", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10189, "Length": 29} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "eliminateFrameIndex", "(", "MachineBasicBlock", "::", "iterator", "II", ",", "int", "SPAdj", ",", "RegScavenger", "*", "RS", ")", "const", "{", "unsigned", "i", "=", "0", ";", "MachineInstr", "&", "MI", "=", "*", "II", ";", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateFrameIndex does not support Thumb1!\"", ")", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "int", "FrameIndex", "=", "MI", ".", "getOperand", "(", "i", ")", ".", "getIndex", "(", ")", ";", "unsigned", "FrameReg", ";", "int", "Offset", "=", "ResolveFrameIndexReference", "(", "MF", ",", "FrameIndex", ",", "FrameReg", ",", "SPAdj", ")", ";", "if", "(", "MI", ".", "isDebugValue", "(", ")", ")", "{", "MI", ".", "getOperand", "(", "i", ")", ".", "ChangeToRegister", "(", "FrameReg", ",", "false", ")", ";", "MI", ".", "getOperand", "(", "i", "+", "1", ")", ".", "ChangeToImmediate", "(", "Offset", ")", ";", "return", ";", "}", "bool", "Done", "=", "false", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "Done", "=", "rewriteARMFrameIndex", "(", "MI", ",", "i", ",", "FrameReg", ",", "Offset", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "Done", "=", "rewriteT2FrameIndex", "(", "MI", ",", "i", ",", "FrameReg", ",", "Offset", ",", "TII", ")", ";", "}", "if", "(", "Done", ")", "return", ";", "assert", "(", "(", "Offset", "||", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", "==", "ARMII", "::", "AddrMode4", "||", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", "==", "ARMII", "::", "AddrMode6", ")", "&&", "\"This code isn't needed if offset already handled!\"", ")", ";", "unsigned", "ScratchReg", "=", "0", ";", "int", "PIdx", "=", "MI", ".", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "MI", ".", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "unsigned", "PredReg", "=", "(", "PIdx", "==", "-", "1", ")", "?", "0", ":", "MI", ".", "getOperand", "(", "PIdx", "+", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "Offset", "==", "0", ")", "MI", ".", "getOperand", "(", "i", ")", ".", "ChangeToRegister", "(", "FrameReg", ",", "false", ",", "false", ",", "false", ")", ";", "else", "{", "ScratchReg", "=", "MF", ".", "getRegInfo", "(", ")", ".", "createVirtualRegister", "(", "ARM", "::", "GPRRegisterClass", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "emitARMRegPlusImmediate", "(", "MBB", ",", "II", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "ScratchReg", ",", "FrameReg", ",", "Offset", ",", "Pred", ",", "PredReg", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "emitT2RegPlusImmediate", "(", "MBB", ",", "II", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "ScratchReg", ",", "FrameReg", ",", "Offset", ",", "Pred", ",", "PredReg", ",", "TII", ")", ";", "}", "MI", ".", "getOperand", "(", "i", ")", ".", "ChangeToRegister", "(", "ScratchReg", ",", "false", ",", "false", ",", "true", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "must", "be", "overriden", "to", "eliminate", "abstract", "frame", "indices", "from", "instructions", "which", "may", "use", "them", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM", "ARM", "\"This eliminateFrameIndex does not support Thumb1!\"", "\"Instr doesn't have FrameIndex operand!\"", "1", "ARM", "ARMII::AddrModeMask", "ARMII::AddrMode4", "ARMII::AddrModeMask", "ARMII::AddrMode6", "\"This code isn't needed if offset already handled!\"", "0", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "1", "0", "1", "0", "ARM::GPRRegisterClass", "ARM"], "File": "ARMBaseRegisterInfo29", "Func": "eliminateFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10190, "Length": 491} {"ground_truth": ["", "int64_t", "ARMBaseRegisterInfo", "::", "getFrameIndexInstrOffset", "(", "const", "MachineInstr", "*", "MI", ",", "int", "Idx", ")", "const", "{", "const", "TargetInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "int64_t", "InstrOffs", "=", "0", ";", ";", "int", "Scale", "=", "1", ";", "unsigned", "ImmIdx", "=", "0", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "InstrOffs", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "1", ";", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "{", "const", "MachineOperand", "&", "OffOp", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM5Offset", "(", "OffOp", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM5Op", "(", "OffOp", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "Scale", "=", "4", ";", "break", ";", "}", "case", "ARMII", "::", "AddrMode2", ":", "{", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM2Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM2Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "}", "case", "ARMII", "::", "AddrMode3", ":", "{", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM3Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM3Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "}", "case", "ARMII", "::", "AddrModeT1_s", ":", "{", "ImmIdx", "=", "Idx", "+", "1", ";", "InstrOffs", "=", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "4", ";", "break", ";", "}", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "break", ";", "}", "return", "InstrOffs", "*", "Scale", ";", "}", ""], "natrual_language": ["Get", "the", "offset", "from", "the", "referenced", "frame", "index", "in", "the", "instruction", ",", "if", "there", "is", "one", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "1", "0", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "1", "1", "ARMII::AddrMode5", "1", "ARM_AM::getAM5Offset", "ARM_AM::getAM5Op", "ARM_AM::sub", "4", "ARMII::AddrMode2", "2", "ARM_AM::getAM2Offset", "ARM_AM::getAM2Op", "ARM_AM::sub", "ARMII::AddrMode3", "2", "ARM_AM::getAM3Offset", "ARM_AM::getAM3Op", "ARM_AM::sub", "ARMII::AddrModeT1_s", "1", "4", "\"Unsupported addressing mode!\""], "File": "ARMBaseRegisterInfo29", "Func": "getFrameIndexInstrOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10191, "Length": 321} {"ground_truth": ["", "int", "ARMBaseRegisterInfo", "::", "getFrameIndexReference", "(", "const", "MachineFunction", "&", "MF", ",", "int", "FI", ",", "unsigned", "&", "FrameReg", ")", "const", "{", "return", "ResolveFrameIndexReference", "(", "MF", ",", "FI", ",", "FrameReg", ",", "0", ")", ";", "}", ""], "natrual_language": ["getFrameIndexReference", "-", "This", "method", "should", "return", "the", "base", "register", "and", "offset", "used", "to", "reference", "a", "frame", "index", "location", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMBaseRegisterInfo29", "Func": "getFrameIndexReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10192, "Length": 32} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getFrameRegister", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "hasFP", "(", "MF", ")", ")", "return", "FramePtr", ";", "return", "ARM", "::", "SP", ";", "}", ""], "natrual_language": ["Debug", "information", "queries", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP"], "File": "ARMBaseRegisterInfo29", "Func": "getFrameRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10193, "Length": 28} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "FPSCR", ")", ";", "if", "(", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "FramePtr", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::R9"], "File": "ARMBaseRegisterInfo29", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10194, "Length": 96} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "hasFP", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", ")", "return", "true", ";", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "return", "(", "(", "DisableFramePointerElim", "(", "MF", ")", "&&", "MFI", "->", "hasCalls", "(", ")", ")", "||", "needsStackRealignment", "(", "MF", ")", "||", "MFI", "->", "hasVarSizedObjects", "(", ")", "||", "MFI", "->", "isFrameAddressTaken", "(", ")", ")", ";", "}", ""], "natrual_language": ["hasFP", "-", "Return", "true", "if", "the", "specified", "function", "should", "have", "a", "dedicated", "frame", "pointer", "register", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo29", "Func": "hasFP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10195, "Length": 68} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "hasReservedCallFrame", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "FFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "CFSize", "=", "FFI", "->", "getMaxCallFrameSize", "(", ")", ";", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "12", ")", "-", "1", ")", "/", "2", ")", "return", "false", ";", "return", "!", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasReservedCallFrame", "-", "Under", "normal", "circumstances", ",", "when", "a", "frame", "pointer", "is", "not", "required", ",", "we", "reserve", "argument", "space", "for", "call", "sites", "in", "the", "function", "immediately", "on", "entry", "to", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "1", "12", "1", "2"], "File": "ARMBaseRegisterInfo29", "Func": "hasReservedCallFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10196, "Length": 64} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "isFrameOffsetLegal", "(", "const", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "const", "TargetInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "if", "(", "AddrMode", "==", "ARMII", "::", "AddrMode4", "||", "AddrMode", "==", "ARMII", "::", "AddrMode6", ")", "return", "Offset", "==", "0", ";", "unsigned", "NumBits", "=", "0", ";", "unsigned", "Scale", "=", "1", ";", "bool", "isSigned", "=", "true", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "Scale", "=", "1", ";", "if", "(", "Offset", "<", "0", ")", "{", "NumBits", "=", "8", ";", "Offset", "=", "-", "Offset", ";", "}", "else", "{", "NumBits", "=", "12", ";", "}", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "NumBits", "=", "8", ";", "Scale", "=", "4", ";", "break", ";", "case", "ARMII", "::", "AddrMode2", ":", "NumBits", "=", "12", ";", "break", ";", "case", "ARMII", "::", "AddrMode3", ":", "NumBits", "=", "8", ";", "break", ";", "case", "ARMII", "::", "AddrModeT1_s", ":", "NumBits", "=", "5", ";", "Scale", "=", "4", ";", "isSigned", "=", "false", ";", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "break", ";", "}", "Offset", "+=", "getFrameIndexInstrOffset", "(", "MI", ",", "i", ")", ";", "if", "(", "(", "Offset", "&", "(", "Scale", "-", "1", ")", ")", "!=", "0", ")", "return", "false", ";", "if", "(", "isSigned", "&&", "Offset", "<", "0", ")", "Offset", "=", "-", "Offset", ";", "unsigned", "Mask", "=", "(", "1", "<<", "NumBits", ")", "-", "1", ";", "if", "(", "(", "unsigned", ")", "Offset", "<=", "Mask", "*", "Scale", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Determine", "whether", "a", "given", "base", "register", "plus", "offset", "immediate", "is", "encodable", "to", "resolve", "a", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARMII::AddrMode4", "ARMII::AddrMode6", "0", "0", "1", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "1", "0", "8", "12", "ARMII::AddrMode5", "8", "4", "ARMII::AddrMode2", "12", "ARMII::AddrMode3", "8", "ARMII::AddrModeT1_s", "5", "4", "\"Unsupported addressing mode!\"", "1", "0", "0", "1", "1"], "File": "ARMBaseRegisterInfo29", "Func": "isFrameOffsetLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10197, "Length": 289} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "materializeFrameBaseRegister", "(", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "BaseReg", ",", "int", "FrameIdx", ",", "int64_t", "Offset", ")", "const", "{", "ARMFunctionInfo", "*", "AFI", "=", "I", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "ADDriOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "ADDri", ":", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "?", "ARM", "::", "tADDrSPi", ":", "ARM", "::", "t2ADDri", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "*", "I", "->", "getParent", "(", ")", ",", "I", ",", "I", "->", "getDebugLoc", "(", ")", ",", "TII", ".", "get", "(", "ADDriOpc", ")", ",", "BaseReg", ")", ".", "addFrameIndex", "(", "FrameIdx", ")", ".", "addImm", "(", "Offset", ")", ";", "if", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "AddDefaultCC", "(", "AddDefaultPred", "(", "MIB", ")", ")", ";", "}", ""], "natrual_language": ["Insert", "defining", "instruction", "(", "s", ")", "for", "a", "pointer", "to", "FrameIdx", "before", "insertion", "point", "I", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::ADDri", "ARM::tADDrSPi", "ARM::t2ADDri"], "File": "ARMBaseRegisterInfo29", "Func": "materializeFrameBaseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10198, "Length": 130} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "needsFrameBaseReg", "(", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "for", "(", "unsigned", "i", "=", "0", ";", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ";", "++", "i", ")", "{", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "case", "ARM", "::", "LDR", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRB", ":", "case", "ARM", "::", "STR", ":", "case", "ARM", "::", "STRH", ":", "case", "ARM", "::", "STRB", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "t2STRi8", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VSTRS", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "tLDRspi", ":", "if", "(", "ForceAllBaseRegAlloc", ")", "return", "true", ";", "break", ";", "default", ":", "return", "false", ";", "}", "MachineFunction", "&", "MF", "=", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int64_t", "FPOffset", "=", "Offset", "-", "8", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "FPOffset", "-=", "80", ";", "Offset", "=", "-", "Offset", ";", "Offset", "+=", "MFI", "->", "getLocalFrameSize", "(", ")", ";", "Offset", "+=", "128", ";", "unsigned", "StackAlign", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", "->", "getStackAlignment", "(", ")", ";", "if", "(", "hasFP", "(", "MF", ")", "&&", "!", "(", "(", "MFI", "->", "getLocalFrameMaxAlign", "(", ")", ">", "StackAlign", ")", "&&", "canRealignStack", "(", "MF", ")", ")", ")", "{", "if", "(", "isFrameOffsetLegal", "(", "MI", ",", "FPOffset", ")", ")", "return", "false", ";", "}", "if", "(", "!", "MFI", "->", "hasVarSizedObjects", "(", ")", "&&", "isFrameOffsetLegal", "(", "MI", ",", "Offset", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "'s", "frame", "index", "reference", "would", "be", "better", "served", "by", "a", "base", "register", "other", "than", "FP", "or", "SP", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARM::LDR", "ARM::LDRH", "ARM::LDRB", "ARM::STR", "ARM::STRH", "ARM::STRB", "ARM::t2LDRi12", "ARM::t2LDRi8", "ARM::t2STRi12", "ARM::t2STRi8", "ARM::VLDRS", "ARM::VLDRD", "ARM::VSTRS", "ARM::VSTRD", "ARM::tSTRspi", "ARM::tLDRspi", "ARM", "ARM", "8", "80", "128"], "File": "ARMBaseRegisterInfo29", "Func": "needsFrameBaseReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10199, "Length": 321} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "resolveFrameIndex", "(", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "MachineInstr", "&", "MI", "=", "*", "I", ";", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This resolveFrameIndex does not support Thumb1!\"", ")", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "false", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "Done", "=", "rewriteARMFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "Done", "=", "rewriteT2FrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "}", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "\"This resolveFrameIndex does not support Thumb1!\"", "\"Instr doesn't have FrameIndex operand!\"", "ARM", "\"Unable to resolve frame index!\""], "File": "ARMBaseRegisterInfo29", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10200, "Length": 178} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "FPSCR", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "getFramePointerReg", "(", "STI", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasVFP3", "(", ")", "||", "STI", ".", "hasD16", "(", ")", ")", "{", "assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "16", ";", "++", "i", ")", "Reserved", ".", "set", "(", "ARM", "::", "D16", "+", "i", ")", ";", "}", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "TargetRegisterClass", "::", "iterator", "I", "=", "RC", "->", "begin", "(", ")", ",", "E", "=", "RC", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "for", "(", "MCSubRegIterator", "SI", "(", "*", "I", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "Reserved", ".", "set", "(", "*", "I", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::D31", "ARM::D16", "15", "0", "16", "ARM::D16", "ARM::GPRPairRegClass"], "File": "ARMBaseRegisterInfo2", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10201, "Length": 265} {"ground_truth": ["", "const", "uint16_t", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "const", "uint16_t", "*", "RegList", "=", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "if", "(", "!", "MF", ")", "return", "RegList", ";", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", "->", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", "->", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\""], "File": "ARMBaseRegisterInfo31", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10202, "Length": 130} {"ground_truth": ["", "const", "uint16_t", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "return", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo32", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10203, "Length": 35} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "TargetFrameInfo", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", ";", "if", "(", "!", "TFI", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", "->", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", ")", ";", "bool", "isARM", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "int", "PIdx", "=", "Old", "->", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "Old", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "Amount", ",", "Pred", ",", "PredReg", ")", ";", "}", "else", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ";", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "Amount", ",", "Pred", ",", "PredReg", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "1", "ARM", "ARM", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", "ARM", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "2", "ARM", "3", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "ARM"], "File": "ARMBaseRegisterInfo36", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10204, "Length": 309} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "LDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "4", "ARM::LDRcp", "0"], "File": "ARMBaseRegisterInfo36", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10205, "Length": 148} {"ground_truth": ["", "int64_t", "ARMBaseRegisterInfo", "::", "getFrameIndexInstrOffset", "(", "const", "MachineInstr", "*", "MI", ",", "int", "Idx", ")", "const", "{", "const", "TargetInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "int64_t", "InstrOffs", "=", "0", ";", ";", "int", "Scale", "=", "1", ";", "unsigned", "ImmIdx", "=", "0", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "case", "ARMII", "::", "AddrMode_i12", ":", "InstrOffs", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "1", ";", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "{", "const", "MachineOperand", "&", "OffOp", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM5Offset", "(", "OffOp", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM5Op", "(", "OffOp", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "Scale", "=", "4", ";", "break", ";", "}", "case", "ARMII", "::", "AddrMode2", ":", "{", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM2Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM2Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "}", "case", "ARMII", "::", "AddrMode3", ":", "{", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM3Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM3Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "}", "case", "ARMII", "::", "AddrModeT1_s", ":", "{", "ImmIdx", "=", "Idx", "+", "1", ";", "InstrOffs", "=", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "4", ";", "break", ";", "}", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "break", ";", "}", "return", "InstrOffs", "*", "Scale", ";", "}", ""], "natrual_language": ["Get", "the", "offset", "from", "the", "referenced", "frame", "index", "in", "the", "instruction", ",", "if", "there", "is", "one", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "1", "0", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "ARMII::AddrMode_i12", "1", "1", "ARMII::AddrMode5", "1", "ARM_AM::getAM5Offset", "ARM_AM::getAM5Op", "ARM_AM::sub", "4", "ARMII::AddrMode2", "2", "ARM_AM::getAM2Offset", "ARM_AM::getAM2Op", "ARM_AM::sub", "ARMII::AddrMode3", "2", "ARM_AM::getAM3Offset", "ARM_AM::getAM3Op", "ARM_AM::sub", "ARMII::AddrModeT1_s", "1", "4", "\"Unsupported addressing mode!\""], "File": "ARMBaseRegisterInfo36", "Func": "getFrameIndexInstrOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10206, "Length": 326} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getFrameRegister", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetFrameInfo", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "return", "FramePtr", ";", "return", "ARM", "::", "SP", ";", "}", ""], "natrual_language": ["Debug", "information", "queries", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP"], "File": "ARMBaseRegisterInfo36", "Func": "getFrameRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10207, "Length": 45} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetFrameInfo", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "FPSCR", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "FramePtr", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::R9"], "File": "ARMBaseRegisterInfo36", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10208, "Length": 113} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "isFrameOffsetLegal", "(", "const", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "const", "TargetInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "if", "(", "AddrMode", "==", "ARMII", "::", "AddrMode4", "||", "AddrMode", "==", "ARMII", "::", "AddrMode6", ")", "return", "Offset", "==", "0", ";", "unsigned", "NumBits", "=", "0", ";", "unsigned", "Scale", "=", "1", ";", "bool", "isSigned", "=", "true", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "Scale", "=", "1", ";", "if", "(", "Offset", "<", "0", ")", "{", "NumBits", "=", "8", ";", "Offset", "=", "-", "Offset", ";", "}", "else", "{", "NumBits", "=", "12", ";", "}", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "NumBits", "=", "8", ";", "Scale", "=", "4", ";", "break", ";", "case", "ARMII", "::", "AddrMode_i12", ":", "case", "ARMII", "::", "AddrMode2", ":", "NumBits", "=", "12", ";", "break", ";", "case", "ARMII", "::", "AddrMode3", ":", "NumBits", "=", "8", ";", "break", ";", "case", "ARMII", "::", "AddrModeT1_s", ":", "NumBits", "=", "5", ";", "Scale", "=", "4", ";", "isSigned", "=", "false", ";", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "break", ";", "}", "Offset", "+=", "getFrameIndexInstrOffset", "(", "MI", ",", "i", ")", ";", "if", "(", "(", "Offset", "&", "(", "Scale", "-", "1", ")", ")", "!=", "0", ")", "return", "false", ";", "if", "(", "isSigned", "&&", "Offset", "<", "0", ")", "Offset", "=", "-", "Offset", ";", "unsigned", "Mask", "=", "(", "1", "<<", "NumBits", ")", "-", "1", ";", "if", "(", "(", "unsigned", ")", "Offset", "<=", "Mask", "*", "Scale", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Determine", "whether", "a", "given", "base", "register", "plus", "offset", "immediate", "is", "encodable", "to", "resolve", "a", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARMII::AddrMode4", "ARMII::AddrMode6", "0", "0", "1", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "1", "0", "8", "12", "ARMII::AddrMode5", "8", "4", "ARMII::AddrMode_i12", "ARMII::AddrMode2", "12", "ARMII::AddrMode3", "8", "ARMII::AddrModeT1_s", "5", "4", "\"Unsupported addressing mode!\"", "1", "0", "0", "1", "1"], "File": "ARMBaseRegisterInfo36", "Func": "isFrameOffsetLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10209, "Length": 294} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "needsFrameBaseReg", "(", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "for", "(", "unsigned", "i", "=", "0", ";", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ";", "++", "i", ")", "{", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "STRH", ":", "case", "ARM", "::", "STRBi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "t2STRi8", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VSTRS", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "tLDRspi", ":", "if", "(", "ForceAllBaseRegAlloc", ")", "return", "true", ";", "break", ";", "default", ":", "return", "false", ";", "}", "MachineFunction", "&", "MF", "=", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "TargetFrameInfo", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", ";", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int64_t", "FPOffset", "=", "Offset", "-", "8", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "FPOffset", "-=", "80", ";", "Offset", "=", "-", "Offset", ";", "Offset", "+=", "MFI", "->", "getLocalFrameSize", "(", ")", ";", "Offset", "+=", "128", ";", "unsigned", "StackAlign", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", "->", "getStackAlignment", "(", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", "&&", "!", "(", "(", "MFI", "->", "getLocalFrameMaxAlign", "(", ")", ">", "StackAlign", ")", "&&", "canRealignStack", "(", "MF", ")", ")", ")", "{", "if", "(", "isFrameOffsetLegal", "(", "MI", ",", "FPOffset", ")", ")", "return", "false", ";", "}", "if", "(", "!", "MFI", "->", "hasVarSizedObjects", "(", ")", "&&", "isFrameOffsetLegal", "(", "MI", ",", "Offset", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "'s", "frame", "index", "reference", "would", "be", "better", "served", "by", "a", "base", "register", "other", "than", "FP", "or", "SP", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARM::LDRi12", "ARM::LDRH", "ARM::LDRBi12", "ARM::STRi12", "ARM::STRH", "ARM::STRBi12", "ARM::t2LDRi12", "ARM::t2LDRi8", "ARM::t2STRi12", "ARM::t2STRi8", "ARM::VLDRS", "ARM::VLDRD", "ARM::VSTRS", "ARM::VSTRD", "ARM::tSTRspi", "ARM::tLDRspi", "ARM", "ARM", "8", "80", "128"], "File": "ARMBaseRegisterInfo36", "Func": "needsFrameBaseReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10210, "Length": 338} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "MF", ".", "getFunction", "(", ")", "->", "hasFnAttribute", "(", "\"no-realign-stack\"", ")", ")", "return", "false", ";", "if", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "return", "false", ";", "if", "(", "!", "MRI", "->", "canReserveReg", "(", "FramePtr", ")", ")", "return", "false", ";", "if", "(", "MF", ".", "getTarget", "(", ")", ".", "getSubtargetImpl", "(", ")", "->", "getFrameLowering", "(", ")", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "return", "true", ";", "return", "MRI", "->", "canReserveReg", "(", "BasePtr", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"no-realign-stack\""], "File": "ARMBaseRegisterInfo37", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10211, "Length": 111} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getFrameRegister", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getSubtarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "return", "FramePtr", ";", "return", "ARM", "::", "SP", ";", "}", ""], "natrual_language": ["Debug", "information", "queries", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP"], "File": "ARMBaseRegisterInfo37", "Func": "getFrameRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10212, "Length": 45} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getRegPressureLimit", "(", "const", "TargetRegisterClass", "*", "RC", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getSubtarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "switch", "(", "RC", "->", "getID", "(", ")", ")", "{", "default", ":", "return", "0", ";", "case", "ARM", "::", "tGPRRegClassID", ":", "return", "TFI", "->", "hasFP", "(", "MF", ")", "?", "4", ":", "5", ";", "case", "ARM", "::", "GPRRegClassID", ":", "{", "unsigned", "FP", "=", "TFI", "->", "hasFP", "(", "MF", ")", "?", "1", ":", "0", ";", "return", "10", "-", "FP", "-", "(", "STI", ".", "isR9Reserved", "(", ")", "?", "1", ":", "0", ")", ";", "}", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "return", "32", "-", "10", ";", "}", "}", ""], "natrual_language": ["Return", "the", "register", "pressure", "``", "high", "water", "mark", "''", "for", "the", "specific", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tGPRRegClassID", "4", "5", "ARM::GPRRegClassID", "1", "0", "10", "1", "0", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "32", "10"], "File": "ARMBaseRegisterInfo37", "Func": "getRegPressureLimit", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10213, "Length": 117} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getSubtarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "FPSCR", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "FramePtr", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasVFP3", "(", ")", "||", "STI", ".", "hasD16", "(", ")", ")", "{", "assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "16", ";", "++", "i", ")", "Reserved", ".", "set", "(", "ARM", "::", "D16", "+", "i", ")", ";", "}", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "TargetRegisterClass", "::", "iterator", "I", "=", "RC", "->", "begin", "(", ")", ",", "E", "=", "RC", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "for", "(", "MCSubRegIterator", "SI", "(", "*", "I", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "Reserved", ".", "set", "(", "*", "I", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::D31", "ARM::D16", "15", "0", "16", "ARM::D16", "ARM::GPRPairRegClass"], "File": "ARMBaseRegisterInfo37", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10214, "Length": 253} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "materializeFrameBaseRegister", "(", "MachineBasicBlock", "*", "MBB", ",", "unsigned", "BaseReg", ",", "int", "FrameIdx", ",", "int64_t", "Offset", ")", "const", "{", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "ADDriOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "ADDri", ":", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "?", "ARM", "::", "tADDrSPi", ":", "ARM", "::", "t2ADDri", ")", ";", "MachineBasicBlock", "::", "iterator", "Ins", "=", "MBB", "->", "begin", "(", ")", ";", "DebugLoc", "DL", ";", "if", "(", "Ins", "!=", "MBB", "->", "end", "(", ")", ")", "DL", "=", "Ins", "->", "getDebugLoc", "(", ")", ";", "const", "MachineFunction", "&", "MF", "=", "*", "MBB", "->", "getParent", "(", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MBB", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "TII", ".", "get", "(", "ADDriOpc", ")", ";", "MRI", ".", "constrainRegClass", "(", "BaseReg", ",", "TII", ".", "getRegClass", "(", "MCID", ",", "0", ",", "this", ",", "MF", ")", ")", ";", "MachineInstrBuilder", "MIB", "=", "AddDefaultPred", "(", "BuildMI", "(", "*", "MBB", ",", "Ins", ",", "DL", ",", "MCID", ",", "BaseReg", ")", ".", "addFrameIndex", "(", "FrameIdx", ")", ".", "addImm", "(", "Offset", ")", ")", ";", "if", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "AddDefaultCC", "(", "MIB", ")", ";", "}", ""], "natrual_language": ["Insert", "defining", "instruction", "(", "s", ")", "for", "a", "pointer", "to", "FrameIdx", "before", "insertion", "point", "I", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::ADDri", "ARM::tADDrSPi", "ARM::t2ADDri", "0"], "File": "ARMBaseRegisterInfo37", "Func": "materializeFrameBaseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10215, "Length": 218} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "needsFrameBaseReg", "(", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "for", "(", "unsigned", "i", "=", "0", ";", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ";", "++", "i", ")", "{", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "STRH", ":", "case", "ARM", "::", "STRBi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "t2STRi8", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VSTRS", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "tLDRspi", ":", "break", ";", "default", ":", "return", "false", ";", "}", "MachineFunction", "&", "MF", "=", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getSubtarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int64_t", "FPOffset", "=", "Offset", "-", "8", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "FPOffset", "-=", "80", ";", "Offset", "=", "-", "Offset", ";", "Offset", "+=", "MFI", "->", "getLocalFrameSize", "(", ")", ";", "Offset", "+=", "128", ";", "unsigned", "StackAlign", "=", "TFI", "->", "getStackAlignment", "(", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", "&&", "!", "(", "(", "MFI", "->", "getLocalFrameMaxAlign", "(", ")", ">", "StackAlign", ")", "&&", "canRealignStack", "(", "MF", ")", ")", ")", "{", "if", "(", "isFrameOffsetLegal", "(", "MI", ",", "FPOffset", ")", ")", "return", "false", ";", "}", "if", "(", "!", "MFI", "->", "hasVarSizedObjects", "(", ")", "&&", "isFrameOffsetLegal", "(", "MI", ",", "Offset", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "'s", "frame", "index", "reference", "would", "be", "better", "served", "by", "a", "base", "register", "other", "than", "FP", "or", "SP", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARM::LDRi12", "ARM::LDRH", "ARM::LDRBi12", "ARM::STRi12", "ARM::STRH", "ARM::STRBi12", "ARM::t2LDRi12", "ARM::t2LDRi8", "ARM::t2STRi12", "ARM::t2STRi8", "ARM::VLDRS", "ARM::VLDRD", "ARM::VSTRS", "ARM::VSTRD", "ARM::tSTRspi", "ARM::tLDRspi", "ARM", "ARM", "8", "80", "128"], "File": "ARMBaseRegisterInfo37", "Func": "needsFrameBaseReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10216, "Length": 323} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "MF", ".", "getFunction", "(", ")", "->", "hasFnAttribute", "(", "\"no-realign-stack\"", ")", ")", "return", "false", ";", "if", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "return", "false", ";", "if", "(", "!", "MRI", "->", "canReserveReg", "(", "FramePtr", ")", ")", "return", "false", ";", "if", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getFrameLowering", "(", ")", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "return", "true", ";", "return", "MRI", "->", "canReserveReg", "(", "BasePtr", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"no-realign-stack\""], "File": "ARMBaseRegisterInfo41", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10217, "Length": 107} {"ground_truth": ["", "const", "MCPhysReg", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "const", "MCPhysReg", "*", "RegList", "=", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "if", "(", "!", "MF", ")", "return", "RegList", ";", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", "->", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", "->", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\""], "File": "ARMBaseRegisterInfo41", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10218, "Length": 121} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "CallingConv", "::", "ID", "CC", ")", "const", "{", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "CSR_NoRegs_RegMask", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo41", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10219, "Length": 37} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getThisReturnPreservedMask", "(", "CallingConv", "::", "ID", "CC", ")", "const", "{", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "nullptr", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_ThisReturn_RegMask", ":", "CSR_AAPCS_ThisReturn_RegMask", ";", "}", ""], "natrual_language": ["getThisReturnPreservedMask", "-", "Returns", "a", "call", "preserved", "mask", "specific", "to", "the", "case", "that", "'returned", "'", "is", "on", "an", "i32", "first", "argument", "if", "the", "calling", "convention", "is", "one", "that", "can", "(", "partially", ")", "model", "this", "attribute", "with", "a", "preserved", "mask", "(", "i.e", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo41", "Func": "getThisReturnPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10220, "Length": 37} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "assert", "(", "!", "FlagSfiDisableCP", "&&", "\"unexpected call to emitLoadConstPool\"", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "LDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "\"unexpected call to emitLoadConstPool\"", "4", "ARM::LDRcp", "0"], "File": "ARMBaseRegisterInfo43", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10221, "Length": 164} {"ground_truth": ["", "const", "uint16_t", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "if", "(", "ReserveR9", ")", "return", "CSR_NaCl_SaveList", ";", "bool", "ghcCall", "=", "false", ";", "if", "(", "MF", ")", "{", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "ghcCall", "=", "(", "F", "?", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ":", "false", ")", ";", "}", "if", "(", "ghcCall", ")", "{", "return", "CSR_GHC_SaveList", ";", "}", "else", "{", "return", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo43", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10222, "Length": 94} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "CallingConv", "::", "ID", ")", "const", "{", "if", "(", "ReserveR9", ")", "return", "CSR_NaCl_RegMask", ";", "return", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo43", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10223, "Length": 41} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getRegPressureLimit", "(", "const", "TargetRegisterClass", "*", "RC", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "switch", "(", "RC", "->", "getID", "(", ")", ")", "{", "default", ":", "return", "0", ";", "case", "ARM", "::", "tGPRRegClassID", ":", "{", "bool", "HasFP", "=", "MF", ".", "getFrameInfo", "(", ")", ".", "isMaxCallFrameSizeComputed", "(", ")", "?", "TFI", "->", "hasFP", "(", "MF", ")", ":", "true", ";", "return", "5", "-", "HasFP", ";", "}", "case", "ARM", "::", "GPRRegClassID", ":", "{", "bool", "HasFP", "=", "MF", ".", "getFrameInfo", "(", ")", ".", "isMaxCallFrameSizeComputed", "(", ")", "?", "TFI", "->", "hasFP", "(", "MF", ")", ":", "true", ";", "bool", "IsPagerando", "=", "MF", ".", "getFunction", "(", ")", ".", "isPagerando", "(", ")", ";", "return", "10", "-", "HasFP", "-", "(", "STI", ".", "isR9Reserved", "(", ")", "||", "IsPagerando", "?", "1", ":", "0", ")", ";", "}", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "return", "32", "-", "10", ";", "}", "}", ""], "natrual_language": ["Return", "the", "register", "pressure", "``", "high", "water", "mark", "''", "for", "the", "specific", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "0", "ARM::tGPRRegClassID", "5", "ARM::GPRRegClassID", "10", "1", "0", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "32", "10"], "File": "ARMBaseRegisterInfo4", "Func": "getRegPressureLimit", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10224, "Length": 166} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "SP", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "PC", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "FPSCR", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "getFramePointerReg", "(", "STI", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "R9", ")", ";", "if", "(", "MF", ".", "getFunction", "(", ")", ".", "isPagerando", "(", ")", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasVFP3", "(", ")", "||", "STI", ".", "hasD16", "(", ")", ")", "{", "static_assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ",", "\"Register list not consecutive!\"", ")", ";", "for", "(", "unsigned", "R", "=", "0", ";", "R", "<", "16", ";", "++", "R", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "D16", "+", "R", ")", ";", "}", "const", "TargetRegisterClass", "&", "RC", "=", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "unsigned", "Reg", ":", "RC", ")", "for", "(", "MCSubRegIterator", "SI", "(", "Reg", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "markSuperRegs", "(", "Reserved", ",", "Reg", ")", ";", "assert", "(", "checkAllSuperRegsMarked", "(", "Reserved", ")", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::R9", "ARM::D31", "ARM::D16", "15", "\"Register list not consecutive!\"", "0", "16", "ARM::D16", "ARM::GPRPairRegClass"], "File": "ARMBaseRegisterInfo4", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10225, "Length": 272} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "eliminateFrameIndex", "(", "MachineBasicBlock", "::", "iterator", "II", ",", "int", "SPAdj", ",", "int", "*", "Value", ",", "RegScavenger", "*", "RS", ")", "const", "{", "unsigned", "i", "=", "0", ";", "MachineInstr", "&", "MI", "=", "*", "II", ";", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateFrameIndex does not support Thumb1!\"", ")", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "int", "FrameIndex", "=", "MI", ".", "getOperand", "(", "i", ")", ".", "getIndex", "(", ")", ";", "unsigned", "FrameReg", ";", "int", "Offset", "=", "getFrameIndexReference", "(", "MF", ",", "FrameIndex", ",", "FrameReg", ")", ";", "if", "(", "FrameReg", "!=", "ARM", "::", "SP", ")", "SPAdj", "=", "0", ";", "Offset", "+=", "SPAdj", ";", "bool", "Done", "=", "false", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "Done", "=", "rewriteARMFrameIndex", "(", "MI", ",", "i", ",", "FrameReg", ",", "Offset", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "Done", "=", "rewriteT2FrameIndex", "(", "MI", ",", "i", ",", "FrameReg", ",", "Offset", ",", "TII", ")", ";", "}", "if", "(", "Done", ")", "return", "0", ";", "assert", "(", "(", "Offset", "||", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", "==", "ARMII", "::", "AddrMode4", "||", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", "==", "ARMII", "::", "AddrMode6", ")", "&&", "\"This code isn't needed if offset already handled!\"", ")", ";", "unsigned", "ScratchReg", "=", "0", ";", "int", "PIdx", "=", "MI", ".", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "MI", ".", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "unsigned", "PredReg", "=", "(", "PIdx", "==", "-", "1", ")", "?", "0", ":", "MI", ".", "getOperand", "(", "PIdx", "+", "1", ")", ".", "getReg", "(", ")", ";", "if", "(", "Offset", "==", "0", ")", "MI", ".", "getOperand", "(", "i", ")", ".", "ChangeToRegister", "(", "FrameReg", ",", "false", ",", "false", ",", "false", ")", ";", "else", "{", "ScratchReg", "=", "MF", ".", "getRegInfo", "(", ")", ".", "createVirtualRegister", "(", "ARM", "::", "GPRRegisterClass", ")", ";", "if", "(", "Value", ")", "*", "Value", "=", "Offset", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "emitARMRegPlusImmediate", "(", "MBB", ",", "II", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "ScratchReg", ",", "FrameReg", ",", "Offset", ",", "Pred", ",", "PredReg", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "emitT2RegPlusImmediate", "(", "MBB", ",", "II", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "ScratchReg", ",", "FrameReg", ",", "Offset", ",", "Pred", ",", "PredReg", ",", "TII", ")", ";", "}", "MI", ".", "getOperand", "(", "i", ")", ".", "ChangeToRegister", "(", "ScratchReg", ",", "false", ",", "false", ",", "true", ")", ";", "if", "(", "!", "ReuseFrameIndexVals", ")", "ScratchReg", "=", "0", ";", "}", "return", "ScratchReg", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "overriden", "to", "eliminate", "abstract", "frame", "indices", "from", "instructions", "which", "may", "use", "them", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM", "ARM", "\"This eliminateFrameIndex does not support Thumb1!\"", "\"Instr doesn't have FrameIndex operand!\"", "ARM::SP", "0", "ARM", "0", "ARMII::AddrModeMask", "ARMII::AddrMode4", "ARMII::AddrModeMask", "ARMII::AddrMode6", "\"This code isn't needed if offset already handled!\"", "0", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "1", "0", "1", "0", "ARM::GPRRegisterClass", "ARM", "0"], "File": "ARMBaseRegisterInfo51", "Func": "eliminateFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10226, "Length": 491} {"ground_truth": ["", "const", "MCPhysReg", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "bool", "UseSplitPush", "=", "STI", ".", "splitFramePushPop", "(", ")", ";", "const", "MCPhysReg", "*", "RegList", "=", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SaveList", ":", "(", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SaveList", ":", "CSR_AAPCS_SaveList", ")", ";", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", "->", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", "->", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "STI", ".", "getTargetLowering", "(", ")", "->", "supportSwiftError", "(", ")", "&&", "F", "->", "getAttributes", "(", ")", ".", "hasAttrSomewhere", "(", "Attribute", "::", "SwiftError", ")", ")", "return", "CSR_iOS_SwiftError_SaveList", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isSplitCSR", "(", ")", "?", "CSR_iOS_CXX_TLS_PE_SaveList", ":", "CSR_iOS_CXX_TLS_SaveList", ";", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\"", "ARM"], "File": "ARMBaseRegisterInfo54", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10227, "Length": 216} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "const", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "MF", ".", "getTarget", "(", ")", ".", "Options", ".", "RealignStack", ")", "return", "false", ";", "if", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "return", "false", ";", "if", "(", "!", "MRI", "->", "canReserveReg", "(", "FramePtr", ")", ")", "return", "false", ";", "if", "(", "!", "MFI", "->", "hasVarSizedObjects", "(", ")", ")", "return", "true", ";", "if", "(", "!", "EnableBasePointer", ")", "return", "false", ";", "return", "MRI", "->", "canReserveReg", "(", "BasePtr", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo55", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10228, "Length": 118} {"ground_truth": ["", "const", "unsigned", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "return", "(", "STI", ".", "isTargetIOS", "(", ")", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo55", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10229, "Length": 28} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "CallingConv", "::", "ID", ")", "const", "{", "return", "(", "STI", ".", "isTargetIOS", "(", ")", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo55", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10230, "Length": 27} {"ground_truth": ["", "int64_t", "ARMBaseRegisterInfo", "::", "getFrameIndexInstrOffset", "(", "const", "MachineInstr", "*", "MI", ",", "int", "Idx", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "int64_t", "InstrOffs", "=", "0", ";", ";", "int", "Scale", "=", "1", ";", "unsigned", "ImmIdx", "=", "0", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "case", "ARMII", "::", "AddrMode_i12", ":", "InstrOffs", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "1", ";", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "{", "const", "MachineOperand", "&", "OffOp", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM5Offset", "(", "OffOp", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM5Op", "(", "OffOp", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "Scale", "=", "4", ";", "break", ";", "}", "case", "ARMII", "::", "AddrMode2", ":", "{", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM2Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM2Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "}", "case", "ARMII", "::", "AddrMode3", ":", "{", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM3Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM3Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "}", "case", "ARMII", "::", "AddrModeT1_s", ":", "{", "ImmIdx", "=", "Idx", "+", "1", ";", "InstrOffs", "=", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "4", ";", "break", ";", "}", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "}", "return", "InstrOffs", "*", "Scale", ";", "}", ""], "natrual_language": ["Get", "the", "offset", "from", "the", "referenced", "frame", "index", "in", "the", "instruction", ",", "if", "there", "is", "one", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "1", "0", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "ARMII::AddrMode_i12", "1", "1", "ARMII::AddrMode5", "1", "ARM_AM::getAM5Offset", "ARM_AM::getAM5Op", "ARM_AM::sub", "4", "ARMII::AddrMode2", "2", "ARM_AM::getAM2Offset", "ARM_AM::getAM2Op", "ARM_AM::sub", "ARMII::AddrMode3", "2", "ARM_AM::getAM3Offset", "ARM_AM::getAM3Op", "ARM_AM::sub", "ARMII::AddrModeT1_s", "1", "4", "\"Unsupported addressing mode!\""], "File": "ARMBaseRegisterInfo55", "Func": "getFrameIndexInstrOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10231, "Length": 324} {"ground_truth": ["", "const", "uint16_t", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "return", "(", "STI", ".", "isTargetIOS", "(", ")", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo57", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10232, "Length": 28} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "SP", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "PC", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "FPSCR", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "getFramePointerReg", "(", "STI", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasD32", "(", ")", ")", "{", "static_assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ",", "\"Register list not consecutive!\"", ")", ";", "for", "(", "unsigned", "R", "=", "0", ";", "R", "<", "16", ";", "++", "R", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "D16", "+", "R", ")", ";", "}", "const", "TargetRegisterClass", "&", "RC", "=", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "unsigned", "Reg", ":", "RC", ")", "for", "(", "MCSubRegIterator", "SI", "(", "Reg", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "markSuperRegs", "(", "Reserved", ",", "Reg", ")", ";", "assert", "(", "checkAllSuperRegsMarked", "(", "Reserved", ")", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::D31", "ARM::D16", "15", "\"Register list not consecutive!\"", "0", "16", "ARM::D16", "ARM::GPRPairRegClass"], "File": "ARMBaseRegisterInfo59", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10233, "Length": 245} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "if", "(", "MF", ".", "getFunction", "(", ")", "->", "hasFnAttribute", "(", "\"no-realign-stack\"", ")", ")", "return", "false", ";", "if", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "return", "false", ";", "if", "(", "!", "MRI", "->", "canReserveReg", "(", "getFramePointerReg", "(", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ")", ")", ")", "return", "false", ";", "if", "(", "TFI", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "return", "true", ";", "return", "MRI", "->", "canReserveReg", "(", "BasePtr", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "\"no-realign-stack\"", "ARM"], "File": "ARMBaseRegisterInfo5", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10234, "Length": 119} {"ground_truth": ["", "const", "MCPhysReg", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "MCPhysReg", "*", "RegList", "=", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", "->", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", "->", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\""], "File": "ARMBaseRegisterInfo5", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10235, "Length": 127} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "const", "MachineFunction", "&", "MF", ",", "CallingConv", "::", "ID", "CC", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "CSR_NoRegs_RegMask", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo5", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10236, "Length": 56} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "getRegAllocationHints", "(", "unsigned", "VirtReg", ",", "ArrayRef", "<", "MCPhysReg", ">", "Order", ",", "SmallVectorImpl", "<", "MCPhysReg", ">", "&", "Hints", ",", "const", "MachineFunction", "&", "MF", ",", "const", "VirtRegMap", "*", "VRM", ")", "const", "{", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "unsigned", ",", "unsigned", ">", "Hint", "=", "MRI", ".", "getRegAllocationHint", "(", "VirtReg", ")", ";", "unsigned", "Odd", ";", "switch", "(", "Hint", ".", "first", ")", "{", "case", "ARMRI", "::", "RegPairEven", ":", "Odd", "=", "0", ";", "break", ";", "case", "ARMRI", "::", "RegPairOdd", ":", "Odd", "=", "1", ";", "break", ";", "default", ":", "TargetRegisterInfo", "::", "getRegAllocationHints", "(", "VirtReg", ",", "Order", ",", "Hints", ",", "MF", ",", "VRM", ")", ";", "return", ";", "}", "unsigned", "PairedPhys", "=", "0", ";", "if", "(", "VRM", "&&", "VRM", "->", "hasPhys", "(", "Hint", ".", "second", ")", ")", "{", "PairedPhys", "=", "getPairedGPR", "(", "VRM", "->", "getPhys", "(", "Hint", ".", "second", ")", ",", "Odd", ",", "this", ")", ";", "if", "(", "PairedPhys", "&&", "MRI", ".", "isReserved", "(", "PairedPhys", ")", ")", "PairedPhys", "=", "0", ";", "}", "if", "(", "PairedPhys", ")", "Hints", ".", "push_back", "(", "PairedPhys", ")", ";", "for", "(", "unsigned", "I", "=", "0", ",", "E", "=", "Order", ".", "size", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "unsigned", "Reg", "=", "Order", "[", "I", "]", ";", "if", "(", "Reg", "==", "PairedPhys", "||", "(", "getEncodingValue", "(", "Reg", ")", "&", "1", ")", "!=", "Odd", ")", "continue", ";", "unsigned", "Paired", "=", "getPairedGPR", "(", "Reg", ",", "!", "Odd", ",", "this", ")", ";", "if", "(", "!", "Paired", "||", "MRI", ".", "isReserved", "(", "Paired", ")", ")", "continue", ";", "Hints", ".", "push_back", "(", "Reg", ")", ";", "}", "}", ""], "natrual_language": ["Get", "a", "list", "of", "'hint", "'", "registers", "that", "the", "register", "allocator", "should", "try", "first", "when", "allocating", "a", "physical", "register", "for", "the", "virtual", "register", "VirtReg", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairEven", "0", "ARMRI::RegPairOdd", "1", "0", "0", "0", "1"], "File": "ARMBaseRegisterInfo60", "Func": "getRegAllocationHints", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10237, "Length": 263} {"ground_truth": ["", "int64_t", "ARMBaseRegisterInfo", "::", "getFrameIndexInstrOffset", "(", "const", "MachineInstr", "*", "MI", ",", "int", "Idx", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "int64_t", "InstrOffs", "=", "0", ";", "int", "Scale", "=", "1", ";", "unsigned", "ImmIdx", "=", "0", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i8neg", ":", "case", "ARMII", "::", "AddrModeT2_i8pos", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "case", "ARMII", "::", "AddrMode_i12", ":", "InstrOffs", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "1", ";", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "{", "const", "MachineOperand", "&", "OffOp", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM5Offset", "(", "OffOp", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM5Op", "(", "OffOp", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "Scale", "=", "4", ";", "break", ";", "}", "case", "ARMII", "::", "AddrMode2", ":", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM2Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM2Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "case", "ARMII", "::", "AddrMode3", ":", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM3Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM3Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "case", "ARMII", "::", "AddrModeT1_s", ":", "ImmIdx", "=", "Idx", "+", "1", ";", "InstrOffs", "=", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "4", ";", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "}", "return", "InstrOffs", "*", "Scale", ";", "}", ""], "natrual_language": ["Get", "the", "offset", "from", "the", "referenced", "frame", "index", "in", "the", "instruction", ",", "if", "there", "is", "one", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "1", "0", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i8neg", "ARMII::AddrModeT2_i8pos", "ARMII::AddrModeT2_i12", "ARMII::AddrMode_i12", "1", "1", "ARMII::AddrMode5", "1", "ARM_AM::getAM5Offset", "ARM_AM::getAM5Op", "ARM_AM::sub", "4", "ARMII::AddrMode2", "2", "ARM_AM::getAM2Offset", "ARM_AM::getAM2Op", "ARM_AM::sub", "ARMII::AddrMode3", "2", "ARM_AM::getAM3Offset", "ARM_AM::getAM3Op", "ARM_AM::sub", "ARMII::AddrModeT1_s", "1", "4", "\"Unsupported addressing mode!\""], "File": "ARMBaseRegisterInfo66", "Func": "getFrameIndexInstrOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10238, "Length": 327} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "isFrameOffsetLegal", "(", "const", "MachineInstr", "*", "MI", ",", "Register", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "unsigned", "i", "=", "0", ";", "for", "(", ";", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ";", "++", "i", ")", "assert", "(", "i", "+", "1", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "if", "(", "AddrMode", "==", "ARMII", "::", "AddrMode4", "||", "AddrMode", "==", "ARMII", "::", "AddrMode6", ")", "return", "Offset", "==", "0", ";", "unsigned", "NumBits", "=", "0", ";", "unsigned", "Scale", "=", "1", ";", "bool", "isSigned", "=", "true", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i8pos", ":", "case", "ARMII", "::", "AddrModeT2_i8neg", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "Scale", "=", "1", ";", "if", "(", "Offset", "<", "0", ")", "{", "NumBits", "=", "8", ";", "Offset", "=", "-", "Offset", ";", "}", "else", "{", "NumBits", "=", "12", ";", "}", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "NumBits", "=", "8", ";", "Scale", "=", "4", ";", "break", ";", "case", "ARMII", "::", "AddrMode_i12", ":", "case", "ARMII", "::", "AddrMode2", ":", "NumBits", "=", "12", ";", "break", ";", "case", "ARMII", "::", "AddrMode3", ":", "NumBits", "=", "8", ";", "break", ";", "case", "ARMII", "::", "AddrModeT1_s", ":", "NumBits", "=", "(", "BaseReg", "==", "ARM", "::", "SP", "?", "8", ":", "5", ")", ";", "Scale", "=", "4", ";", "isSigned", "=", "false", ";", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "}", "Offset", "+=", "getFrameIndexInstrOffset", "(", "MI", ",", "i", ")", ";", "if", "(", "(", "Offset", "&", "(", "Scale", "-", "1", ")", ")", "!=", "0", ")", "return", "false", ";", "if", "(", "isSigned", "&&", "Offset", "<", "0", ")", "Offset", "=", "-", "Offset", ";", "unsigned", "Mask", "=", "(", "1", "<<", "NumBits", ")", "-", "1", ";", "if", "(", "(", "unsigned", ")", "Offset", "<=", "Mask", "*", "Scale", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Determine", "whether", "a", "given", "base", "register", "plus", "offset", "immediate", "is", "encodable", "to", "resolve", "a", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "1", "\"Instr doesn't have FrameIndex operand!\"", "ARMII::AddrMode4", "ARMII::AddrMode6", "0", "0", "1", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i8pos", "ARMII::AddrModeT2_i8neg", "ARMII::AddrModeT2_i12", "1", "0", "8", "12", "ARMII::AddrMode5", "8", "4", "ARMII::AddrMode_i12", "ARMII::AddrMode2", "12", "ARMII::AddrMode3", "8", "ARMII::AddrModeT1_s", "ARM::SP", "8", "5", "4", "\"Unsupported addressing mode!\"", "1", "0", "0", "1", "1"], "File": "ARMBaseRegisterInfo66", "Func": "isFrameOffsetLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10239, "Length": 316} {"ground_truth": ["", "const", "uint16_t", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "bool", "ghcCall", "=", "false", ";", "if", "(", "MF", ")", "{", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "ghcCall", "=", "(", "F", "?", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ":", "false", ")", ";", "}", "if", "(", "ghcCall", ")", "return", "CSR_GHC_SaveList", ";", "else", "return", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo6", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10240, "Length": 83} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getThisReturnPreservedMask", "(", "CallingConv", "::", "ID", ")", "const", "{", "return", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_ThisReturn_RegMask", ":", "CSR_AAPCS_ThisReturn_RegMask", ";", "}", ""], "natrual_language": ["getThisReturnPreservedMask", "-", "Returns", "a", "call", "preserved", "mask", "specific", "to", "the", "case", "that", "'returned", "'", "is", "on", "an", "i32", "first", "argument", "if", "the", "calling", "convention", "is", "one", "that", "can", "(", "partially", ")", "model", "this", "attribute", "with", "a", "preserved", "mask", "(", "i.e", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo6", "Func": "getThisReturnPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10241, "Length": 34} {"ground_truth": ["", "const", "unsigned", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "bool", "ghcCall", "=", "false", ";", "if", "(", "MF", ")", "{", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "ghcCall", "=", "(", "F", "?", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ":", "false", ")", ";", "}", "static", "const", "unsigned", "CalleeSavedRegs", "[", "]", "=", "{", "ARM", "::", "LR", ",", "ARM", "::", "R11", ",", "ARM", "::", "R10", ",", "ARM", "::", "R9", ",", "ARM", "::", "R8", ",", "ARM", "::", "R7", ",", "ARM", "::", "R6", ",", "ARM", "::", "R5", ",", "ARM", "::", "R4", ",", "ARM", "::", "D15", ",", "ARM", "::", "D14", ",", "ARM", "::", "D13", ",", "ARM", "::", "D12", ",", "ARM", "::", "D11", ",", "ARM", "::", "D10", ",", "ARM", "::", "D9", ",", "ARM", "::", "D8", ",", "0", "}", ";", "static", "const", "unsigned", "DarwinCalleeSavedRegs", "[", "]", "=", "{", "ARM", "::", "LR", ",", "ARM", "::", "R7", ",", "ARM", "::", "R6", ",", "ARM", "::", "R5", ",", "ARM", "::", "R4", ",", "ARM", "::", "R11", ",", "ARM", "::", "R10", ",", "ARM", "::", "R8", ",", "ARM", "::", "D15", ",", "ARM", "::", "D14", ",", "ARM", "::", "D13", ",", "ARM", "::", "D12", ",", "ARM", "::", "D11", ",", "ARM", "::", "D10", ",", "ARM", "::", "D9", ",", "ARM", "::", "D8", ",", "0", "}", ";", "static", "const", "unsigned", "GhcCalleeSavedRegs", "[", "]", "=", "{", "0", "}", ";", "return", "ghcCall", "?", "GhcCalleeSavedRegs", ":", "STI", ".", "isTargetDarwin", "(", ")", "?", "DarwinCalleeSavedRegs", ":", "CalleeSavedRegs", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "ARM::LR", "ARM::R11", "ARM::R10", "ARM::R9", "ARM::R8", "ARM::R7", "ARM::R6", "ARM::R5", "ARM::R4", "ARM::D15", "ARM::D14", "ARM::D13", "ARM::D12", "ARM::D11", "ARM::D10", "ARM::D9", "ARM::D8", "0", "ARM::LR", "ARM::R7", "ARM::R6", "ARM::R5", "ARM::R4", "ARM::R11", "ARM::R10", "ARM::R8", "ARM::D15", "ARM::D14", "ARM::D13", "ARM::D12", "ARM::D11", "ARM::D10", "ARM::D9", "ARM::D8", "0", "0"], "File": "ARMBaseRegisterInfo76", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10242, "Length": 235} {"ground_truth": ["", "const", "uint16_t", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "if", "(", "STI", ".", "isTargetNaCl", "(", ")", ")", "return", "CSR_NaCl_SaveList", ";", "const", "uint16_t", "*", "RegList", "=", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "if", "(", "!", "MF", ")", "return", "RegList", ";", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", "->", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", "->", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\""], "File": "ARMBaseRegisterInfo77", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10243, "Length": 141} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "CallingConv", "::", "ID", "CC", ")", "const", "{", "if", "(", "STI", ".", "isTargetNaCl", "(", ")", ")", "return", "CSR_NaCl_RegMask", ";", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "CSR_NoRegs_RegMask", ";", "return", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo77", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10244, "Length": 57} {"ground_truth": ["", "const", "MCPhysReg", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "if", "(", "STI", ".", "isTargetNaCl", "(", ")", ")", "return", "CSR_NaCl_SaveList", ";", "const", "MCPhysReg", "*", "RegList", "=", "(", "STI", ".", "isTargetIOS", "(", ")", "&&", "!", "STI", ".", "isAAPCS_ABI", "(", ")", ")", "?", "CSR_iOS_SaveList", ":", "CSR_AAPCS_SaveList", ";", "if", "(", "!", "MF", ")", "return", "RegList", ";", "const", "Function", "*", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", "->", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", "->", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\""], "File": "ARMBaseRegisterInfo85", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10245, "Length": 141} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "FPSCR", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "FramePtr", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::R9"], "File": "ARMBaseRegisterInfo8", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10246, "Length": 113} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "materializeFrameBaseRegister", "(", "MachineBasicBlock", "*", "MBB", ",", "unsigned", "BaseReg", ",", "int", "FrameIdx", ",", "int64_t", "Offset", ")", "const", "{", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "ADDriOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "ADDri", ":", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "?", "ARM", "::", "tADDrSPi", ":", "ARM", "::", "t2ADDri", ")", ";", "MachineBasicBlock", "::", "iterator", "Ins", "=", "MBB", "->", "begin", "(", ")", ";", "DebugLoc", "DL", ";", "if", "(", "Ins", "!=", "MBB", "->", "end", "(", ")", ")", "DL", "=", "Ins", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "*", "MBB", ",", "Ins", ",", "DL", ",", "TII", ".", "get", "(", "ADDriOpc", ")", ",", "BaseReg", ")", ".", "addFrameIndex", "(", "FrameIdx", ")", ".", "addImm", "(", "Offset", ")", ";", "if", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "AddDefaultCC", "(", "AddDefaultPred", "(", "MIB", ")", ")", ";", "}", ""], "natrual_language": ["Insert", "defining", "instruction", "(", "s", ")", "for", "a", "pointer", "to", "FrameIdx", "before", "insertion", "point", "I", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::ADDri", "ARM::tADDrSPi", "ARM::t2ADDri"], "File": "ARMBaseRegisterInfo8", "Func": "materializeFrameBaseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10247, "Length": 149} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "TargetRegisterInfo", "::", "canRealignStack", "(", "MF", ")", ")", "return", "false", ";", "if", "(", "!", "MRI", "->", "canReserveReg", "(", "getFramePointerReg", "(", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ")", ")", ")", "return", "false", ";", "if", "(", "STI", ".", "isGPRegisterReserved", "(", "BasePtr", "-", "ARM", "::", "R0", ")", ")", "return", "false", ";", "if", "(", "TFI", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "return", "true", ";", "return", "MRI", "->", "canReserveReg", "(", "BasePtr", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM::R0"], "File": "ARMBaseRegisterInfo91", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10248, "Length": 121} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getRegPressureLimit", "(", "const", "TargetRegisterClass", "*", "RC", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "switch", "(", "RC", "->", "getID", "(", ")", ")", "{", "default", ":", "return", "0", ";", "case", "ARM", "::", "tGPRRegClassID", ":", "{", "bool", "HasFP", "=", "MF", ".", "getFrameInfo", "(", ")", ".", "isMaxCallFrameSizeComputed", "(", ")", "?", "TFI", "->", "hasFP", "(", "MF", ")", ":", "true", ";", "return", "5", "-", "HasFP", ";", "}", "case", "ARM", "::", "GPRRegClassID", ":", "{", "bool", "HasFP", "=", "MF", ".", "getFrameInfo", "(", ")", ".", "isMaxCallFrameSizeComputed", "(", ")", "?", "TFI", "->", "hasFP", "(", "MF", ")", ":", "true", ";", "return", "10", "-", "HasFP", "-", "STI", ".", "getNumGPRegistersReserved", "(", ")", ";", "}", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "return", "32", "-", "10", ";", "}", "}", ""], "natrual_language": ["Return", "the", "register", "pressure", "``", "high", "water", "mark", "''", "for", "the", "specific", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "0", "ARM::tGPRRegClassID", "5", "ARM::GPRRegClassID", "10", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "32", "10"], "File": "ARMBaseRegisterInfo91", "Func": "getRegPressureLimit", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10249, "Length": 145} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "SP", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "PC", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "FPSCR", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", "||", "STI", ".", "isTargetDarwin", "(", ")", ")", "markSuperRegs", "(", "Reserved", ",", "getFramePointerReg", "(", "STI", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "BasePtr", ")", ";", "for", "(", "size_t", "R", "=", "0", ";", "R", "<", "ARM", "::", "GPRRegClass", ".", "getNumRegs", "(", ")", ";", "++", "R", ")", "{", "if", "(", "STI", ".", "isGPRegisterReserved", "(", "R", ")", ")", "{", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "R0", "+", "R", ")", ";", "}", "}", "if", "(", "!", "STI", ".", "hasD32", "(", ")", ")", "{", "static_assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ",", "\"Register list not consecutive!\"", ")", ";", "for", "(", "unsigned", "R", "=", "0", ";", "R", "<", "16", ";", "++", "R", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "D16", "+", "R", ")", ";", "}", "const", "TargetRegisterClass", "&", "RC", "=", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "unsigned", "Reg", ":", "RC", ")", "for", "(", "MCSubRegIterator", "SI", "(", "Reg", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "markSuperRegs", "(", "Reserved", ",", "Reg", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "ZR", ")", ";", "assert", "(", "checkAllSuperRegsMarked", "(", "Reserved", ")", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "0", "ARM::GPRRegClass", "ARM::R0", "ARM::D31", "ARM::D16", "15", "\"Register list not consecutive!\"", "0", "16", "ARM::D16", "ARM::GPRPairRegClass", "ARM::ZR"], "File": "ARMBaseRegisterInfo91", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10250, "Length": 287} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "canRealignStack", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "TargetRegisterInfo", "::", "canRealignStack", "(", "MF", ")", ")", "return", "false", ";", "if", "(", "!", "MRI", "->", "canReserveReg", "(", "STI", ".", "getFramePointerReg", "(", ")", ")", ")", "return", "false", ";", "if", "(", "TFI", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "return", "true", ";", "return", "MRI", "->", "canReserveReg", "(", "BasePtr", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "stack", "can", "be", "realigned", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo", "Func": "canRealignStack", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10251, "Length": 99} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "DebugLoc", "&", "dl", ",", "Register", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "Register", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MF", ".", "getFunction", "(", ")", ".", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "Align", "(", "4", ")", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "LDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "0", ")", ".", "add", "(", "predOps", "(", "Pred", ",", "PredReg", ")", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "ARMCC::CondCodes", "4", "ARM::LDRcp", "0"], "File": "ARMBaseRegisterInfo", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10252, "Length": 177} {"ground_truth": ["", "const", "MCPhysReg", "*", "ARMBaseRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "bool", "UseSplitPush", "=", "STI", ".", "splitFramePushPop", "(", "*", "MF", ")", ";", "const", "MCPhysReg", "*", "RegList", "=", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SaveList", ":", "(", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SaveList", ":", "CSR_AAPCS_SaveList", ")", ";", "const", "Function", "&", "F", "=", "MF", "->", "getFunction", "(", ")", ";", "if", "(", "F", ".", "getCallingConv", "(", ")", "==", "CallingConv", "::", "GHC", ")", "{", "return", "CSR_NoRegs_SaveList", ";", "}", "else", "if", "(", "F", ".", "getCallingConv", "(", ")", "==", "CallingConv", "::", "CFGuard_Check", ")", "{", "return", "CSR_Win_AAPCS_CFGuard_Check_SaveList", ";", "}", "else", "if", "(", "F", ".", "getCallingConv", "(", ")", "==", "CallingConv", "::", "SwiftTail", ")", "{", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SwiftTail_SaveList", ":", "(", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SwiftTail_SaveList", ":", "CSR_AAPCS_SwiftTail_SaveList", ")", ";", "}", "else", "if", "(", "F", ".", "hasFnAttribute", "(", "\"interrupt\"", ")", ")", "{", "if", "(", "STI", ".", "isMClass", "(", ")", ")", "{", "return", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SaveList", ":", "CSR_AAPCS_SaveList", ";", "}", "else", "if", "(", "F", ".", "getFnAttribute", "(", "\"interrupt\"", ")", ".", "getValueAsString", "(", ")", "==", "\"FIQ\"", ")", "{", "return", "CSR_FIQ_SaveList", ";", "}", "else", "{", "return", "CSR_GenericInt_SaveList", ";", "}", "}", "if", "(", "STI", ".", "getTargetLowering", "(", ")", "->", "supportSwiftError", "(", ")", "&&", "F", ".", "getAttributes", "(", ")", ".", "hasAttrSomewhere", "(", "Attribute", "::", "SwiftError", ")", ")", "{", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", ")", "return", "CSR_iOS_SwiftError_SaveList", ";", "return", "UseSplitPush", "?", "CSR_AAPCS_SplitPush_SwiftError_SaveList", ":", "CSR_AAPCS_SwiftError_SaveList", ";", "}", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "F", ".", "getCallingConv", "(", ")", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isSplitCSR", "(", ")", "?", "CSR_iOS_CXX_TLS_PE_SaveList", ":", "CSR_iOS_CXX_TLS_SaveList", ";", "return", "RegList", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"interrupt\"", "\"interrupt\"", "\"FIQ\"", "ARM"], "File": "ARMBaseRegisterInfo", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10253, "Length": 279} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getCallPreservedMask", "(", "const", "MachineFunction", "&", "MF", ",", "CallingConv", "::", "ID", "CC", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "CSR_NoRegs_RegMask", ";", "if", "(", "CC", "==", "CallingConv", "::", "CFGuard_Check", ")", "return", "CSR_Win_AAPCS_CFGuard_Check_RegMask", ";", "if", "(", "CC", "==", "CallingConv", "::", "SwiftTail", ")", "{", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SwiftTail_RegMask", ":", "CSR_AAPCS_SwiftTail_RegMask", ";", "}", "if", "(", "STI", ".", "getTargetLowering", "(", ")", "->", "supportSwiftError", "(", ")", "&&", "MF", ".", "getFunction", "(", ")", ".", "getAttributes", "(", ")", ".", "hasAttrSomewhere", "(", "Attribute", "::", "SwiftError", ")", ")", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_SwiftError_RegMask", ":", "CSR_AAPCS_SwiftError_RegMask", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "&&", "CC", "==", "CallingConv", "::", "CXX_FAST_TLS", ")", "return", "CSR_iOS_CXX_TLS_RegMask", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_RegMask", ":", "CSR_AAPCS_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "mask", "of", "call-preserved", "registers", "for", "the", "given", "calling", "convention", "on", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo", "Func": "getCallPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10254, "Length": 145} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getCrossCopyRegClass", "(", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "if", "(", "RC", "==", "&", "ARM", "::", "CCRRegClass", ")", "return", "&", "ARM", "::", "rGPRRegClass", ";", "return", "RC", ";", "}", ""], "natrual_language": ["getCrossCopyRegClass", "-", "Returns", "a", "legal", "register", "class", "to", "copy", "a", "register", "in", "the", "specified", "class", "to", "or", "from", "."], "TS_V_token": ["ARM", "ARM", "ARM::CCRRegClass", "ARM::rGPRRegClass"], "File": "ARMBaseRegisterInfo", "Func": "getCrossCopyRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10255, "Length": 33} {"ground_truth": ["", "int64_t", "ARMBaseRegisterInfo", "::", "getFrameIndexInstrOffset", "(", "const", "MachineInstr", "*", "MI", ",", "int", "Idx", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "int64_t", "InstrOffs", "=", "0", ";", "int", "Scale", "=", "1", ";", "unsigned", "ImmIdx", "=", "0", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "case", "ARMII", "::", "AddrMode_i12", ":", "InstrOffs", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "1", ";", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "{", "const", "MachineOperand", "&", "OffOp", "=", "MI", "->", "getOperand", "(", "Idx", "+", "1", ")", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM5Offset", "(", "OffOp", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM5Op", "(", "OffOp", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "Scale", "=", "4", ";", "break", ";", "}", "case", "ARMII", "::", "AddrMode2", ":", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM2Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM2Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "case", "ARMII", "::", "AddrMode3", ":", "ImmIdx", "=", "Idx", "+", "2", ";", "InstrOffs", "=", "ARM_AM", "::", "getAM3Offset", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getAM3Op", "(", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "sub", ")", "InstrOffs", "=", "-", "InstrOffs", ";", "break", ";", "case", "ARMII", "::", "AddrModeT1_s", ":", "ImmIdx", "=", "Idx", "+", "1", ";", "InstrOffs", "=", "MI", "->", "getOperand", "(", "ImmIdx", ")", ".", "getImm", "(", ")", ";", "Scale", "=", "4", ";", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "}", "return", "InstrOffs", "*", "Scale", ";", "}", ""], "natrual_language": ["Get", "the", "offset", "from", "the", "referenced", "frame", "index", "in", "the", "instruction", ",", "if", "there", "is", "one", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "1", "0", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "ARMII::AddrMode_i12", "1", "1", "ARMII::AddrMode5", "1", "ARM_AM::getAM5Offset", "ARM_AM::getAM5Op", "ARM_AM::sub", "4", "ARMII::AddrMode2", "2", "ARM_AM::getAM2Offset", "ARM_AM::getAM2Op", "ARM_AM::sub", "ARMII::AddrMode3", "2", "ARM_AM::getAM3Offset", "ARM_AM::getAM3Op", "ARM_AM::sub", "ARMII::AddrModeT1_s", "1", "4", "\"Unsupported addressing mode!\""], "File": "ARMBaseRegisterInfo", "Func": "getFrameIndexInstrOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10256, "Length": 317} {"ground_truth": ["", "Register", "ARMBaseRegisterInfo", "::", "getFrameRegister", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "return", "STI", ".", "getFramePointerReg", "(", ")", ";", "return", "ARM", "::", "SP", ";", "}", ""], "natrual_language": ["Debug", "information", "queries", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP"], "File": "ARMBaseRegisterInfo", "Func": "getFrameRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10257, "Length": 58} {"ground_truth": ["", "ArrayRef", "<", "MCPhysReg", ">", "ARMBaseRegisterInfo", "::", "getIntraCallClobberedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "static", "const", "MCPhysReg", "IntraCallClobberedRegs", "[", "]", "=", "{", "ARM", "::", "R12", "}", ";", "return", "ArrayRef", "<", "MCPhysReg", ">", "(", "IntraCallClobberedRegs", ")", ";", "}", ""], "natrual_language": ["Return", "a", "list", "of", "all", "of", "the", "registers", "which", "are", "clobbered", "``", "inside", "''", "a", "call", "to", "the", "given", "function", "."], "TS_V_token": ["ARM", "ARM", "ARM::R12"], "File": "ARMBaseRegisterInfo", "Func": "getIntraCallClobberedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10258, "Length": 38} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getLargestLegalSuperClass", "(", "const", "TargetRegisterClass", "*", "RC", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetRegisterClass", "*", "Super", "=", "RC", ";", "TargetRegisterClass", "::", "sc_iterator", "I", "=", "RC", "->", "getSuperClasses", "(", ")", ";", "do", "{", "switch", "(", "Super", "->", "getID", "(", ")", ")", "{", "case", "ARM", "::", "GPRRegClassID", ":", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "case", "ARM", "::", "GPRPairRegClassID", ":", "return", "Super", ";", "case", "ARM", "::", "QPRRegClassID", ":", "case", "ARM", "::", "QQPRRegClassID", ":", "case", "ARM", "::", "QQQQPRRegClassID", ":", "if", "(", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "hasNEON", "(", ")", ")", "return", "Super", ";", "break", ";", "case", "ARM", "::", "MQPRRegClassID", ":", "case", "ARM", "::", "MQQPRRegClassID", ":", "case", "ARM", "::", "MQQQQPRRegClassID", ":", "if", "(", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "hasMVEIntegerOps", "(", ")", ")", "return", "Super", ";", "break", ";", "}", "Super", "=", "*", "I", "++", ";", "}", "while", "(", "Super", ")", ";", "return", "RC", ";", "}", ""], "natrual_language": ["Returns", "the", "largest", "super", "class", "of", "RC", "that", "is", "legal", "to", "use", "in", "the", "current", "sub-target", "and", "has", "the", "same", "spill", "size", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClassID", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "ARM::GPRPairRegClassID", "ARM::QPRRegClassID", "ARM::QQPRRegClassID", "ARM::QQQQPRRegClassID", "ARM", "ARM::MQPRRegClassID", "ARM::MQQPRRegClassID", "ARM::MQQQQPRRegClassID", "ARM"], "File": "ARMBaseRegisterInfo", "Func": "getLargestLegalSuperClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10259, "Length": 158} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getNoPreservedMask", "(", ")", "const", "{", "return", "CSR_NoRegs_RegMask", ";", "}", ""], "natrual_language": ["Return", "a", "register", "mask", "that", "clobbers", "everything", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo", "Func": "getNoPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10260, "Length": 14} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMBaseRegisterInfo", "::", "getPointerRegClass", "(", "const", "MachineFunction", "&", "MF", ",", "unsigned", "Kind", ")", "const", "{", "return", "&", "ARM", "::", "GPRRegClass", ";", "}", ""], "natrual_language": ["getPointerRegClass", "-", "Returns", "a", "TargetRegisterClass", "used", "for", "pointer", "values", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClass"], "File": "ARMBaseRegisterInfo", "Func": "getPointerRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10261, "Length": 24} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "getRegAllocationHints", "(", "Register", "VirtReg", ",", "ArrayRef", "<", "MCPhysReg", ">", "Order", ",", "SmallVectorImpl", "<", "MCPhysReg", ">", "&", "Hints", ",", "const", "MachineFunction", "&", "MF", ",", "const", "VirtRegMap", "*", "VRM", ",", "const", "LiveRegMatrix", "*", "Matrix", ")", "const", "{", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "Register", ",", "Register", ">", "Hint", "=", "MRI", ".", "getRegAllocationHint", "(", "VirtReg", ")", ";", "unsigned", "Odd", ";", "switch", "(", "Hint", ".", "first", ")", "{", "case", "ARMRI", "::", "RegPairEven", ":", "Odd", "=", "0", ";", "break", ";", "case", "ARMRI", "::", "RegPairOdd", ":", "Odd", "=", "1", ";", "break", ";", "case", "ARMRI", "::", "RegLR", ":", "TargetRegisterInfo", "::", "getRegAllocationHints", "(", "VirtReg", ",", "Order", ",", "Hints", ",", "MF", ",", "VRM", ")", ";", "if", "(", "MRI", ".", "getRegClass", "(", "VirtReg", ")", "->", "contains", "(", "ARM", "::", "LR", ")", ")", "Hints", ".", "push_back", "(", "ARM", "::", "LR", ")", ";", "return", "false", ";", "default", ":", "return", "TargetRegisterInfo", "::", "getRegAllocationHints", "(", "VirtReg", ",", "Order", ",", "Hints", ",", "MF", ",", "VRM", ")", ";", "}", "Register", "Paired", "=", "Hint", ".", "second", ";", "if", "(", "!", "Paired", ")", "return", "false", ";", "Register", "PairedPhys", ";", "if", "(", "Paired", ".", "isPhysical", "(", ")", ")", "{", "PairedPhys", "=", "Paired", ";", "}", "else", "if", "(", "VRM", "&&", "VRM", "->", "hasPhys", "(", "Paired", ")", ")", "{", "PairedPhys", "=", "getPairedGPR", "(", "VRM", "->", "getPhys", "(", "Paired", ")", ",", "Odd", ",", "this", ")", ";", "}", "if", "(", "PairedPhys", "&&", "is_contained", "(", "Order", ",", "PairedPhys", ")", ")", "Hints", ".", "push_back", "(", "PairedPhys", ")", ";", "for", "(", "MCPhysReg", "Reg", ":", "Order", ")", "{", "if", "(", "Reg", "==", "PairedPhys", "||", "(", "getEncodingValue", "(", "Reg", ")", "&", "1", ")", "!=", "Odd", ")", "continue", ";", "MCPhysReg", "Paired", "=", "getPairedGPR", "(", "Reg", ",", "!", "Odd", ",", "this", ")", ";", "if", "(", "!", "Paired", "||", "MRI", ".", "isReserved", "(", "Paired", ")", ")", "continue", ";", "Hints", ".", "push_back", "(", "Reg", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Get", "a", "list", "of", "'hint", "'", "registers", "that", "the", "register", "allocator", "should", "try", "first", "when", "allocating", "a", "physical", "register", "for", "the", "virtual", "register", "VirtReg", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairEven", "0", "ARMRI::RegPairOdd", "1", "ARMRI::RegLR", "ARM::LR", "ARM::LR", "1"], "File": "ARMBaseRegisterInfo", "Func": "getRegAllocationHints", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10262, "Length": 311} {"ground_truth": ["", "unsigned", "ARMBaseRegisterInfo", "::", "getRegPressureLimit", "(", "const", "TargetRegisterClass", "*", "RC", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "switch", "(", "RC", "->", "getID", "(", ")", ")", "{", "default", ":", "return", "0", ";", "case", "ARM", "::", "tGPRRegClassID", ":", "{", "bool", "HasFP", "=", "MF", ".", "getFrameInfo", "(", ")", ".", "isMaxCallFrameSizeComputed", "(", ")", "?", "TFI", "->", "hasFP", "(", "MF", ")", ":", "true", ";", "return", "5", "-", "HasFP", ";", "}", "case", "ARM", "::", "GPRRegClassID", ":", "{", "bool", "HasFP", "=", "MF", ".", "getFrameInfo", "(", ")", ".", "isMaxCallFrameSizeComputed", "(", ")", "?", "TFI", "->", "hasFP", "(", "MF", ")", ":", "true", ";", "return", "10", "-", "HasFP", "-", "(", "STI", ".", "isR9Reserved", "(", ")", "?", "1", ":", "0", ")", ";", "}", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "return", "32", "-", "10", ";", "}", "}", ""], "natrual_language": ["Return", "the", "register", "pressure", "``", "high", "water", "mark", "''", "for", "the", "specific", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "0", "ARM::tGPRRegClassID", "5", "ARM::GPRRegClassID", "10", "1", "0", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "32", "10"], "File": "ARMBaseRegisterInfo", "Func": "getRegPressureLimit", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10263, "Length": 151} {"ground_truth": ["", "BitVector", "ARMBaseRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "SP", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "PC", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "FPSCR", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "APSR_NZCV", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "STI", ".", "getFramePointerReg", "(", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "BasePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "R9", ")", ";", "if", "(", "!", "STI", ".", "hasD32", "(", ")", ")", "{", "static_assert", "(", "ARM", "::", "D31", "==", "ARM", "::", "D16", "+", "15", ",", "\"Register list not consecutive!\"", ")", ";", "for", "(", "unsigned", "R", "=", "0", ";", "R", "<", "16", ";", "++", "R", ")", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "D16", "+", "R", ")", ";", "}", "const", "TargetRegisterClass", "&", "RC", "=", "ARM", "::", "GPRPairRegClass", ";", "for", "(", "unsigned", "Reg", ":", "RC", ")", "for", "(", "MCSubRegIterator", "SI", "(", "Reg", ",", "this", ")", ";", "SI", ".", "isValid", "(", ")", ";", "++", "SI", ")", "if", "(", "Reserved", ".", "test", "(", "*", "SI", ")", ")", "markSuperRegs", "(", "Reserved", ",", "Reg", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "ZR", ")", ";", "assert", "(", "checkAllSuperRegsMarked", "(", "Reserved", ")", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::FPSCR", "ARM::APSR_NZCV", "ARM::R9", "ARM::D31", "ARM::D16", "15", "\"Register list not consecutive!\"", "0", "16", "ARM::D16", "ARM::GPRPairRegClass", "ARM::ZR"], "File": "ARMBaseRegisterInfo", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10264, "Length": 255} {"ground_truth": ["", "const", "uint32_t", "*", "ARMBaseRegisterInfo", "::", "getThisReturnPreservedMask", "(", "const", "MachineFunction", "&", "MF", ",", "CallingConv", "::", "ID", "CC", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "CC", "==", "CallingConv", "::", "GHC", ")", "return", "nullptr", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "CSR_iOS_ThisReturn_RegMask", ":", "CSR_AAPCS_ThisReturn_RegMask", ";", "}", ""], "natrual_language": ["getThisReturnPreservedMask", "-", "Returns", "a", "call", "preserved", "mask", "specific", "to", "the", "case", "that", "'returned", "'", "is", "on", "an", "i32", "first", "argument", "if", "the", "calling", "convention", "is", "one", "that", "can", "(", "partially", ")", "model", "this", "attribute", "with", "a", "preserved", "mask", "(", "i.e", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMBaseRegisterInfo", "Func": "getThisReturnPreservedMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10265, "Length": 56} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "isAsmClobberable", "(", "const", "MachineFunction", "&", "MF", ",", "MCRegister", "PhysReg", ")", "const", "{", "return", "!", "getReservedRegs", "(", "MF", ")", ".", "test", "(", "PhysReg", ")", ";", "}", ""], "natrual_language": ["Returns", "false", "if", "we", "ca", "n't", "guarantee", "that", "Physreg", ",", "specified", "as", "an", "IR", "asm", "clobber", "constraint", ",", "will", "be", "preserved", "across", "the", "statement", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo", "Func": "isAsmClobberable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10266, "Length": 28} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "isFrameOffsetLegal", "(", "const", "MachineInstr", "*", "MI", ",", "Register", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "AddrMode", "=", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "unsigned", "i", "=", "0", ";", "for", "(", ";", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ";", "++", "i", ")", "assert", "(", "i", "+", "1", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "if", "(", "AddrMode", "==", "ARMII", "::", "AddrMode4", "||", "AddrMode", "==", "ARMII", "::", "AddrMode6", ")", "return", "Offset", "==", "0", ";", "unsigned", "NumBits", "=", "0", ";", "unsigned", "Scale", "=", "1", ";", "bool", "isSigned", "=", "true", ";", "switch", "(", "AddrMode", ")", "{", "case", "ARMII", "::", "AddrModeT2_i8", ":", "case", "ARMII", "::", "AddrModeT2_i12", ":", "Scale", "=", "1", ";", "if", "(", "Offset", "<", "0", ")", "{", "NumBits", "=", "8", ";", "Offset", "=", "-", "Offset", ";", "}", "else", "{", "NumBits", "=", "12", ";", "}", "break", ";", "case", "ARMII", "::", "AddrMode5", ":", "NumBits", "=", "8", ";", "Scale", "=", "4", ";", "break", ";", "case", "ARMII", "::", "AddrMode_i12", ":", "case", "ARMII", "::", "AddrMode2", ":", "NumBits", "=", "12", ";", "break", ";", "case", "ARMII", "::", "AddrMode3", ":", "NumBits", "=", "8", ";", "break", ";", "case", "ARMII", "::", "AddrModeT1_s", ":", "NumBits", "=", "(", "BaseReg", "==", "ARM", "::", "SP", "?", "8", ":", "5", ")", ";", "Scale", "=", "4", ";", "isSigned", "=", "false", ";", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported addressing mode!\"", ")", ";", "}", "Offset", "+=", "getFrameIndexInstrOffset", "(", "MI", ",", "i", ")", ";", "if", "(", "(", "Offset", "&", "(", "Scale", "-", "1", ")", ")", "!=", "0", ")", "return", "false", ";", "if", "(", "isSigned", "&&", "Offset", "<", "0", ")", "Offset", "=", "-", "Offset", ";", "unsigned", "Mask", "=", "(", "1", "<<", "NumBits", ")", "-", "1", ";", "if", "(", "(", "unsigned", ")", "Offset", "<=", "Mask", "*", "Scale", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Determine", "whether", "a", "given", "base", "register", "plus", "offset", "immediate", "is", "encodable", "to", "resolve", "a", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARMII::AddrModeMask", "0", "1", "\"Instr doesn't have FrameIndex operand!\"", "ARMII::AddrMode4", "ARMII::AddrMode6", "0", "0", "1", "ARMII::AddrModeT2_i8", "ARMII::AddrModeT2_i12", "1", "0", "8", "12", "ARMII::AddrMode5", "8", "4", "ARMII::AddrMode_i12", "ARMII::AddrMode2", "12", "ARMII::AddrMode3", "8", "ARMII::AddrModeT1_s", "ARM::SP", "8", "5", "4", "\"Unsupported addressing mode!\"", "1", "0", "0", "1", "1"], "File": "ARMBaseRegisterInfo", "Func": "isFrameOffsetLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10267, "Length": 306} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "isInlineAsmReadOnlyReg", "(", "const", "MachineFunction", "&", "MF", ",", "unsigned", "PhysReg", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "markSuperRegs", "(", "Reserved", ",", "ARM", "::", "PC", ")", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "STI", ".", "getFramePointerReg", "(", ")", ")", ";", "if", "(", "hasBasePointer", "(", "MF", ")", ")", "markSuperRegs", "(", "Reserved", ",", "BasePtr", ")", ";", "assert", "(", "checkAllSuperRegsMarked", "(", "Reserved", ")", ")", ";", "return", "Reserved", ".", "test", "(", "PhysReg", ")", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "PhysReg", "can", "not", "be", "written", "to", "in", "inline", "asm", "statements", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::PC"], "File": "ARMBaseRegisterInfo", "Func": "isInlineAsmReadOnlyReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10268, "Length": 107} {"ground_truth": ["", "Register", "ARMBaseRegisterInfo", "::", "materializeFrameBaseRegister", "(", "MachineBasicBlock", "*", "MBB", ",", "int", "FrameIdx", ",", "int64_t", "Offset", ")", "const", "{", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "ADDriOpc", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "ADDri", ":", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "?", "ARM", "::", "tADDframe", ":", "ARM", "::", "t2ADDri", ")", ";", "MachineBasicBlock", "::", "iterator", "Ins", "=", "MBB", "->", "begin", "(", ")", ";", "DebugLoc", "DL", ";", "if", "(", "Ins", "!=", "MBB", "->", "end", "(", ")", ")", "DL", "=", "Ins", "->", "getDebugLoc", "(", ")", ";", "const", "MachineFunction", "&", "MF", "=", "*", "MBB", "->", "getParent", "(", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MBB", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "TII", ".", "get", "(", "ADDriOpc", ")", ";", "Register", "BaseReg", "=", "MRI", ".", "createVirtualRegister", "(", "&", "ARM", "::", "GPRRegClass", ")", ";", "MRI", ".", "constrainRegClass", "(", "BaseReg", ",", "TII", ".", "getRegClass", "(", "MCID", ",", "0", ",", "this", ",", "MF", ")", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "*", "MBB", ",", "Ins", ",", "DL", ",", "MCID", ",", "BaseReg", ")", ".", "addFrameIndex", "(", "FrameIdx", ")", ".", "addImm", "(", "Offset", ")", ";", "if", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "MIB", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ".", "add", "(", "condCodeOp", "(", ")", ")", ";", "return", "BaseReg", ";", "}", ""], "natrual_language": ["Insert", "defining", "instruction", "(", "s", ")", "for", "a", "pointer", "to", "FrameIdx", "before", "insertion", "point", "I", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::ADDri", "ARM::tADDframe", "ARM::t2ADDri", "ARM::GPRRegClass", "0", "ARMCC::AL"], "File": "ARMBaseRegisterInfo", "Func": "materializeFrameBaseRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10269, "Length": 242} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "needsFrameBaseReg", "(", "MachineInstr", "*", "MI", ",", "int64_t", "Offset", ")", "const", "{", "for", "(", "unsigned", "i", "=", "0", ";", "!", "MI", "->", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ";", "++", "i", ")", "{", "assert", "(", "i", "<", "MI", "->", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "case", "ARM", "::", "LDRi12", ":", "case", "ARM", "::", "LDRH", ":", "case", "ARM", "::", "LDRBi12", ":", "case", "ARM", "::", "STRi12", ":", "case", "ARM", "::", "STRH", ":", "case", "ARM", "::", "STRBi12", ":", "case", "ARM", "::", "t2LDRi12", ":", "case", "ARM", "::", "t2LDRi8", ":", "case", "ARM", "::", "t2STRi12", ":", "case", "ARM", "::", "t2STRi8", ":", "case", "ARM", "::", "VLDRS", ":", "case", "ARM", "::", "VLDRD", ":", "case", "ARM", "::", "VSTRS", ":", "case", "ARM", "::", "VSTRD", ":", "case", "ARM", "::", "tSTRspi", ":", "case", "ARM", "::", "tLDRspi", ":", "break", ";", "default", ":", "return", "false", ";", "}", "MachineFunction", "&", "MF", "=", "*", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "ARMFrameLowering", "*", "TFI", "=", "getFrameLowering", "(", "MF", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int64_t", "FPOffset", "=", "Offset", "-", "8", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "FPOffset", "-=", "80", ";", "Offset", "+=", "MFI", ".", "getLocalFrameSize", "(", ")", ";", "Offset", "+=", "128", ";", "if", "(", "TFI", "->", "hasFP", "(", "MF", ")", "&&", "!", "(", "(", "MFI", ".", "getLocalFrameMaxAlign", "(", ")", ">", "TFI", "->", "getStackAlign", "(", ")", ")", "&&", "canRealignStack", "(", "MF", ")", ")", ")", "{", "if", "(", "isFrameOffsetLegal", "(", "MI", ",", "getFrameRegister", "(", "MF", ")", ",", "FPOffset", ")", ")", "return", "false", ";", "}", "if", "(", "!", "MFI", ".", "hasVarSizedObjects", "(", ")", "&&", "isFrameOffsetLegal", "(", "MI", ",", "ARM", "::", "SP", ",", "Offset", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "'s", "frame", "index", "reference", "would", "be", "better", "served", "by", "a", "base", "register", "other", "than", "FP", "or", "SP", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "ARM::LDRi12", "ARM::LDRH", "ARM::LDRBi12", "ARM::STRi12", "ARM::STRH", "ARM::STRBi12", "ARM::t2LDRi12", "ARM::t2LDRi8", "ARM::t2STRi12", "ARM::t2STRi8", "ARM::VLDRS", "ARM::VLDRD", "ARM::VSTRS", "ARM::VSTRD", "ARM::tSTRspi", "ARM::tLDRspi", "ARM", "ARM", "ARM", "8", "80", "128", "ARM::SP"], "File": "ARMBaseRegisterInfo", "Func": "needsFrameBaseReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10270, "Length": 317} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "requiresFrameIndexScavenging", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "requires", "post", "PEI", "scavenging", "of", "registers", "for", "materializing", "frame", "index", "constants", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo", "Func": "requiresFrameIndexScavenging", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10271, "Length": 16} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "requiresRegisterScavenging", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "requires", "(", "and", "can", "make", "use", "of", ")", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo", "Func": "requiresRegisterScavenging", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10272, "Length": 16} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "requiresVirtualBaseRegisters", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "wants", "the", "LocalStackAllocation", "pass", "to", "be", "run", "and", "virtual", "base", "registers", "used", "for", "more", "efficient", "stack", "access", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBaseRegisterInfo", "Func": "requiresVirtualBaseRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10273, "Length": 16} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "resolveFrameIndex", "(", "MachineInstr", "&", "MI", ",", "Register", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MI", ".", "getParent", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This resolveFrameIndex does not support Thumb1!\"", ")", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "false", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "Done", "=", "rewriteARMFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "else", "{", "assert", "(", "AFI", "->", "isThumb2Function", "(", ")", ")", ";", "Done", "=", "rewriteT2FrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ",", "this", ")", ";", "}", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "0", "\"This resolveFrameIndex does not support Thumb1!\"", "\"Instr doesn't have FrameIndex operand!\"", "ARM", "\"Unable to resolve frame index!\""], "File": "ARMBaseRegisterInfo", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10274, "Length": 201} {"ground_truth": ["", "bool", "ARMBaseRegisterInfo", "::", "shouldCoalesce", "(", "MachineInstr", "*", "MI", ",", "const", "TargetRegisterClass", "*", "SrcRC", ",", "unsigned", "SubReg", ",", "const", "TargetRegisterClass", "*", "DstRC", ",", "unsigned", "DstSubReg", ",", "const", "TargetRegisterClass", "*", "NewRC", ",", "LiveIntervals", "&", "LIS", ")", "const", "{", "auto", "MBB", "=", "MI", "->", "getParent", "(", ")", ";", "auto", "MF", "=", "MBB", "->", "getParent", "(", ")", ";", "const", "MachineRegisterInfo", "&", "MRI", "=", "MF", "->", "getRegInfo", "(", ")", ";", "if", "(", "!", "DstSubReg", ")", "return", "true", ";", "if", "(", "getRegSizeInBits", "(", "*", "NewRC", ")", "<", "256", "&&", "getRegSizeInBits", "(", "*", "DstRC", ")", "<", "256", "&&", "getRegSizeInBits", "(", "*", "SrcRC", ")", "<", "256", ")", "return", "true", ";", "auto", "NewRCWeight", "=", "MRI", ".", "getTargetRegisterInfo", "(", ")", "->", "getRegClassWeight", "(", "NewRC", ")", ";", "auto", "SrcRCWeight", "=", "MRI", ".", "getTargetRegisterInfo", "(", ")", "->", "getRegClassWeight", "(", "SrcRC", ")", ";", "auto", "DstRCWeight", "=", "MRI", ".", "getTargetRegisterInfo", "(", ")", "->", "getRegClassWeight", "(", "DstRC", ")", ";", "if", "(", "SrcRCWeight", ".", "RegWeight", ">", "NewRCWeight", ".", "RegWeight", ")", "return", "true", ";", "if", "(", "DstRCWeight", ".", "RegWeight", ">", "NewRCWeight", ".", "RegWeight", ")", "return", "true", ";", "auto", "AFI", "=", "MF", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "auto", "It", "=", "AFI", "->", "getCoalescedWeight", "(", "MBB", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"\\tARM::shouldCoalesce - Coalesced Weight: \"", "<<", "It", "->", "second", "<<", "\"\\n\"", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"\\tARM::shouldCoalesce - Reg Weight: \"", "<<", "NewRCWeight", ".", "RegWeight", "<<", "\"\\n\"", ")", ";", "unsigned", "SizeMultiplier", "=", "MBB", "->", "size", "(", ")", "/", "100", ";", "SizeMultiplier", "=", "SizeMultiplier", "?", "SizeMultiplier", ":", "1", ";", "if", "(", "It", "->", "second", "<", "NewRCWeight", ".", "WeightLimit", "*", "SizeMultiplier", ")", "{", "It", "->", "second", "+=", "NewRCWeight", ".", "RegWeight", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Subtarget", "Hooks", "."], "TS_V_token": ["ARM", "ARM", "256", "256", "256", "ARM", "\"\\tARM::shouldCoalesce - Coalesced Weight: \"", "\"\\n\"", "\"\\tARM::shouldCoalesce - Reg Weight: \"", "\"\\n\"", "100", "1"], "File": "ARMBaseRegisterInfo", "Func": "shouldCoalesce", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10275, "Length": 270} {"ground_truth": ["", "void", "ARMBaseRegisterInfo", "::", "updateRegAllocHint", "(", "Register", "Reg", ",", "Register", "NewReg", ",", "MachineFunction", "&", "MF", ")", "const", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "std", "::", "pair", "<", "Register", ",", "Register", ">", "Hint", "=", "MRI", "->", "getRegAllocationHint", "(", "Reg", ")", ";", "if", "(", "(", "Hint", ".", "first", "==", "ARMRI", "::", "RegPairOdd", "||", "Hint", ".", "first", "==", "ARMRI", "::", "RegPairEven", ")", "&&", "Hint", ".", "second", ".", "isVirtual", "(", ")", ")", "{", "Register", "OtherReg", "=", "Hint", ".", "second", ";", "Hint", "=", "MRI", "->", "getRegAllocationHint", "(", "OtherReg", ")", ";", "if", "(", "Hint", ".", "second", "==", "Reg", ")", "{", "MRI", "->", "setRegAllocationHint", "(", "OtherReg", ",", "Hint", ".", "first", ",", "NewReg", ")", ";", "if", "(", "Register", "::", "isVirtualRegister", "(", "NewReg", ")", ")", "MRI", "->", "setRegAllocationHint", "(", "NewReg", ",", "Hint", ".", "first", "==", "ARMRI", "::", "RegPairOdd", "?", "ARMRI", "::", "RegPairEven", ":", "ARMRI", "::", "RegPairOdd", ",", "OtherReg", ")", ";", "}", "}", "}", ""], "natrual_language": ["A", "callback", "to", "allow", "target", "a", "chance", "to", "update", "register", "allocation", "hints", "when", "a", "register", "is", "``", "changed", "''", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARMRI::RegPairOdd", "ARMRI::RegPairEven", "ARMRI::RegPairOdd", "ARMRI::RegPairEven", "ARMRI::RegPairOdd"], "File": "ARMBaseRegisterInfo", "Func": "updateRegAllocHint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10276, "Length": 149} {"ground_truth": ["", "void", "clear", "(", ")", "{", "BBInfo", ".", "clear", "(", ")", ";", "}", ""], "natrual_language": ["Clear", "all", "timers", "in", "this", "group", "."], "TS_V_token": ["ARM"], "File": "ARMBasicBlockInfo10", "Func": "clear", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10277, "Length": 12} {"ground_truth": ["", "unsigned", "getOffsetOf", "(", "MachineBasicBlock", "*", "MBB", ")", "const", "{", "return", "BBInfo", "[", "MBB", "->", "getNumber", "(", ")", "]", ".", "Offset", ";", "}", ""], "natrual_language": ["getOffsetOf", "-", "Return", "the", "current", "offset", "of", "the", "specified", "machine", "instruction", "from", "the", "start", "of", "the", "function", "."], "TS_V_token": ["ARM"], "File": "ARMBasicBlockInfo10", "Func": "getOffsetOf", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10278, "Length": 22} {"ground_truth": ["", "void", "insert", "(", "unsigned", "BBNum", ",", "BasicBlockInfo", "BBI", ")", "{", "BBInfo", ".", "insert", "(", "BBInfo", ".", "begin", "(", ")", "+", "BBNum", ",", "BBI", ")", ";", "}", ""], "natrual_language": ["insert", "-", "Append", "entry", "to", "the", "vector", "if", "it", "does", "n't", "already", "exist", "."], "TS_V_token": ["ARM"], "File": "ARMBasicBlockInfo10", "Func": "insert", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10279, "Length": 26} {"ground_truth": ["", "unsigned", "postKnownBits", "(", "Align", "Align", "=", "Align", "::", "None", "(", ")", ")", "const", "{", "return", "std", "::", "max", "(", "Log2", "(", "std", "::", "max", "(", "PostAlign", ",", "Align", ")", ")", ",", "internalKnownBits", "(", ")", ")", ";", "}", ""], "natrual_language": ["Compute", "the", "number", "of", "known", "low", "bits", "of", "postOffset", "."], "TS_V_token": ["ARM"], "File": "ARMBasicBlockInfo11", "Func": "postKnownBits", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10280, "Length": 37} {"ground_truth": ["", "unsigned", "postOffset", "(", "Align", "Alignment", "=", "Align", "::", "None", "(", ")", ")", "const", "{", "unsigned", "PO", "=", "Offset", "+", "Size", ";", "const", "Align", "PA", "=", "std", "::", "max", "(", "PostAlign", ",", "Alignment", ")", ";", "if", "(", "PA", "==", "Align", "::", "None", "(", ")", ")", "return", "PO", ";", "return", "PO", "+", "UnknownPadding", "(", "PA", ",", "internalKnownBits", "(", ")", ")", ";", "}", ""], "natrual_language": ["Compute", "the", "offset", "immediately", "following", "this", "block", "."], "TS_V_token": ["ARM"], "File": "ARMBasicBlockInfo11", "Func": "postOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10281, "Length": 60} {"ground_truth": ["", "unsigned", "postKnownBits", "(", "Align", "Align", "=", "llvm", "::", "Align", "(", "1", ")", ")", "const", "{", "return", "std", "::", "max", "(", "Log2", "(", "std", "::", "max", "(", "PostAlign", ",", "Align", ")", ")", ",", "internalKnownBits", "(", ")", ")", ";", "}", ""], "natrual_language": ["Compute", "the", "number", "of", "known", "low", "bits", "of", "postOffset", "."], "TS_V_token": ["ARM", "1"], "File": "ARMBasicBlockInfo3", "Func": "postKnownBits", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10282, "Length": 38} {"ground_truth": ["", "unsigned", "postOffset", "(", "Align", "Alignment", "=", "Align", "(", "1", ")", ")", "const", "{", "unsigned", "PO", "=", "Offset", "+", "Size", ";", "const", "Align", "PA", "=", "std", "::", "max", "(", "PostAlign", ",", "Alignment", ")", ";", "if", "(", "PA", "==", "Align", "(", "1", ")", ")", "return", "PO", ";", "return", "PO", "+", "UnknownPadding", "(", "PA", ",", "internalKnownBits", "(", ")", ")", ";", "}", ""], "natrual_language": ["Compute", "the", "offset", "immediately", "following", "this", "block", "."], "TS_V_token": ["ARM", "1", "1"], "File": "ARMBasicBlockInfo3", "Func": "postOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10283, "Length": 58} {"ground_truth": ["", "unsigned", "ARMBasicBlockUtils", "::", "getOffsetOf", "(", "MachineInstr", "*", "MI", ")", "const", "{", "const", "MachineBasicBlock", "*", "MBB", "=", "MI", "->", "getParent", "(", ")", ";", "unsigned", "Offset", "=", "BBInfo", "[", "MBB", "->", "getNumber", "(", ")", "]", ".", "Offset", ";", "for", "(", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MBB", "->", "begin", "(", ")", ";", "&", "*", "I", "!=", "MI", ";", "++", "I", ")", "{", "assert", "(", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "\"Didn't find MI in its own basic block?\"", ")", ";", "Offset", "+=", "TII", "->", "getInstSizeInBytes", "(", "*", "I", ")", ";", "}", "return", "Offset", ";", "}", ""], "natrual_language": ["getOffsetOf", "-", "Return", "the", "current", "offset", "of", "the", "specified", "machine", "instruction", "from", "the", "start", "of", "the", "function", "."], "TS_V_token": ["ARM", "ARM", "\"Didn't find MI in its own basic block?\""], "File": "ARMBasicBlockInfo", "Func": "getOffsetOf", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10284, "Length": 87} {"ground_truth": ["", "unsigned", "internalKnownBits", "(", ")", "const", "{", "unsigned", "Bits", "=", "Unalign", "?", "Unalign", ":", "KnownBits", ";", "if", "(", "Size", "&", "(", "(", "1u", "<<", "Bits", ")", "-", "1", ")", ")", "Bits", "=", "countTrailingZeros", "(", "Size", ")", ";", "return", "Bits", ";", "}", ""], "natrual_language": ["Compute", "the", "number", "of", "known", "offset", "bits", "internally", "to", "this", "block", "."], "TS_V_token": ["ARM", "1u", "1"], "File": "ARMBasicBlockInfo", "Func": "internalKnownBits", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10285, "Length": 40} {"ground_truth": ["", "bool", "ARMBasicBlockUtils", "::", "isBBInRange", "(", "MachineInstr", "*", "MI", ",", "MachineBasicBlock", "*", "DestBB", ",", "unsigned", "MaxDisp", ")", "const", "{", "unsigned", "PCAdj", "=", "isThumb", "?", "4", ":", "8", ";", "unsigned", "BrOffset", "=", "getOffsetOf", "(", "MI", ")", "+", "PCAdj", ";", "unsigned", "DestOffset", "=", "BBInfo", "[", "DestBB", "->", "getNumber", "(", ")", "]", ".", "Offset", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Branch of destination \"", "<<", "printMBBReference", "(", "*", "DestBB", ")", "<<", "\" from \"", "<<", "printMBBReference", "(", "*", "MI", "->", "getParent", "(", ")", ")", "<<", "\" max delta=\"", "<<", "MaxDisp", "<<", "\" from \"", "<<", "getOffsetOf", "(", "MI", ")", "<<", "\" to \"", "<<", "DestOffset", "<<", "\" offset \"", "<<", "int", "(", "DestOffset", "-", "BrOffset", ")", "<<", "\"\\t\"", "<<", "*", "MI", ")", ";", "if", "(", "BrOffset", "<=", "DestOffset", ")", "{", "if", "(", "DestOffset", "-", "BrOffset", "<=", "MaxDisp", ")", "return", "true", ";", "}", "else", "{", "if", "(", "BrOffset", "-", "DestOffset", "<=", "MaxDisp", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["isBBInRange", "-", "Returns", "true", "if", "the", "distance", "between", "specific", "MI", "and", "specific", "BB", "can", "fit", "in", "MI", "'s", "displacement", "field", "."], "TS_V_token": ["ARM", "ARM", "4", "8", "\"Branch of destination \"", "\" from \"", "\" max delta=\"", "\" from \"", "\" to \"", "\" offset \"", "\"\\t\""], "File": "ARMBasicBlockInfo", "Func": "isBBInRange", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10286, "Length": 144} {"ground_truth": ["", "unsigned", "postKnownBits", "(", "unsigned", "LogAlign", "=", "0", ")", "const", "{", "return", "std", "::", "max", "(", "std", "::", "max", "(", "unsigned", "(", "PostAlign", ")", ",", "LogAlign", ")", ",", "internalKnownBits", "(", ")", ")", ";", "}", ""], "natrual_language": ["Compute", "the", "number", "of", "known", "low", "bits", "of", "postOffset", "."], "TS_V_token": ["ARM", "0"], "File": "ARMBasicBlockInfo", "Func": "postKnownBits", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10287, "Length": 33} {"ground_truth": ["", "unsigned", "postOffset", "(", "unsigned", "LogAlign", "=", "0", ")", "const", "{", "unsigned", "PO", "=", "Offset", "+", "Size", ";", "unsigned", "LA", "=", "std", "::", "max", "(", "unsigned", "(", "PostAlign", ")", ",", "LogAlign", ")", ";", "if", "(", "!", "LA", ")", "return", "PO", ";", "return", "PO", "+", "UnknownPadding", "(", "LA", ",", "internalKnownBits", "(", ")", ")", ";", "}", ""], "natrual_language": ["Compute", "the", "offset", "immediately", "following", "this", "block", "."], "TS_V_token": ["ARM", "0"], "File": "ARMBasicBlockInfo", "Func": "postOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10288, "Length": 53} {"ground_truth": ["", "bool", "ARMBlockPlacement", "::", "fixBackwardsWLS", "(", "MachineLoop", "*", "ML", ")", "{", "MachineInstr", "*", "WlsInstr", "=", "findWLS", "(", "ML", ")", ";", "if", "(", "!", "WlsInstr", ")", "return", "false", ";", "MachineBasicBlock", "*", "Predecessor", "=", "WlsInstr", "->", "getParent", "(", ")", ";", "MachineBasicBlock", "*", "LoopExit", "=", "getWhileLoopStartTargetBB", "(", "*", "WlsInstr", ")", ";", "if", "(", "!", "LoopExit", "->", "getPrevNode", "(", ")", ")", "return", "false", ";", "if", "(", "blockIsBefore", "(", "Predecessor", ",", "LoopExit", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Found a backwards WLS from \"", "<<", "Predecessor", "->", "getFullName", "(", ")", "<<", "\" to \"", "<<", "LoopExit", "->", "getFullName", "(", ")", "<<", "\"\\n\"", ")", ";", "for", "(", "auto", "It", "=", "++", "LoopExit", "->", "getIterator", "(", ")", ";", "It", "!=", "Predecessor", "->", "getIterator", "(", ")", ";", "++", "It", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "&", "*", "It", ";", "for", "(", "auto", "&", "Terminator", ":", "MBB", "->", "terminators", "(", ")", ")", "{", "if", "(", "!", "isWhileLoopStart", "(", "Terminator", ")", ")", "continue", ";", "MachineBasicBlock", "*", "WLSTarget", "=", "getWhileLoopStartTargetBB", "(", "Terminator", ")", ";", "if", "(", "WLSTarget", "==", "Predecessor", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Can't move Predecessor block as \"", "<<", "\"it would convert a WLS from forward to a \"", "<<", "\"backwards branching WLS\\n\"", ")", ";", "RevertedWhileLoops", ".", "push_back", "(", "WlsInstr", ")", ";", "return", "false", ";", "}", "}", "}", "moveBasicBlock", "(", "Predecessor", ",", "LoopExit", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Checks", "if", "loop", "has", "a", "backwards", "branching", "WLS", ",", "and", "if", "possible", ",", "fixes", "it", "."], "TS_V_token": ["ARM", "ARM", "\"Found a backwards WLS from \"", "\" to \"", "\"\\n\"", "\"Can't move Predecessor block as \"", "\"it would convert a WLS from forward to a \"", "\"backwards branching WLS\\n\""], "File": "ARMBlockPlacement (2)", "Func": "fixBackwardsWLS", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10289, "Length": 208} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "addRequired", "<", "MachineLoopInfo", ">", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMBlockPlacement (2)", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10290, "Length": 27} {"ground_truth": ["", "bool", "ARMBlockPlacement", "::", "processPostOrderLoops", "(", "MachineLoop", "*", "ML", ")", "{", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "*", "InnerML", ":", "*", "ML", ")", "Changed", "|=", "processPostOrderLoops", "(", "InnerML", ")", ";", "return", "Changed", "|", "fixBackwardsWLS", "(", "ML", ")", ";", "}", ""], "natrual_language": ["Updates", "ordering", "(", "of", "WLS", "BB", "and", "their", "loopExits", ")", "in", "inner", "loops", "first", "Returns", "true", "if", "any", "change", "was", "made", "in", "any", "of", "the", "loops", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBlockPlacement (2)", "Func": "processPostOrderLoops", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10291, "Length": 40} {"ground_truth": ["", "bool", "ARMBlockPlacement", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "skipFunction", "(", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "ST", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "ST", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Running on \"", "<<", "MF", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "MLI", "=", "&", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "ST", ".", "getInstrInfo", "(", ")", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "MF", ")", ")", ";", "MF", ".", "RenumberBlocks", "(", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "BBUtils", "->", "adjustBBOffsetsAfter", "(", "&", "MF", ".", "front", "(", ")", ")", ";", "bool", "Changed", "=", "false", ";", "RevertedWhileLoops", ".", "clear", "(", ")", ";", "for", "(", "auto", "*", "ML", ":", "*", "MLI", ")", "Changed", "|=", "processPostOrderLoops", "(", "ML", ")", ";", "for", "(", "auto", "*", "WlsInstr", ":", "RevertedWhileLoops", ")", "Changed", "|=", "revertWhileToDoLoop", "(", "WlsInstr", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"Running on \"", "\"\\n\"", "ARM", "ARM", "ARM"], "File": "ARMBlockPlacement (2)", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10292, "Length": 181} {"ground_truth": ["", "bool", "ARMBlockPlacement", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "skipFunction", "(", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "ST", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "ST", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Running on \"", "<<", "MF", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "MLI", "=", "&", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "ST", ".", "getInstrInfo", "(", ")", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "MF", ")", ")", ";", "MF", ".", "RenumberBlocks", "(", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "BBUtils", "->", "adjustBBOffsetsAfter", "(", "&", "MF", ".", "front", "(", ")", ")", ";", "bool", "Changed", "=", "false", ";", "RevertedWhileLoops", ".", "clear", "(", ")", ";", "for", "(", "auto", "*", "ML", ":", "*", "MLI", ")", "Changed", "|=", "processPostOrderLoops", "(", "ML", ")", ";", "for", "(", "auto", "*", "WlsInstr", ":", "RevertedWhileLoops", ")", "Changed", "|=", "revertWhileToDoLoop", "(", "WlsInstr", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"Running on \"", "\"\\n\"", "ARM", "ARM", "ARM"], "File": "ARMBlockPlacement1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10293, "Length": 186} {"ground_truth": ["", "bool", "ARMBlockPlacement", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "skipFunction", "(", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "ST", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "ST", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Running on \"", "<<", "MF", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "MLI", "=", "&", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "ST", ".", "getInstrInfo", "(", ")", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "MF", ")", ")", ";", "MF", ".", "RenumberBlocks", "(", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "BBUtils", "->", "adjustBBOffsetsAfter", "(", "&", "MF", ".", "front", "(", ")", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "*", "ML", ":", "*", "MLI", ")", "{", "MachineBasicBlock", "*", "Preheader", "=", "ML", "->", "getLoopPredecessor", "(", ")", ";", "if", "(", "!", "Preheader", ")", "continue", ";", "for", "(", "auto", "&", "Terminator", ":", "Preheader", "->", "terminators", "(", ")", ")", "{", "if", "(", "Terminator", ".", "getOpcode", "(", ")", "!=", "ARM", "::", "t2WhileLoopStart", ")", "continue", ";", "MachineBasicBlock", "*", "LoopExit", "=", "Terminator", ".", "getOperand", "(", "1", ")", ".", "getMBB", "(", ")", ";", "if", "(", "!", "LoopExit", "->", "getPrevNode", "(", ")", ")", "continue", ";", "if", "(", "blockIsBefore", "(", "Preheader", ",", "LoopExit", ")", ")", "continue", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Found a backwards WLS from \"", "<<", "Preheader", "->", "getFullName", "(", ")", "<<", "\" to \"", "<<", "LoopExit", "->", "getFullName", "(", ")", "<<", "\"\\n\"", ")", ";", "bool", "CanMove", "=", "true", ";", "for", "(", "auto", "&", "LoopExitTerminator", ":", "LoopExit", "->", "terminators", "(", ")", ")", "{", "if", "(", "LoopExitTerminator", ".", "getOpcode", "(", ")", "!=", "ARM", "::", "t2WhileLoopStart", ")", "continue", ";", "MachineBasicBlock", "*", "LoopExit2", "=", "LoopExitTerminator", ".", "getOperand", "(", "1", ")", ".", "getMBB", "(", ")", ";", "if", "(", "!", "blockIsBefore", "(", "LoopExit2", ",", "LoopExit", ")", "&&", "(", "LoopExit2", "==", "Preheader", "||", "blockIsBefore", "(", "LoopExit2", ",", "Preheader", ")", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Can't move the target block as it would \"", "\"introduce a new backwards WLS branch\\n\"", ")", ";", "CanMove", "=", "false", ";", "break", ";", "}", "}", "if", "(", "CanMove", ")", "{", "for", "(", "auto", "It", "=", "LoopExit", "->", "getIterator", "(", ")", ";", "It", "!=", "Preheader", "->", "getIterator", "(", ")", ";", "It", "++", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "&", "*", "It", ";", "for", "(", "auto", "&", "Terminator", ":", "MBB", "->", "terminators", "(", ")", ")", "{", "if", "(", "Terminator", ".", "getOpcode", "(", ")", "!=", "ARM", "::", "t2LoopEnd", "&&", "Terminator", ".", "getOpcode", "(", ")", "!=", "ARM", "::", "t2LoopEndDec", ")", "continue", ";", "MachineBasicBlock", "*", "LETarget", "=", "Terminator", ".", "getOperand", "(", "2", ")", ".", "getMBB", "(", ")", ";", "if", "(", "LETarget", "==", "LoopExit", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Can't move the target block as it would \"", "\"introduce a new forwards LE branch\\n\"", ")", ";", "CanMove", "=", "false", ";", "break", ";", "}", "}", "}", "if", "(", "!", "CanMove", ")", "break", ";", "}", "if", "(", "CanMove", ")", "{", "moveBasicBlock", "(", "LoopExit", ",", "Preheader", ")", ";", "Changed", "=", "true", ";", "break", ";", "}", "}", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"Running on \"", "\"\\n\"", "ARM", "ARM", "ARM", "ARM::t2WhileLoopStart", "1", "\"Found a backwards WLS from \"", "\" to \"", "\"\\n\"", "ARM::t2WhileLoopStart", "1", "\"Can't move the target block as it would \"", "\"introduce a new backwards WLS branch\\n\"", "ARM::t2LoopEnd", "ARM::t2LoopEndDec", "2", "\"Can't move the target block as it would \"", "\"introduce a new forwards LE branch\\n\""], "File": "ARMBlockPlacement3", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10294, "Length": 503} {"ground_truth": ["", "bool", "ARMBlockPlacement", "::", "fixBackwardsWLS", "(", "MachineLoop", "*", "ML", ")", "{", "MachineInstr", "*", "WlsInstr", "=", "findWLS", "(", "ML", ")", ";", "if", "(", "!", "WlsInstr", ")", "return", "false", ";", "MachineBasicBlock", "*", "Predecessor", "=", "WlsInstr", "->", "getParent", "(", ")", ";", "MachineBasicBlock", "*", "LoopExit", "=", "WlsInstr", "->", "getOperand", "(", "2", ")", ".", "getMBB", "(", ")", ";", "if", "(", "!", "LoopExit", "->", "getPrevNode", "(", ")", ")", "return", "false", ";", "if", "(", "blockIsBefore", "(", "Predecessor", ",", "LoopExit", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Found a backwards WLS from \"", "<<", "Predecessor", "->", "getFullName", "(", ")", "<<", "\" to \"", "<<", "LoopExit", "->", "getFullName", "(", ")", "<<", "\"\\n\"", ")", ";", "for", "(", "auto", "It", "=", "++", "LoopExit", "->", "getIterator", "(", ")", ";", "It", "!=", "Predecessor", "->", "getIterator", "(", ")", ";", "++", "It", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "&", "*", "It", ";", "for", "(", "auto", "&", "Terminator", ":", "MBB", "->", "terminators", "(", ")", ")", "{", "if", "(", "Terminator", ".", "getOpcode", "(", ")", "!=", "ARM", "::", "t2WhileLoopStartLR", ")", "continue", ";", "MachineBasicBlock", "*", "WLSTarget", "=", "Terminator", ".", "getOperand", "(", "2", ")", ".", "getMBB", "(", ")", ";", "if", "(", "WLSTarget", "==", "Predecessor", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Can't move Predecessor\"", "\"block as it would convert a WLS from forward to a \"", "\"backwards branching WLS\\n\"", ")", ";", "return", "false", ";", "}", "}", "}", "moveBasicBlock", "(", "Predecessor", ",", "LoopExit", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Checks", "if", "loop", "has", "a", "backwards", "branching", "WLS", ",", "and", "if", "possible", ",", "fixes", "it", "."], "TS_V_token": ["ARM", "ARM", "2", "\"Found a backwards WLS from \"", "\" to \"", "\"\\n\"", "ARM::t2WhileLoopStartLR", "2", "\"Can't move Predecessor\"", "\"block as it would convert a WLS from forward to a \"", "\"backwards branching WLS\\n\""], "File": "ARMBlockPlacement6", "Func": "fixBackwardsWLS", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10295, "Length": 214} {"ground_truth": ["", "bool", "ARMBlockPlacement", "::", "fixBackwardsWLS", "(", "MachineLoop", "*", "ML", ")", "{", "MachineInstr", "*", "WlsInstr", "=", "findWLS", "(", "ML", ")", ";", "if", "(", "!", "WlsInstr", ")", "return", "false", ";", "MachineBasicBlock", "*", "Predecessor", "=", "WlsInstr", "->", "getParent", "(", ")", ";", "MachineBasicBlock", "*", "LoopExit", "=", "getWhileLoopStartTargetBB", "(", "*", "WlsInstr", ")", ";", "if", "(", "!", "LoopExit", "->", "getPrevNode", "(", ")", ")", "return", "false", ";", "if", "(", "blockIsBefore", "(", "Predecessor", ",", "LoopExit", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Found a backwards WLS from \"", "<<", "Predecessor", "->", "getFullName", "(", ")", "<<", "\" to \"", "<<", "LoopExit", "->", "getFullName", "(", ")", "<<", "\"\\n\"", ")", ";", "for", "(", "auto", "It", "=", "++", "LoopExit", "->", "getIterator", "(", ")", ";", "It", "!=", "Predecessor", "->", "getIterator", "(", ")", ";", "++", "It", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "&", "*", "It", ";", "for", "(", "auto", "&", "Terminator", ":", "MBB", "->", "terminators", "(", ")", ")", "{", "if", "(", "!", "isWhileLoopStart", "(", "Terminator", ")", ")", "continue", ";", "MachineBasicBlock", "*", "WLSTarget", "=", "getWhileLoopStartTargetBB", "(", "Terminator", ")", ";", "if", "(", "WLSTarget", "==", "Predecessor", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Can't move Predecessor\"", "\"block as it would convert a WLS from forward to a \"", "\"backwards branching WLS\\n\"", ")", ";", "return", "revertWhileToDo", "(", "WlsInstr", ",", "ML", ")", ";", "}", "}", "}", "moveBasicBlock", "(", "Predecessor", ",", "LoopExit", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Checks", "if", "loop", "has", "a", "backwards", "branching", "WLS", ",", "and", "if", "possible", ",", "fixes", "it", "."], "TS_V_token": ["ARM", "ARM", "\"Found a backwards WLS from \"", "\" to \"", "\"\\n\"", "\"Can't move Predecessor\"", "\"block as it would convert a WLS from forward to a \"", "\"backwards branching WLS\\n\""], "File": "ARMBlockPlacement7", "Func": "fixBackwardsWLS", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10296, "Length": 204} {"ground_truth": ["", "bool", "ARMBlockPlacement", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "skipFunction", "(", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "ST", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "ST", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Running on \"", "<<", "MF", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "MLI", "=", "&", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "ST", ".", "getInstrInfo", "(", ")", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "MF", ")", ")", ";", "MF", ".", "RenumberBlocks", "(", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "BBUtils", "->", "adjustBBOffsetsAfter", "(", "&", "MF", ".", "front", "(", ")", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "*", "ML", ":", "*", "MLI", ")", "{", "MachineBasicBlock", "*", "Preheader", "=", "ML", "->", "getLoopPredecessor", "(", ")", ";", "if", "(", "!", "Preheader", ")", "continue", ";", "for", "(", "auto", "&", "Terminator", ":", "Preheader", "->", "terminators", "(", ")", ")", "{", "if", "(", "Terminator", ".", "getOpcode", "(", ")", "!=", "ARM", "::", "t2WhileLoopStart", ")", "continue", ";", "MachineBasicBlock", "*", "LoopExit", "=", "Terminator", ".", "getOperand", "(", "1", ")", ".", "getMBB", "(", ")", ";", "if", "(", "!", "LoopExit", "->", "getPrevNode", "(", ")", ")", "continue", ";", "if", "(", "blockIsBefore", "(", "Preheader", ",", "LoopExit", ")", ")", "continue", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Found a backwards WLS from \"", "<<", "Preheader", "->", "getFullName", "(", ")", "<<", "\" to \"", "<<", "LoopExit", "->", "getFullName", "(", ")", "<<", "\"\\n\"", ")", ";", "bool", "CanMove", "=", "true", ";", "for", "(", "auto", "&", "LoopExitTerminator", ":", "LoopExit", "->", "terminators", "(", ")", ")", "{", "if", "(", "LoopExitTerminator", ".", "getOpcode", "(", ")", "!=", "ARM", "::", "t2WhileLoopStart", ")", "continue", ";", "MachineBasicBlock", "*", "LoopExit2", "=", "LoopExitTerminator", ".", "getOperand", "(", "1", ")", ".", "getMBB", "(", ")", ";", "if", "(", "!", "blockIsBefore", "(", "LoopExit2", ",", "LoopExit", ")", "&&", "(", "LoopExit2", "==", "Preheader", "||", "blockIsBefore", "(", "LoopExit2", ",", "Preheader", ")", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Can't move the target block as it would \"", "\"introduce a new backwards WLS branch\\n\"", ")", ";", "CanMove", "=", "false", ";", "break", ";", "}", "}", "if", "(", "CanMove", ")", "{", "for", "(", "auto", "It", "=", "LoopExit", "->", "getIterator", "(", ")", ";", "It", "!=", "Preheader", "->", "getIterator", "(", ")", ";", "It", "++", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "&", "*", "It", ";", "for", "(", "auto", "&", "Terminator", ":", "MBB", "->", "terminators", "(", ")", ")", "{", "if", "(", "Terminator", ".", "getOpcode", "(", ")", "!=", "ARM", "::", "t2LoopEndDec", ")", "continue", ";", "MachineBasicBlock", "*", "LETarget", "=", "Terminator", ".", "getOperand", "(", "2", ")", ".", "getMBB", "(", ")", ";", "if", "(", "LETarget", "==", "LoopExit", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Can't move the target block as it would \"", "\"introduce a new forwards LE branch\\n\"", ")", ";", "CanMove", "=", "false", ";", "break", ";", "}", "}", "}", "if", "(", "!", "CanMove", ")", "break", ";", "}", "if", "(", "CanMove", ")", "{", "moveBasicBlock", "(", "LoopExit", ",", "Preheader", ")", ";", "Changed", "=", "true", ";", "break", ";", "}", "}", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"Running on \"", "\"\\n\"", "ARM", "ARM", "ARM", "ARM::t2WhileLoopStart", "1", "\"Found a backwards WLS from \"", "\" to \"", "\"\\n\"", "ARM::t2WhileLoopStart", "1", "\"Can't move the target block as it would \"", "\"introduce a new backwards WLS branch\\n\"", "ARM::t2LoopEndDec", "2", "\"Can't move the target block as it would \"", "\"introduce a new forwards LE branch\\n\""], "File": "ARMBlockPlacement8", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10297, "Length": 493} {"ground_truth": ["", "bool", "ARMBlockPlacement", "::", "fixBackwardsWLS", "(", "MachineLoop", "*", "ML", ")", "{", "MachineInstr", "*", "WlsInstr", "=", "findWLS", "(", "ML", ")", ";", "if", "(", "!", "WlsInstr", ")", "return", "false", ";", "MachineBasicBlock", "*", "Predecessor", "=", "WlsInstr", "->", "getParent", "(", ")", ";", "MachineBasicBlock", "*", "LoopExit", "=", "getWhileLoopStartTargetBB", "(", "*", "WlsInstr", ")", ";", "if", "(", "!", "LoopExit", "->", "getPrevNode", "(", ")", ")", "return", "false", ";", "if", "(", "blockIsBefore", "(", "Predecessor", ",", "LoopExit", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Found a backwards WLS from \"", "<<", "Predecessor", "->", "getFullName", "(", ")", "<<", "\" to \"", "<<", "LoopExit", "->", "getFullName", "(", ")", "<<", "\"\\n\"", ")", ";", "for", "(", "auto", "It", "=", "++", "LoopExit", "->", "getIterator", "(", ")", ";", "It", "!=", "Predecessor", "->", "getIterator", "(", ")", ";", "++", "It", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "&", "*", "It", ";", "for", "(", "auto", "&", "Terminator", ":", "MBB", "->", "terminators", "(", ")", ")", "{", "if", "(", "!", "isWhileLoopStart", "(", "Terminator", ")", ")", "continue", ";", "MachineBasicBlock", "*", "WLSTarget", "=", "getWhileLoopStartTargetBB", "(", "Terminator", ")", ";", "if", "(", "WLSTarget", "==", "Predecessor", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Can't move Predecessor\"", "\"block as it would convert a WLS from forward to a \"", "\"backwards branching WLS\\n\"", ")", ";", "return", "false", ";", "}", "}", "}", "moveBasicBlock", "(", "Predecessor", ",", "LoopExit", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Checks", "if", "loop", "has", "a", "backwards", "branching", "WLS", ",", "and", "if", "possible", ",", "fixes", "it", "."], "TS_V_token": ["ARM", "ARM", "\"Found a backwards WLS from \"", "\" to \"", "\"\\n\"", "\"Can't move Predecessor\"", "\"block as it would convert a WLS from forward to a \"", "\"backwards branching WLS\\n\""], "File": "ARMBlockPlacement", "Func": "fixBackwardsWLS", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10298, "Length": 199} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "setPreservesCFG", "(", ")", ";", "AU", ".", "addRequired", "<", "MachineLoopInfo", ">", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMBlockPlacement", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10299, "Length": 33} {"ground_truth": ["", "bool", "ARMBlockPlacement", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "skipFunction", "(", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "ST", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "ST", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "DEBUG_PREFIX", "<<", "\"Running on \"", "<<", "MF", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "MLI", "=", "&", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "ST", ".", "getInstrInfo", "(", ")", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "MF", ")", ")", ";", "MF", ".", "RenumberBlocks", "(", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "BBUtils", "->", "adjustBBOffsetsAfter", "(", "&", "MF", ".", "front", "(", ")", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "*", "ML", ":", "*", "MLI", ")", "Changed", "|=", "processPostOrderLoops", "(", "ML", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"Running on \"", "\"\\n\"", "ARM", "ARM", "ARM"], "File": "ARMBlockPlacement", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10300, "Length": 165} {"ground_truth": ["", "void", "ARMBranchTargets", "::", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "{", "AU", ".", "setPreservesCFG", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBranchTargets", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10301, "Length": 25} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "ARM_BRANCH_TARGETS_NAME", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMBranchTargets", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10302, "Length": 11} {"ground_truth": ["", "bool", "ARMBranchTargets", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "!", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "branchTargetEnforcement", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM Branch Targets **********\\n\"", "<<", "\"********** Function: \"", "<<", "MF", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "const", "ARMInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "SmallPtrSet", "<", "const", "MachineBasicBlock", "*", ",", "8", ">", "JumpTableTargets", ";", "if", "(", "const", "MachineJumpTableInfo", "*", "JTI", "=", "MF", ".", "getJumpTableInfo", "(", ")", ")", "for", "(", "const", "MachineJumpTableEntry", "&", "JTE", ":", "JTI", "->", "getJumpTables", "(", ")", ")", "for", "(", "const", "MachineBasicBlock", "*", "MBB", ":", "JTE", ".", "MBBs", ")", "JumpTableTargets", ".", "insert", "(", "MBB", ")", ";", "bool", "MadeChange", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "MF", ")", "{", "bool", "NeedBTI", "=", "false", ";", "bool", "IsFirstBB", "=", "&", "MBB", "==", "&", "MF", ".", "front", "(", ")", ";", "if", "(", "IsFirstBB", ")", "NeedBTI", "=", "true", ";", "if", "(", "MBB", ".", "hasAddressTaken", "(", ")", "||", "MBB", ".", "isEHPad", "(", ")", "||", "JumpTableTargets", ".", "count", "(", "&", "MBB", ")", ")", "NeedBTI", "=", "true", ";", "if", "(", "NeedBTI", ")", "{", "addBTI", "(", "TII", ",", "MBB", ",", "IsFirstBB", ")", ";", "MadeChange", "=", "true", ";", "}", "}", "return", "MadeChange", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"********** ARM Branch Targets **********\\n\"", "\"********** Function: \"", "ARM", "ARM", "8"], "File": "ARMBranchTargets", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10303, "Length": 216} {"ground_truth": ["", "unsigned", "assignCustomValue", "(", "const", "ARMCallLowering", "::", "ArgInfo", "&", "Arg", ",", "ArrayRef", "<", "CCValAssign", ">", "VAs", ")", "override", "{", "CCValAssign", "VA", "=", "VAs", "[", "0", "]", ";", "assert", "(", "VA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "VA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "CCValAssign", "NextVA", "=", "VAs", "[", "1", "]", ";", "assert", "(", "NextVA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "NextVA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "assert", "(", "VA", ".", "getValNo", "(", ")", "==", "NextVA", ".", "getValNo", "(", ")", "&&", "\"Values belong to different arguments\"", ")", ";", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "assert", "(", "NextVA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "unsigned", "NewRegs", "[", "]", "=", "{", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", ",", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", "}", ";", "assignValueToReg", "(", "NewRegs", "[", "0", "]", ",", "VA", ".", "getLocReg", "(", ")", ",", "VA", ")", ";", "assignValueToReg", "(", "NewRegs", "[", "1", "]", ",", "NextVA", ".", "getLocReg", "(", ")", ",", "NextVA", ")", ";", "bool", "IsLittle", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isLittle", "(", ")", ";", "if", "(", "!", "IsLittle", ")", "std", "::", "swap", "(", "NewRegs", "[", "0", "]", ",", "NewRegs", "[", "1", "]", ")", ";", "MIRBuilder", ".", "buildMerge", "(", "Arg", ".", "Reg", ",", "NewRegs", ")", ";", "return", "1", ";", "}", ""], "natrual_language": ["Handle", "custom", "values", ",", "which", "may", "be", "passed", "into", "one", "or", "more", "of", "VAs", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "1", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "\"Values belong to different arguments\"", "\"Value should be in reg\"", "\"Value should be in reg\"", "32", "32", "0", "1", "ARM", "0", "1", "1"], "File": "ARMCallLowering (2)", "Func": "assignCustomValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10304, "Length": 243} {"ground_truth": ["", "void", "assignValueToAddress", "(", "unsigned", "ValVReg", ",", "unsigned", "Addr", ",", "uint64_t", "Size", ",", "MachinePointerInfo", "&", "MPO", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", "||", "Size", "==", "8", ")", "&&", "\"Unsupported size\"", ")", ";", "if", "(", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "SExt", "||", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "ZExt", ")", "{", "Size", "=", "4", ";", "assert", "(", "MRI", ".", "getType", "(", "ValVReg", ")", ".", "isScalar", "(", ")", "&&", "\"Only scalars supported atm\"", ")", ";", "auto", "LoadVReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", ";", "buildLoad", "(", "LoadVReg", ",", "Addr", ",", "Size", ",", "0", ",", "MPO", ")", ";", "MIRBuilder", ".", "buildTrunc", "(", "ValVReg", ",", "LoadVReg", ")", ";", "}", "else", "{", "buildLoad", "(", "ValVReg", ",", "Addr", ",", "Size", ",", "0", ",", "MPO", ")", ";", "}", "}", ""], "natrual_language": ["An", "overload", "which", "takes", "an", "ArgInfo", "if", "additional", "information", "about", "the", "arg", "is", "needed", "."], "TS_V_token": ["ARM", "1", "2", "4", "8", "\"Unsupported size\"", "4", "\"Only scalars supported atm\"", "32", "0", "0"], "File": "ARMCallLowering (2)", "Func": "assignValueToAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10305, "Length": 143} {"ground_truth": ["", "void", "assignValueToReg", "(", "unsigned", "ValVReg", ",", "unsigned", "PhysReg", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value shouldn't be assigned to reg\"", ")", ";", "assert", "(", "VA", ".", "getLocReg", "(", ")", "==", "PhysReg", "&&", "\"Assigning to the wrong reg?\"", ")", ";", "auto", "ValSize", "=", "VA", ".", "getValVT", "(", ")", ".", "getSizeInBits", "(", ")", ";", "auto", "LocSize", "=", "VA", ".", "getLocVT", "(", ")", ".", "getSizeInBits", "(", ")", ";", "assert", "(", "ValSize", "<=", "64", "&&", "\"Unsupported value size\"", ")", ";", "assert", "(", "LocSize", "<=", "64", "&&", "\"Unsupported location size\"", ")", ";", "markPhysRegUsed", "(", "PhysReg", ")", ";", "if", "(", "ValSize", "==", "LocSize", ")", "{", "MIRBuilder", ".", "buildCopy", "(", "ValVReg", ",", "PhysReg", ")", ";", "}", "else", "{", "assert", "(", "ValSize", "<", "LocSize", "&&", "\"Extensions not supported\"", ")", ";", "auto", "PhysRegToVReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "LocSize", ")", ")", ";", "MIRBuilder", ".", "buildCopy", "(", "PhysRegToVReg", ",", "PhysReg", ")", ";", "MIRBuilder", ".", "buildTrunc", "(", "ValVReg", ",", "PhysRegToVReg", ")", ";", "}", "}", ""], "natrual_language": ["The", "specified", "value", "has", "been", "assigned", "to", "a", "physical", "register", ",", "handle", "the", "appropriate", "COPY", "(", "either", "to", "or", "from", ")", "and", "mark", "any", "relevant", "uses/defines", "as", "needed", "."], "TS_V_token": ["ARM", "\"Value shouldn't be assigned to reg\"", "\"Assigning to the wrong reg?\"", "64", "\"Unsupported value size\"", "64", "\"Unsupported location size\"", "\"Extensions not supported\""], "File": "ARMCallLowering (2)", "Func": "assignValueToReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10306, "Length": 151} {"ground_truth": ["", "void", "buildLoad", "(", "unsigned", "Val", ",", "unsigned", "Addr", ",", "uint64_t", "Size", ",", "unsigned", "Alignment", ",", "MachinePointerInfo", "&", "MPO", ")", "{", "auto", "MMO", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getMachineMemOperand", "(", "MPO", ",", "MachineMemOperand", "::", "MOLoad", ",", "Size", ",", "Alignment", ")", ";", "MIRBuilder", ".", "buildLoad", "(", "Val", ",", "Addr", ",", "*", "MMO", ")", ";", "}", ""], "natrual_language": ["Build", "and", "insert", "a", "G_LOAD", "instruction", ",", "while", "constructing", "the", "MachineMemOperand", "."], "TS_V_token": ["ARM"], "File": "ARMCallLowering (2)", "Func": "buildLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10307, "Length": 55} {"ground_truth": ["", "unsigned", "getStackAddress", "(", "uint64_t", "Size", ",", "int64_t", "Offset", ",", "MachinePointerInfo", "&", "MPO", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", "||", "Size", "==", "8", ")", "&&", "\"Unsupported size\"", ")", ";", "auto", "&", "MFI", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getFrameInfo", "(", ")", ";", "int", "FI", "=", "MFI", ".", "CreateFixedObject", "(", "Size", ",", "Offset", ",", "true", ")", ";", "MPO", "=", "MachinePointerInfo", "::", "getFixedStack", "(", "MIRBuilder", ".", "getMF", "(", ")", ",", "FI", ")", ";", "unsigned", "AddrReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "pointer", "(", "MPO", ".", "getAddrSpace", "(", ")", ",", "32", ")", ")", ";", "MIRBuilder", ".", "buildFrameIndex", "(", "AddrReg", ",", "FI", ")", ";", "return", "AddrReg", ";", "}", ""], "natrual_language": ["Materialize", "a", "VReg", "containing", "the", "address", "of", "the", "specified", "stack-based", "object", "."], "TS_V_token": ["ARM", "1", "2", "4", "8", "\"Unsupported size\"", "32"], "File": "ARMCallLowering (2)", "Func": "getStackAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10308, "Length": 115} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "unsigned", ">", "VRegs", ")", "const", "{", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasByValOrInAllocaAttr", "(", ")", ")", "return", "false", ";", "}", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "SmallVector", "<", "unsigned", ",", "4", ">", "SplitRegs", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "AInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "AInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "SplitRegs", ".", "clear", "(", ")", ";", "splitToValueTypes", "(", "AInfo", ",", "ArgInfos", ",", "MF", ",", "[", "&", "]", "(", "unsigned", "Reg", ",", "uint64_t", "Offset", ")", "{", "SplitRegs", ".", "push_back", "(", "Reg", ")", ";", "}", ")", ";", "if", "(", "!", "SplitRegs", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "buildMerge", "(", "VRegs", "[", "Idx", "]", ",", "SplitRegs", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "if", "(", "!", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "ArgHandler", ")", ")", "return", "false", ";", "MIRBuilder", ".", "setMBB", "(", "MBB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "4", "0"], "File": "ARMCallLowering (2)", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10309, "Length": 359} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerReturn", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Value", "*", "Val", ",", "ArrayRef", "<", "unsigned", ">", "VRegs", ")", "const", "{", "assert", "(", "!", "Val", "==", "VRegs", ".", "empty", "(", ")", "&&", "\"Return value without a vreg\"", ")", ";", "auto", "const", "&", "ST", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "unsigned", "Opcode", "=", "ST", ".", "getReturnOpcode", "(", ")", ";", "auto", "Ret", "=", "MIRBuilder", ".", "buildInstrNoInsert", "(", "Opcode", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "!", "lowerReturnVal", "(", "MIRBuilder", ",", "Val", ",", "VRegs", ",", "Ret", ")", ")", "return", "false", ";", "MIRBuilder", ".", "insertInstr", "(", "Ret", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "behaves", "as", "the", "extended", "lowerReturn", "function", ",", "but", "for", "targets", "that", "do", "not", "support", "swifterror", "value", "promotion", "."], "TS_V_token": ["ARM", "ARM", "\"Return value without a vreg\"", "ARM", "ARMCC::AL"], "File": "ARMCallLowering (2)", "Func": "lowerReturn", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10310, "Length": 111} {"ground_truth": ["", "void", "ARMCallLowering", "::", "splitToValueTypes", "(", "const", "ArgInfo", "&", "OrigArg", ",", "SmallVectorImpl", "<", "ArgInfo", ">", "&", "SplitArgs", ",", "MachineFunction", "&", "MF", ",", "const", "SplitArgTy", "&", "PerformArgSplit", ")", "const", "{", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "LLVMContext", "&", "Ctx", "=", "OrigArg", ".", "Ty", "->", "getContext", "(", ")", ";", "const", "DataLayout", "&", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "SmallVector", "<", "EVT", ",", "4", ">", "SplitVTs", ";", "SmallVector", "<", "uint64_t", ",", "4", ">", "Offsets", ";", "ComputeValueVTs", "(", "TLI", ",", "DL", ",", "OrigArg", ".", "Ty", ",", "SplitVTs", ",", "&", "Offsets", ",", "0", ")", ";", "if", "(", "SplitVTs", ".", "size", "(", ")", "==", "1", ")", "{", "auto", "Flags", "=", "OrigArg", ".", "Flags", ";", "unsigned", "OriginalAlignment", "=", "DL", ".", "getABITypeAlignment", "(", "OrigArg", ".", "Ty", ")", ";", "Flags", ".", "setOrigAlign", "(", "OriginalAlignment", ")", ";", "SplitArgs", ".", "emplace_back", "(", "OrigArg", ".", "Reg", ",", "SplitVTs", "[", "0", "]", ".", "getTypeForEVT", "(", "Ctx", ")", ",", "Flags", ",", "OrigArg", ".", "IsFixed", ")", ";", "return", ";", "}", "unsigned", "FirstRegIdx", "=", "SplitArgs", ".", "size", "(", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "SplitVTs", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "EVT", "SplitVT", "=", "SplitVTs", "[", "i", "]", ";", "Type", "*", "SplitTy", "=", "SplitVT", ".", "getTypeForEVT", "(", "Ctx", ")", ";", "auto", "Flags", "=", "OrigArg", ".", "Flags", ";", "unsigned", "OriginalAlignment", "=", "DL", ".", "getABITypeAlignment", "(", "SplitTy", ")", ";", "Flags", ".", "setOrigAlign", "(", "OriginalAlignment", ")", ";", "bool", "NeedsConsecutiveRegisters", "=", "TLI", ".", "functionArgumentNeedsConsecutiveRegisters", "(", "SplitTy", ",", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "if", "(", "NeedsConsecutiveRegisters", ")", "{", "Flags", ".", "setInConsecutiveRegs", "(", ")", ";", "if", "(", "i", "==", "e", "-", "1", ")", "Flags", ".", "setInConsecutiveRegsLast", "(", ")", ";", "}", "SplitArgs", ".", "push_back", "(", "ArgInfo", "{", "MRI", ".", "createGenericVirtualRegister", "(", "getLLTForType", "(", "*", "SplitTy", ",", "DL", ")", ")", ",", "SplitTy", ",", "Flags", ",", "OrigArg", ".", "IsFixed", "}", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Offsets", ".", "size", "(", ")", ";", "++", "i", ")", "PerformArgSplit", "(", "SplitArgs", "[", "FirstRegIdx", "+", "i", "]", ".", "Reg", ",", "Offsets", "[", "i", "]", "*", "8", ")", ";", "}", ""], "natrual_language": ["Break", "OrigArgInfo", "into", "one", "or", "more", "pieces", "the", "calling", "convention", "can", "process", ",", "returned", "in", "SplitArgs", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "4", "4", "0", "1", "0", "0", "1", "0", "8"], "File": "ARMCallLowering (2)", "Func": "splitToValueTypes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10311, "Length": 375} {"ground_truth": ["", "void", "assignValueToAddress", "(", "unsigned", "ValVReg", ",", "unsigned", "Addr", ",", "uint64_t", "Size", ",", "MachinePointerInfo", "&", "MPO", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", ")", "&&", "\"Unsupported size\"", ")", ";", "if", "(", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "SExt", "||", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "ZExt", ")", "{", "Size", "=", "4", ";", "assert", "(", "MRI", ".", "getType", "(", "ValVReg", ")", ".", "isScalar", "(", ")", "&&", "\"Only scalars supported atm\"", ")", ";", "MRI", ".", "setType", "(", "ValVReg", ",", "LLT", "::", "scalar", "(", "32", ")", ")", ";", "}", "auto", "MMO", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getMachineMemOperand", "(", "MPO", ",", "MachineMemOperand", "::", "MOLoad", ",", "Size", ",", "0", ")", ";", "MIRBuilder", ".", "buildLoad", "(", "ValVReg", ",", "Addr", ",", "*", "MMO", ")", ";", "}", ""], "natrual_language": ["An", "overload", "which", "takes", "an", "ArgInfo", "if", "additional", "information", "about", "the", "arg", "is", "needed", "."], "TS_V_token": ["ARM", "1", "2", "4", "\"Unsupported size\"", "4", "\"Only scalars supported atm\"", "32", "0"], "File": "ARMCallLowering11", "Func": "assignValueToAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10312, "Length": 134} {"ground_truth": ["", "void", "assignValueToReg", "(", "unsigned", "ValVReg", ",", "unsigned", "PhysReg", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value shouldn't be assigned to reg\"", ")", ";", "assert", "(", "VA", ".", "getLocReg", "(", ")", "==", "PhysReg", "&&", "\"Assigning to the wrong reg?\"", ")", ";", "assert", "(", "VA", ".", "getValVT", "(", ")", ".", "getSizeInBits", "(", ")", "<=", "32", "&&", "\"Unsupported value size\"", ")", ";", "assert", "(", "VA", ".", "getLocVT", "(", ")", ".", "getSizeInBits", "(", ")", "==", "32", "&&", "\"Unsupported location size\"", ")", ";", "MIRBuilder", ".", "getMBB", "(", ")", ".", "addLiveIn", "(", "PhysReg", ")", ";", "MIRBuilder", ".", "buildCopy", "(", "ValVReg", ",", "PhysReg", ")", ";", "}", ""], "natrual_language": ["The", "specified", "value", "has", "been", "assigned", "to", "a", "physical", "register", ",", "handle", "the", "appropriate", "COPY", "(", "either", "to", "or", "from", ")", "and", "mark", "any", "relevant", "uses/defines", "as", "needed", "."], "TS_V_token": ["ARM", "\"Value shouldn't be assigned to reg\"", "\"Assigning to the wrong reg?\"", "32", "\"Unsupported value size\"", "32", "\"Unsupported location size\""], "File": "ARMCallLowering11", "Func": "assignValueToReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10313, "Length": 94} {"ground_truth": ["", "unsigned", "getStackAddress", "(", "uint64_t", "Size", ",", "int64_t", "Offset", ",", "MachinePointerInfo", "&", "MPO", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", ")", "&&", "\"Unsupported size\"", ")", ";", "auto", "&", "MFI", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getFrameInfo", "(", ")", ";", "int", "FI", "=", "MFI", ".", "CreateFixedObject", "(", "Size", ",", "Offset", ",", "true", ")", ";", "MPO", "=", "MachinePointerInfo", "::", "getFixedStack", "(", "MIRBuilder", ".", "getMF", "(", ")", ",", "FI", ")", ";", "unsigned", "AddrReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "pointer", "(", "MPO", ".", "getAddrSpace", "(", ")", ",", "32", ")", ")", ";", "MIRBuilder", ".", "buildFrameIndex", "(", "AddrReg", ",", "FI", ")", ";", "return", "AddrReg", ";", "}", ""], "natrual_language": ["Materialize", "a", "VReg", "containing", "the", "address", "of", "the", "specified", "stack-based", "object", "."], "TS_V_token": ["ARM", "1", "2", "4", "\"Unsupported size\"", "32"], "File": "ARMCallLowering11", "Func": "getStackAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10314, "Length": 111} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "unsigned", ">", "VRegs", ")", "const", "{", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "DL", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getDataLayout", "(", ")", ";", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "if", "(", "TLI", ".", "getSubtarget", "(", ")", "->", "isThumb", "(", ")", ")", "return", "false", ";", "auto", "&", "Args", "=", "F", ".", "getArgumentList", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "Args", ")", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "Args", ")", "{", "ArgInfo", "AInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "AInfo", ",", "Idx", "+", "1", ",", "DL", ",", "F", ")", ";", "ArgInfos", ".", "push_back", "(", "AInfo", ")", ";", "Idx", "++", ";", "}", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "return", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "ArgHandler", ")", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "0", "1"], "File": "ARMCallLowering11", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10315, "Length": 232} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerReturn", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Value", "*", "Val", ",", "unsigned", "VReg", ")", "const", "{", "assert", "(", "!", "Val", "==", "!", "VReg", "&&", "\"Return value without a vreg\"", ")", ";", "auto", "Ret", "=", "MIRBuilder", ".", "buildInstrNoInsert", "(", "ARM", "::", "BX_RET", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "!", "lowerReturnVal", "(", "MIRBuilder", ",", "Val", ",", "VReg", ",", "Ret", ")", ")", "return", "false", ";", "MIRBuilder", ".", "insertInstr", "(", "Ret", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "behaves", "as", "the", "extended", "lowerReturn", "function", ",", "but", "for", "targets", "that", "do", "not", "support", "swifterror", "value", "promotion", "."], "TS_V_token": ["ARM", "ARM", "\"Return value without a vreg\"", "ARM::BX_RET", "ARMCC::AL"], "File": "ARMCallLowering11", "Func": "lowerReturn", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10316, "Length": 80} {"ground_truth": ["", "void", "assignValueToAddress", "(", "unsigned", "ValVReg", ",", "unsigned", "Addr", ",", "uint64_t", "Size", ",", "MachinePointerInfo", "&", "MPO", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "Size", "==", "4", "&&", "\"Unsupported size\"", ")", ";", "auto", "MMO", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getMachineMemOperand", "(", "MPO", ",", "MachineMemOperand", "::", "MOLoad", ",", "Size", ",", "0", ")", ";", "MIRBuilder", ".", "buildLoad", "(", "ValVReg", ",", "Addr", ",", "*", "MMO", ")", ";", "}", ""], "natrual_language": ["An", "overload", "which", "takes", "an", "ArgInfo", "if", "additional", "information", "about", "the", "arg", "is", "needed", "."], "TS_V_token": ["ARM", "4", "\"Unsupported size\"", "0"], "File": "ARMCallLowering12", "Func": "assignValueToAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10317, "Length": 66} {"ground_truth": ["", "void", "assignValueToReg", "(", "unsigned", "ValVReg", ",", "unsigned", "PhysReg", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value shouldn't be assigned to reg\"", ")", ";", "assert", "(", "VA", ".", "getLocReg", "(", ")", "==", "PhysReg", "&&", "\"Assigning to the wrong reg?\"", ")", ";", "assert", "(", "VA", ".", "getValVT", "(", ")", ".", "getSizeInBits", "(", ")", "<=", "32", "&&", "\"Unsupported value size\"", ")", ";", "assert", "(", "VA", ".", "getLocVT", "(", ")", ".", "getSizeInBits", "(", ")", "==", "32", "&&", "\"Unsupported location size\"", ")", ";", "assert", "(", "VA", ".", "getLocInfo", "(", ")", "!=", "CCValAssign", "::", "SExt", "&&", "VA", ".", "getLocInfo", "(", ")", "!=", "CCValAssign", "::", "ZExt", "&&", "\"ABI extensions not supported yet\"", ")", ";", "MIRBuilder", ".", "buildCopy", "(", "PhysReg", ",", "ValVReg", ")", ";", "MIB", ".", "addUse", "(", "PhysReg", ",", "RegState", "::", "Implicit", ")", ";", "}", ""], "natrual_language": ["The", "specified", "value", "has", "been", "assigned", "to", "a", "physical", "register", ",", "handle", "the", "appropriate", "COPY", "(", "either", "to", "or", "from", ")", "and", "mark", "any", "relevant", "uses/defines", "as", "needed", "."], "TS_V_token": ["ARM", "\"Value shouldn't be assigned to reg\"", "\"Assigning to the wrong reg?\"", "32", "\"Unsupported value size\"", "32", "\"Unsupported location size\"", "\"ABI extensions not supported yet\""], "File": "ARMCallLowering12", "Func": "assignValueToReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10318, "Length": 119} {"ground_truth": ["", "unsigned", "getStackAddress", "(", "uint64_t", "Size", ",", "int64_t", "Offset", ",", "MachinePointerInfo", "&", "MPO", ")", "override", "{", "assert", "(", "Size", "==", "4", "&&", "\"Unsupported size\"", ")", ";", "auto", "&", "MFI", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getFrameInfo", "(", ")", ";", "int", "FI", "=", "MFI", ".", "CreateFixedObject", "(", "Size", ",", "Offset", ",", "true", ")", ";", "MPO", "=", "MachinePointerInfo", "::", "getFixedStack", "(", "MIRBuilder", ".", "getMF", "(", ")", ",", "FI", ")", ";", "unsigned", "AddrReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "pointer", "(", "MPO", ".", "getAddrSpace", "(", ")", ",", "32", ")", ")", ";", "MIRBuilder", ".", "buildFrameIndex", "(", "AddrReg", ",", "FI", ")", ";", "return", "AddrReg", ";", "}", ""], "natrual_language": ["Materialize", "a", "VReg", "containing", "the", "address", "of", "the", "specified", "stack-based", "object", "."], "TS_V_token": ["ARM", "4", "\"Unsupported size\"", "32"], "File": "ARMCallLowering12", "Func": "getStackAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10319, "Length": 101} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "unsigned", ">", "VRegs", ")", "const", "{", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "DL", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getDataLayout", "(", ")", ";", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "&", "Args", "=", "F", ".", "getArgumentList", "(", ")", ";", "unsigned", "ArgIdx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "Args", ")", "{", "ArgIdx", "++", ";", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "if", "(", "ArgIdx", ">", "4", "&&", "Arg", ".", "getType", "(", ")", "->", "getIntegerBitWidth", "(", ")", "!=", "32", ")", "return", "false", ";", "}", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "Args", ")", "{", "ArgInfo", "AInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "AInfo", ",", "Idx", "+", "1", ",", "DL", ",", "F", ")", ";", "ArgInfos", ".", "push_back", "(", "AInfo", ")", ";", "Idx", "++", ";", "}", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ")", ";", "return", "handleAssignments", "(", "MIRBuilder", ",", "AssignFn", ",", "ArgInfos", ",", "ArgHandler", ")", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "4", "32", "8", "0", "1"], "File": "ARMCallLowering12", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10320, "Length": 248} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerReturn", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Value", "*", "Val", ",", "unsigned", "VReg", ")", "const", "{", "assert", "(", "!", "Val", "==", "!", "VReg", "&&", "\"Return value without a vreg\"", ")", ";", "auto", "Ret", "=", "AddDefaultPred", "(", "MIRBuilder", ".", "buildInstrNoInsert", "(", "ARM", "::", "BX_RET", ")", ")", ";", "if", "(", "!", "lowerReturnVal", "(", "MIRBuilder", ",", "Val", ",", "VReg", ",", "Ret", ")", ")", "return", "false", ";", "MIRBuilder", ".", "insertInstr", "(", "Ret", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "behaves", "as", "the", "extended", "lowerReturn", "function", ",", "but", "for", "targets", "that", "do", "not", "support", "swifterror", "value", "promotion", "."], "TS_V_token": ["ARM", "ARM", "\"Return value without a vreg\"", "ARM::BX_RET"], "File": "ARMCallLowering12", "Func": "lowerReturn", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10321, "Length": 73} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "unsigned", ">", "VRegs", ")", "const", "{", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasByValOrInAllocaAttr", "(", ")", ")", "return", "false", ";", "}", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "SmallVector", "<", "unsigned", ",", "4", ">", "SplitRegs", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "AInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "AInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "SplitRegs", ".", "clear", "(", ")", ";", "splitToValueTypes", "(", "AInfo", ",", "ArgInfos", ",", "MF", ",", "[", "&", "]", "(", "unsigned", "Reg", ",", "uint64_t", "Offset", ")", "{", "SplitRegs", ".", "push_back", "(", "Reg", ")", ";", "}", ")", ";", "if", "(", "!", "SplitRegs", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "buildMerge", "(", "VRegs", "[", "Idx", "]", ",", "SplitRegs", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "return", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "ArgHandler", ")", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "4", "0"], "File": "ARMCallLowering13", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10322, "Length": 344} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerReturn", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Value", "*", "Val", ",", "unsigned", "VReg", ")", "const", "{", "assert", "(", "!", "Val", "==", "!", "VReg", "&&", "\"Return value without a vreg\"", ")", ";", "auto", "const", "&", "ST", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "unsigned", "Opcode", "=", "ST", ".", "getReturnOpcode", "(", ")", ";", "auto", "Ret", "=", "MIRBuilder", ".", "buildInstrNoInsert", "(", "Opcode", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "!", "lowerReturnVal", "(", "MIRBuilder", ",", "Val", ",", "VReg", ",", "Ret", ")", ")", "return", "false", ";", "MIRBuilder", ".", "insertInstr", "(", "Ret", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "behaves", "as", "the", "extended", "lowerReturn", "function", ",", "but", "for", "targets", "that", "do", "not", "support", "swifterror", "value", "promotion", "."], "TS_V_token": ["ARM", "ARM", "\"Return value without a vreg\"", "ARM", "ARMCC::AL"], "File": "ARMCallLowering13", "Func": "lowerReturn", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10323, "Length": 105} {"ground_truth": ["", "unsigned", "assignCustomValue", "(", "ARMCallLowering", "::", "ArgInfo", "&", "Arg", ",", "ArrayRef", "<", "CCValAssign", ">", "VAs", ",", "std", "::", "function", "<", "void", "(", ")", ">", "*", "Thunk", ")", "override", "{", "assert", "(", "Arg", ".", "Regs", ".", "size", "(", ")", "==", "1", "&&", "\"Can't handle multple regs yet\"", ")", ";", "CCValAssign", "VA", "=", "VAs", "[", "0", "]", ";", "assert", "(", "VA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "if", "(", "VA", ".", "getValVT", "(", ")", "!=", "MVT", "::", "f64", ")", "return", "0", ";", "CCValAssign", "NextVA", "=", "VAs", "[", "1", "]", ";", "assert", "(", "NextVA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "NextVA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "assert", "(", "VA", ".", "getValNo", "(", ")", "==", "NextVA", ".", "getValNo", "(", ")", "&&", "\"Values belong to different arguments\"", ")", ";", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "assert", "(", "NextVA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "Register", "NewRegs", "[", "]", "=", "{", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", ",", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", "}", ";", "assignValueToReg", "(", "NewRegs", "[", "0", "]", ",", "VA", ".", "getLocReg", "(", ")", ",", "VA", ")", ";", "assignValueToReg", "(", "NewRegs", "[", "1", "]", ",", "NextVA", ".", "getLocReg", "(", ")", ",", "NextVA", ")", ";", "bool", "IsLittle", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isLittle", "(", ")", ";", "if", "(", "!", "IsLittle", ")", "std", "::", "swap", "(", "NewRegs", "[", "0", "]", ",", "NewRegs", "[", "1", "]", ")", ";", "MIRBuilder", ".", "buildMerge", "(", "Arg", ".", "Regs", "[", "0", "]", ",", "NewRegs", ")", ";", "return", "1", ";", "}", ""], "natrual_language": ["Handle", "custom", "values", ",", "which", "may", "be", "passed", "into", "one", "or", "more", "of", "VAs", "."], "TS_V_token": ["ARM", "ARM", "1", "\"Can't handle multple regs yet\"", "0", "\"Value doesn't need custom handling\"", "MVT::f64", "0", "1", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "\"Values belong to different arguments\"", "\"Value should be in reg\"", "\"Value should be in reg\"", "32", "32", "0", "1", "ARM", "0", "1", "0", "1"], "File": "ARMCallLowering14", "Func": "assignCustomValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10324, "Length": 271} {"ground_truth": ["", "void", "assignValueToAddress", "(", "Register", "ValVReg", ",", "Register", "Addr", ",", "LLT", "MemTy", ",", "MachinePointerInfo", "&", "MPO", ",", "CCValAssign", "&", "VA", ")", "override", "{", "if", "(", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "SExt", "||", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "ZExt", ")", "{", "MemTy", "=", "LLT", "::", "scalar", "(", "32", ")", ";", "assert", "(", "MRI", ".", "getType", "(", "ValVReg", ")", ".", "isScalar", "(", ")", "&&", "\"Only scalars supported atm\"", ")", ";", "auto", "LoadVReg", "=", "buildLoad", "(", "LLT", "::", "scalar", "(", "32", ")", ",", "Addr", ",", "MemTy", ",", "MPO", ")", ";", "MIRBuilder", ".", "buildTrunc", "(", "ValVReg", ",", "LoadVReg", ")", ";", "}", "else", "{", "buildLoad", "(", "ValVReg", ",", "Addr", ",", "MemTy", ",", "MPO", ")", ";", "}", "}", ""], "natrual_language": ["An", "overload", "which", "takes", "an", "ArgInfo", "if", "additional", "information", "about", "the", "arg", "is", "needed", "."], "TS_V_token": ["ARM", "32", "\"Only scalars supported atm\"", "32"], "File": "ARMCallLowering14", "Func": "assignValueToAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10325, "Length": 114} {"ground_truth": ["", "void", "assignValueToReg", "(", "Register", "ValVReg", ",", "Register", "PhysReg", ",", "CCValAssign", "VA", ")", "override", "{", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value shouldn't be assigned to reg\"", ")", ";", "assert", "(", "VA", ".", "getLocReg", "(", ")", "==", "PhysReg", "&&", "\"Assigning to the wrong reg?\"", ")", ";", "uint64_t", "ValSize", "=", "VA", ".", "getValVT", "(", ")", ".", "getFixedSizeInBits", "(", ")", ";", "uint64_t", "LocSize", "=", "VA", ".", "getLocVT", "(", ")", ".", "getFixedSizeInBits", "(", ")", ";", "assert", "(", "ValSize", "<=", "64", "&&", "\"Unsupported value size\"", ")", ";", "assert", "(", "LocSize", "<=", "64", "&&", "\"Unsupported location size\"", ")", ";", "markPhysRegUsed", "(", "PhysReg", ")", ";", "if", "(", "ValSize", "==", "LocSize", ")", "{", "MIRBuilder", ".", "buildCopy", "(", "ValVReg", ",", "PhysReg", ")", ";", "}", "else", "{", "assert", "(", "ValSize", "<", "LocSize", "&&", "\"Extensions not supported\"", ")", ";", "auto", "PhysRegToVReg", "=", "MIRBuilder", ".", "buildCopy", "(", "LLT", "::", "scalar", "(", "LocSize", ")", ",", "PhysReg", ")", ";", "MIRBuilder", ".", "buildTrunc", "(", "ValVReg", ",", "PhysRegToVReg", ")", ";", "}", "}", ""], "natrual_language": ["The", "specified", "value", "has", "been", "assigned", "to", "a", "physical", "register", ",", "handle", "the", "appropriate", "COPY", "(", "either", "to", "or", "from", ")", "and", "mark", "any", "relevant", "uses/defines", "as", "needed", "."], "TS_V_token": ["ARM", "\"Value shouldn't be assigned to reg\"", "\"Assigning to the wrong reg?\"", "64", "\"Unsupported value size\"", "64", "\"Unsupported location size\"", "\"Extensions not supported\""], "File": "ARMCallLowering14", "Func": "assignValueToReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10326, "Length": 143} {"ground_truth": ["", "MachineInstrBuilder", "buildLoad", "(", "const", "DstOp", "&", "Res", ",", "Register", "Addr", ",", "LLT", "MemTy", ",", "MachinePointerInfo", "&", "MPO", ")", "{", "MachineFunction", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MPO", ",", "MachineMemOperand", "::", "MOLoad", ",", "MemTy", ",", "inferAlignFromPtrInfo", "(", "MF", ",", "MPO", ")", ")", ";", "return", "MIRBuilder", ".", "buildLoad", "(", "Res", ",", "Addr", ",", "*", "MMO", ")", ";", "}", ""], "natrual_language": ["Build", "and", "insert", "a", "G_LOAD", "instruction", ",", "while", "constructing", "the", "MachineMemOperand", "."], "TS_V_token": ["ARM"], "File": "ARMCallLowering14", "Func": "buildLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10327, "Length": 66} {"ground_truth": ["", "Register", "getStackAddress", "(", "uint64_t", "Size", ",", "int64_t", "Offset", ",", "MachinePointerInfo", "&", "MPO", ",", "ISD", "::", "ArgFlagsTy", "Flags", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", "||", "Size", "==", "8", ")", "&&", "\"Unsupported size\"", ")", ";", "auto", "&", "MFI", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getFrameInfo", "(", ")", ";", "const", "bool", "IsImmutable", "=", "!", "Flags", ".", "isByVal", "(", ")", ";", "int", "FI", "=", "MFI", ".", "CreateFixedObject", "(", "Size", ",", "Offset", ",", "IsImmutable", ")", ";", "MPO", "=", "MachinePointerInfo", "::", "getFixedStack", "(", "MIRBuilder", ".", "getMF", "(", ")", ",", "FI", ")", ";", "return", "MIRBuilder", ".", "buildFrameIndex", "(", "LLT", "::", "pointer", "(", "MPO", ".", "getAddrSpace", "(", ")", ",", "32", ")", ",", "FI", ")", ".", "getReg", "(", "0", ")", ";", "}", ""], "natrual_language": ["Materialize", "a", "VReg", "containing", "the", "address", "of", "the", "specified", "stack-based", "object", "."], "TS_V_token": ["ARM", "ISD::ArgFlagsTy", "1", "2", "4", "8", "\"Unsupported size\"", "32", "0"], "File": "ARMCallLowering14", "Func": "getStackAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10328, "Length": 124} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "ArrayRef", "<", "Register", ">>", "VRegs", ",", "FunctionLoweringInfo", "&", "FLI", ")", "const", "{", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "const", "auto", "&", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasPassPointeeByValueCopyAttr", "(", ")", ")", "return", "false", ";", "}", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "OutgoingValueAssigner", "ArgAssigner", "(", "AssignFn", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "SplitArgInfos", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "OrigArgInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ",", "Idx", ")", ";", "setArgFlags", "(", "OrigArgInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "splitToValueTypes", "(", "OrigArgInfo", ",", "SplitArgInfos", ",", "DL", ",", "F", ".", "getCallingConv", "(", ")", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "if", "(", "!", "determineAndHandleAssignments", "(", "ArgHandler", ",", "ArgAssigner", ",", "SplitArgInfos", ",", "MIRBuilder", ",", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ")", "return", "false", ";", "MIRBuilder", ".", "setMBB", "(", "MBB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "0"], "File": "ARMCallLowering14", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10329, "Length": 338} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerReturn", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Value", "*", "Val", ",", "ArrayRef", "<", "Register", ">", "VRegs", ",", "FunctionLoweringInfo", "&", "FLI", ")", "const", "{", "assert", "(", "!", "Val", "==", "VRegs", ".", "empty", "(", ")", "&&", "\"Return value without a vreg\"", ")", ";", "auto", "const", "&", "ST", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "unsigned", "Opcode", "=", "ST", ".", "getReturnOpcode", "(", ")", ";", "auto", "Ret", "=", "MIRBuilder", ".", "buildInstrNoInsert", "(", "Opcode", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "!", "lowerReturnVal", "(", "MIRBuilder", ",", "Val", ",", "VRegs", ",", "Ret", ")", ")", "return", "false", ";", "MIRBuilder", ".", "insertInstr", "(", "Ret", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "behaves", "as", "the", "extended", "lowerReturn", "function", ",", "but", "for", "targets", "that", "do", "not", "support", "swifterror", "value", "promotion", "."], "TS_V_token": ["ARM", "ARM", "\"Return value without a vreg\"", "ARM", "ARMCC::AL"], "File": "ARMCallLowering14", "Func": "lowerReturn", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10330, "Length": 115} {"ground_truth": ["", "unsigned", "assignCustomValue", "(", "ARMCallLowering", "::", "ArgInfo", "&", "Arg", ",", "ArrayRef", "<", "CCValAssign", ">", "VAs", ")", "override", "{", "assert", "(", "Arg", ".", "Regs", ".", "size", "(", ")", "==", "1", "&&", "\"Can't handle multple regs yet\"", ")", ";", "CCValAssign", "VA", "=", "VAs", "[", "0", "]", ";", "assert", "(", "VA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "if", "(", "VA", ".", "getValVT", "(", ")", "!=", "MVT", "::", "f64", ")", "return", "0", ";", "CCValAssign", "NextVA", "=", "VAs", "[", "1", "]", ";", "assert", "(", "NextVA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "NextVA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "assert", "(", "VA", ".", "getValNo", "(", ")", "==", "NextVA", ".", "getValNo", "(", ")", "&&", "\"Values belong to different arguments\"", ")", ";", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "assert", "(", "NextVA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "Register", "NewRegs", "[", "]", "=", "{", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", ",", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", "}", ";", "assignValueToReg", "(", "NewRegs", "[", "0", "]", ",", "VA", ".", "getLocReg", "(", ")", ",", "VA", ")", ";", "assignValueToReg", "(", "NewRegs", "[", "1", "]", ",", "NextVA", ".", "getLocReg", "(", ")", ",", "NextVA", ")", ";", "bool", "IsLittle", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isLittle", "(", ")", ";", "if", "(", "!", "IsLittle", ")", "std", "::", "swap", "(", "NewRegs", "[", "0", "]", ",", "NewRegs", "[", "1", "]", ")", ";", "MIRBuilder", ".", "buildMerge", "(", "Arg", ".", "Regs", "[", "0", "]", ",", "NewRegs", ")", ";", "return", "1", ";", "}", ""], "natrual_language": ["Handle", "custom", "values", ",", "which", "may", "be", "passed", "into", "one", "or", "more", "of", "VAs", "."], "TS_V_token": ["ARM", "ARM", "1", "\"Can't handle multple regs yet\"", "0", "\"Value doesn't need custom handling\"", "MVT::f64", "0", "1", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "\"Values belong to different arguments\"", "\"Value should be in reg\"", "\"Value should be in reg\"", "32", "32", "0", "1", "ARM", "0", "1", "0", "1"], "File": "ARMCallLowering15", "Func": "assignCustomValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10331, "Length": 260} {"ground_truth": ["", "void", "assignValueToReg", "(", "Register", "ValVReg", ",", "Register", "PhysReg", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value shouldn't be assigned to reg\"", ")", ";", "assert", "(", "VA", ".", "getLocReg", "(", ")", "==", "PhysReg", "&&", "\"Assigning to the wrong reg?\"", ")", ";", "uint64_t", "ValSize", "=", "VA", ".", "getValVT", "(", ")", ".", "getFixedSizeInBits", "(", ")", ";", "uint64_t", "LocSize", "=", "VA", ".", "getLocVT", "(", ")", ".", "getFixedSizeInBits", "(", ")", ";", "assert", "(", "ValSize", "<=", "64", "&&", "\"Unsupported value size\"", ")", ";", "assert", "(", "LocSize", "<=", "64", "&&", "\"Unsupported location size\"", ")", ";", "markPhysRegUsed", "(", "PhysReg", ")", ";", "if", "(", "ValSize", "==", "LocSize", ")", "{", "MIRBuilder", ".", "buildCopy", "(", "ValVReg", ",", "PhysReg", ")", ";", "}", "else", "{", "assert", "(", "ValSize", "<", "LocSize", "&&", "\"Extensions not supported\"", ")", ";", "auto", "PhysRegToVReg", "=", "MIRBuilder", ".", "buildCopy", "(", "LLT", "::", "scalar", "(", "LocSize", ")", ",", "PhysReg", ")", ";", "MIRBuilder", ".", "buildTrunc", "(", "ValVReg", ",", "PhysRegToVReg", ")", ";", "}", "}", ""], "natrual_language": ["The", "specified", "value", "has", "been", "assigned", "to", "a", "physical", "register", ",", "handle", "the", "appropriate", "COPY", "(", "either", "to", "or", "from", ")", "and", "mark", "any", "relevant", "uses/defines", "as", "needed", "."], "TS_V_token": ["ARM", "\"Value shouldn't be assigned to reg\"", "\"Assigning to the wrong reg?\"", "64", "\"Unsupported value size\"", "64", "\"Unsupported location size\"", "\"Extensions not supported\""], "File": "ARMCallLowering15", "Func": "assignValueToReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10332, "Length": 144} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "ArrayRef", "<", "Register", ">>", "VRegs", ")", "const", "{", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasByValOrInAllocaAttr", "(", ")", ")", "return", "false", ";", "}", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "SplitArgInfos", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "OrigArgInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "OrigArgInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "splitToValueTypes", "(", "OrigArgInfo", ",", "SplitArgInfos", ",", "MF", ",", "[", "&", "]", "(", "Register", "Reg", ")", "{", "llvm_unreachable", "(", "\"Args should already be split\"", ")", ";", "}", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "if", "(", "!", "handleAssignments", "(", "MIRBuilder", ",", "SplitArgInfos", ",", "ArgHandler", ")", ")", "return", "false", ";", "MIRBuilder", ".", "setMBB", "(", "MBB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "0", "\"Args should already be split\""], "File": "ARMCallLowering16", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10333, "Length": 321} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "unsigned", ">", "VRegs", ")", "const", "{", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasByValOrInAllocaAttr", "(", ")", ")", "return", "false", ";", "}", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "SmallVector", "<", "unsigned", ",", "4", ">", "SplitRegs", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "AInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "AInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "SplitRegs", ".", "clear", "(", ")", ";", "splitToValueTypes", "(", "AInfo", ",", "ArgInfos", ",", "MF", ",", "[", "&", "]", "(", "unsigned", "Reg", ",", "uint64_t", "Offset", ")", "{", "SplitRegs", ".", "push_back", "(", "Reg", ")", ";", "}", ")", ";", "if", "(", "!", "SplitRegs", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "buildMerge", "(", "VRegs", "[", "Idx", "]", ",", "SplitRegs", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "if", "(", "!", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "ArgHandler", ")", ")", "return", "false", ";", "MIRBuilder", ".", "setMBB", "(", "MBB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "4", "0"], "File": "ARMCallLowering17", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10334, "Length": 359} {"ground_truth": ["", "unsigned", "assignCustomValue", "(", "const", "ARMCallLowering", "::", "ArgInfo", "&", "Arg", ",", "ArrayRef", "<", "CCValAssign", ">", "VAs", ")", "override", "{", "CCValAssign", "VA", "=", "VAs", "[", "0", "]", ";", "assert", "(", "VA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "VA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "CCValAssign", "NextVA", "=", "VAs", "[", "1", "]", ";", "assert", "(", "NextVA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "NextVA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "assert", "(", "VA", ".", "getValNo", "(", ")", "==", "NextVA", ".", "getValNo", "(", ")", "&&", "\"Values belong to different arguments\"", ")", ";", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "assert", "(", "NextVA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "unsigned", "NewRegs", "[", "]", "=", "{", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", ",", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", "}", ";", "assignValueToReg", "(", "NewRegs", "[", "0", "]", ",", "VA", ".", "getLocReg", "(", ")", ",", "VA", ")", ";", "assignValueToReg", "(", "NewRegs", "[", "1", "]", ",", "NextVA", ".", "getLocReg", "(", ")", ",", "NextVA", ")", ";", "bool", "IsLittle", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isLittle", "(", ")", ";", "if", "(", "!", "IsLittle", ")", "std", "::", "swap", "(", "NewRegs", "[", "0", "]", ",", "NewRegs", "[", "1", "]", ")", ";", "MIRBuilder", ".", "buildSequence", "(", "Arg", ".", "Reg", ",", "NewRegs", ",", "{", "0", ",", "32", "}", ")", ";", "return", "1", ";", "}", ""], "natrual_language": ["Handle", "custom", "values", ",", "which", "may", "be", "passed", "into", "one", "or", "more", "of", "VAs", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "1", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "\"Values belong to different arguments\"", "\"Value should be in reg\"", "\"Value should be in reg\"", "32", "32", "0", "1", "ARM", "0", "1", "0", "32", "1"], "File": "ARMCallLowering18", "Func": "assignCustomValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10335, "Length": 249} {"ground_truth": ["", "void", "assignValueToAddress", "(", "unsigned", "ValVReg", ",", "unsigned", "Addr", ",", "uint64_t", "Size", ",", "MachinePointerInfo", "&", "MPO", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", "||", "Size", "==", "8", ")", "&&", "\"Unsupported size\"", ")", ";", "if", "(", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "SExt", "||", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "ZExt", ")", "{", "Size", "=", "4", ";", "assert", "(", "MRI", ".", "getType", "(", "ValVReg", ")", ".", "isScalar", "(", ")", "&&", "\"Only scalars supported atm\"", ")", ";", "MRI", ".", "setType", "(", "ValVReg", ",", "LLT", "::", "scalar", "(", "32", ")", ")", ";", "}", "auto", "MMO", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getMachineMemOperand", "(", "MPO", ",", "MachineMemOperand", "::", "MOLoad", ",", "Size", ",", "0", ")", ";", "MIRBuilder", ".", "buildLoad", "(", "ValVReg", ",", "Addr", ",", "*", "MMO", ")", ";", "}", ""], "natrual_language": ["An", "overload", "which", "takes", "an", "ArgInfo", "if", "additional", "information", "about", "the", "arg", "is", "needed", "."], "TS_V_token": ["ARM", "1", "2", "4", "8", "\"Unsupported size\"", "4", "\"Only scalars supported atm\"", "32", "0"], "File": "ARMCallLowering18", "Func": "assignValueToAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10336, "Length": 138} {"ground_truth": ["", "void", "assignValueToReg", "(", "unsigned", "ValVReg", ",", "unsigned", "PhysReg", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value shouldn't be assigned to reg\"", ")", ";", "assert", "(", "VA", ".", "getLocReg", "(", ")", "==", "PhysReg", "&&", "\"Assigning to the wrong reg?\"", ")", ";", "assert", "(", "VA", ".", "getValVT", "(", ")", ".", "getSizeInBits", "(", ")", "<=", "64", "&&", "\"Unsupported value size\"", ")", ";", "assert", "(", "VA", ".", "getLocVT", "(", ")", ".", "getSizeInBits", "(", ")", "<=", "64", "&&", "\"Unsupported location size\"", ")", ";", "markPhysRegUsed", "(", "PhysReg", ")", ";", "MIRBuilder", ".", "buildCopy", "(", "ValVReg", ",", "PhysReg", ")", ";", "}", ""], "natrual_language": ["The", "specified", "value", "has", "been", "assigned", "to", "a", "physical", "register", ",", "handle", "the", "appropriate", "COPY", "(", "either", "to", "or", "from", ")", "and", "mark", "any", "relevant", "uses/defines", "as", "needed", "."], "TS_V_token": ["ARM", "\"Value shouldn't be assigned to reg\"", "\"Assigning to the wrong reg?\"", "64", "\"Unsupported value size\"", "64", "\"Unsupported location size\""], "File": "ARMCallLowering18", "Func": "assignValueToReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10337, "Length": 88} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerCall", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "MachineOperand", "&", "Callee", ",", "const", "ArgInfo", "&", "OrigRet", ",", "ArrayRef", "<", "ArgInfo", ">", "OrigArgs", ")", "const", "{", "MachineFunction", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "const", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "const", "auto", "&", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "MF", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "if", "(", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "genLongCalls", "(", ")", ")", "return", "false", ";", "MIRBuilder", ".", "buildInstr", "(", "ARM", "::", "ADJCALLSTACKDOWN", ")", ".", "addImm", "(", "0", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "auto", "CallConv", "=", "MF", ".", "getFunction", "(", ")", "->", "getCallingConv", "(", ")", ";", "auto", "MIB", "=", "MIRBuilder", ".", "buildInstrNoInsert", "(", "ARM", "::", "BLX", ")", ".", "add", "(", "Callee", ")", ".", "addRegMask", "(", "TRI", "->", "getCallPreservedMask", "(", "MF", ",", "CallConv", ")", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "for", "(", "auto", "Arg", ":", "OrigArgs", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "Ty", ")", ")", "return", "false", ";", "if", "(", "!", "Arg", ".", "IsFixed", ")", "return", "false", ";", "splitToValueTypes", "(", "Arg", ",", "ArgInfos", ",", "DL", ",", "MRI", ")", ";", "}", "auto", "ArgAssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "CallConv", ",", "false", ")", ";", "OutgoingValueHandler", "ArgHandler", "(", "MIRBuilder", ",", "MRI", ",", "MIB", ",", "ArgAssignFn", ")", ";", "if", "(", "!", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "ArgHandler", ")", ")", "return", "false", ";", "MIRBuilder", ".", "insertInstr", "(", "MIB", ")", ";", "if", "(", "!", "OrigRet", ".", "Ty", "->", "isVoidTy", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "OrigRet", ".", "Ty", ")", ")", "return", "false", ";", "ArgInfos", ".", "clear", "(", ")", ";", "splitToValueTypes", "(", "OrigRet", ",", "ArgInfos", ",", "DL", ",", "MRI", ")", ";", "auto", "RetAssignFn", "=", "TLI", ".", "CCAssignFnForReturn", "(", "CallConv", ",", "false", ")", ";", "CallReturnHandler", "RetHandler", "(", "MIRBuilder", ",", "MRI", ",", "MIB", ",", "RetAssignFn", ")", ";", "if", "(", "!", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "RetHandler", ")", ")", "return", "false", ";", "}", "MIRBuilder", ".", "buildInstr", "(", "ARM", "::", "ADJCALLSTACKUP", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "0", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "given", "call", "instruction", ",", "including", "argument", "and", "return", "value", "marshalling", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::ADJCALLSTACKDOWN", "0", "ARMCC::AL", "ARM::BLX", "8", "ARM::ADJCALLSTACKUP", "0", "0", "ARMCC::AL"], "File": "ARMCallLowering18", "Func": "lowerCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10338, "Length": 390} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "unsigned", ">", "VRegs", ")", "const", "{", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "useSoftFloat", "(", ")", "||", "!", "Subtarget", "->", "hasVFP2", "(", ")", ")", "return", "false", ";", "auto", "&", "Args", "=", "F", ".", "getArgumentList", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "Args", ")", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "Args", ")", "{", "ArgInfo", "AInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "AInfo", ",", "Idx", "+", "1", ",", "DL", ",", "F", ")", ";", "splitToValueTypes", "(", "AInfo", ",", "ArgInfos", ",", "DL", ",", "MF", ".", "getRegInfo", "(", ")", ")", ";", "Idx", "++", ";", "}", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "return", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "ArgHandler", ")", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "0", "1"], "File": "ARMCallLowering18", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10339, "Length": 269} {"ground_truth": ["", "void", "ARMCallLowering", "::", "splitToValueTypes", "(", "const", "ArgInfo", "&", "OrigArg", ",", "SmallVectorImpl", "<", "ArgInfo", ">", "&", "SplitArgs", ",", "const", "DataLayout", "&", "DL", ",", "MachineRegisterInfo", "&", "MRI", ")", "const", "{", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "LLVMContext", "&", "Ctx", "=", "OrigArg", ".", "Ty", "->", "getContext", "(", ")", ";", "SmallVector", "<", "EVT", ",", "4", ">", "SplitVTs", ";", "SmallVector", "<", "uint64_t", ",", "4", ">", "Offsets", ";", "ComputeValueVTs", "(", "TLI", ",", "DL", ",", "OrigArg", ".", "Ty", ",", "SplitVTs", ",", "&", "Offsets", ",", "0", ")", ";", "assert", "(", "SplitVTs", ".", "size", "(", ")", "==", "1", "&&", "\"Unsupported type\"", ")", ";", "SplitArgs", ".", "emplace_back", "(", "OrigArg", ".", "Reg", ",", "SplitVTs", "[", "0", "]", ".", "getTypeForEVT", "(", "Ctx", ")", ",", "OrigArg", ".", "Flags", ",", "OrigArg", ".", "IsFixed", ")", ";", "}", ""], "natrual_language": ["Break", "OrigArgInfo", "into", "one", "or", "more", "pieces", "the", "calling", "convention", "can", "process", ",", "returned", "in", "SplitArgs", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "4", "4", "0", "1", "\"Unsupported type\"", "0"], "File": "ARMCallLowering18", "Func": "splitToValueTypes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10340, "Length": 128} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "ArrayRef", "<", "Register", ">>", "VRegs", ")", "const", "{", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasPassPointeeByValueCopyAttr", "(", ")", ")", "return", "false", ";", "}", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "SplitArgInfos", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "OrigArgInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "OrigArgInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "splitToValueTypes", "(", "OrigArgInfo", ",", "SplitArgInfos", ",", "MF", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "if", "(", "!", "handleAssignments", "(", "MIRBuilder", ",", "SplitArgInfos", ",", "ArgHandler", ")", ")", "return", "false", ";", "MIRBuilder", ".", "setMBB", "(", "MBB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "0"], "File": "ARMCallLowering19", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10341, "Length": 306} {"ground_truth": ["", "void", "ARMCallLowering", "::", "splitToValueTypes", "(", "const", "ArgInfo", "&", "OrigArg", ",", "SmallVectorImpl", "<", "ArgInfo", ">", "&", "SplitArgs", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "LLVMContext", "&", "Ctx", "=", "OrigArg", ".", "Ty", "->", "getContext", "(", ")", ";", "const", "DataLayout", "&", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "SmallVector", "<", "EVT", ",", "4", ">", "SplitVTs", ";", "ComputeValueVTs", "(", "TLI", ",", "DL", ",", "OrigArg", ".", "Ty", ",", "SplitVTs", ",", "nullptr", ",", "nullptr", ",", "0", ")", ";", "assert", "(", "OrigArg", ".", "Regs", ".", "size", "(", ")", "==", "SplitVTs", ".", "size", "(", ")", "&&", "\"Regs / types mismatch\"", ")", ";", "if", "(", "SplitVTs", ".", "size", "(", ")", "==", "1", ")", "{", "auto", "Flags", "=", "OrigArg", ".", "Flags", "[", "0", "]", ";", "Flags", ".", "setOrigAlign", "(", "DL", ".", "getABITypeAlign", "(", "OrigArg", ".", "Ty", ")", ")", ";", "SplitArgs", ".", "emplace_back", "(", "OrigArg", ".", "Regs", "[", "0", "]", ",", "SplitVTs", "[", "0", "]", ".", "getTypeForEVT", "(", "Ctx", ")", ",", "Flags", ",", "OrigArg", ".", "IsFixed", ")", ";", "return", ";", "}", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "SplitVTs", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "EVT", "SplitVT", "=", "SplitVTs", "[", "i", "]", ";", "Type", "*", "SplitTy", "=", "SplitVT", ".", "getTypeForEVT", "(", "Ctx", ")", ";", "auto", "Flags", "=", "OrigArg", ".", "Flags", "[", "0", "]", ";", "Flags", ".", "setOrigAlign", "(", "DL", ".", "getABITypeAlign", "(", "SplitTy", ")", ")", ";", "bool", "NeedsConsecutiveRegisters", "=", "TLI", ".", "functionArgumentNeedsConsecutiveRegisters", "(", "SplitTy", ",", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "if", "(", "NeedsConsecutiveRegisters", ")", "{", "Flags", ".", "setInConsecutiveRegs", "(", ")", ";", "if", "(", "i", "==", "e", "-", "1", ")", "Flags", ".", "setInConsecutiveRegsLast", "(", ")", ";", "}", "Register", "PartReg", "=", "OrigArg", ".", "Regs", "[", "i", "]", ";", "SplitArgs", ".", "emplace_back", "(", "PartReg", ",", "SplitTy", ",", "Flags", ",", "OrigArg", ".", "IsFixed", ")", ";", "}", "}", ""], "natrual_language": ["Break", "OrigArgInfo", "into", "one", "or", "more", "pieces", "the", "calling", "convention", "can", "process", ",", "returned", "in", "SplitArgs", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "4", "0", "\"Regs / types mismatch\"", "1", "0", "0", "0", "0", "0", "1"], "File": "ARMCallLowering19", "Func": "splitToValueTypes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10342, "Length": 321} {"ground_truth": ["", "unsigned", "assignCustomValue", "(", "const", "ARMCallLowering", "::", "ArgInfo", "&", "Arg", ",", "ArrayRef", "<", "CCValAssign", ">", "VAs", ")", "override", "{", "assert", "(", "Arg", ".", "Regs", ".", "size", "(", ")", "==", "1", "&&", "\"Can't handle multple regs yet\"", ")", ";", "CCValAssign", "VA", "=", "VAs", "[", "0", "]", ";", "assert", "(", "VA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "VA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "CCValAssign", "NextVA", "=", "VAs", "[", "1", "]", ";", "assert", "(", "NextVA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "NextVA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "assert", "(", "VA", ".", "getValNo", "(", ")", "==", "NextVA", ".", "getValNo", "(", ")", "&&", "\"Values belong to different arguments\"", ")", ";", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "assert", "(", "NextVA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "Register", "NewRegs", "[", "]", "=", "{", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", ",", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", "}", ";", "assignValueToReg", "(", "NewRegs", "[", "0", "]", ",", "VA", ".", "getLocReg", "(", ")", ",", "VA", ")", ";", "assignValueToReg", "(", "NewRegs", "[", "1", "]", ",", "NextVA", ".", "getLocReg", "(", ")", ",", "NextVA", ")", ";", "bool", "IsLittle", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isLittle", "(", ")", ";", "if", "(", "!", "IsLittle", ")", "std", "::", "swap", "(", "NewRegs", "[", "0", "]", ",", "NewRegs", "[", "1", "]", ")", ";", "MIRBuilder", ".", "buildMerge", "(", "Arg", ".", "Regs", "[", "0", "]", ",", "NewRegs", ")", ";", "return", "1", ";", "}", ""], "natrual_language": ["Handle", "custom", "values", ",", "which", "may", "be", "passed", "into", "one", "or", "more", "of", "VAs", "."], "TS_V_token": ["ARM", "ARM", "1", "\"Can't handle multple regs yet\"", "0", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "1", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "\"Values belong to different arguments\"", "\"Value should be in reg\"", "\"Value should be in reg\"", "32", "32", "0", "1", "ARM", "0", "1", "0", "1"], "File": "ARMCallLowering1", "Func": "assignCustomValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10343, "Length": 261} {"ground_truth": ["", "void", "assignValueToAddress", "(", "Register", "ValVReg", ",", "Register", "Addr", ",", "uint64_t", "Size", ",", "MachinePointerInfo", "&", "MPO", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", "||", "Size", "==", "8", ")", "&&", "\"Unsupported size\"", ")", ";", "if", "(", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "SExt", "||", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "ZExt", ")", "{", "Size", "=", "4", ";", "assert", "(", "MRI", ".", "getType", "(", "ValVReg", ")", ".", "isScalar", "(", ")", "&&", "\"Only scalars supported atm\"", ")", ";", "auto", "LoadVReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", ";", "buildLoad", "(", "LoadVReg", ",", "Addr", ",", "Size", ",", "1", ",", "MPO", ")", ";", "MIRBuilder", ".", "buildTrunc", "(", "ValVReg", ",", "LoadVReg", ")", ";", "}", "else", "{", "buildLoad", "(", "ValVReg", ",", "Addr", ",", "Size", ",", "1", ",", "MPO", ")", ";", "}", "}", ""], "natrual_language": ["An", "overload", "which", "takes", "an", "ArgInfo", "if", "additional", "information", "about", "the", "arg", "is", "needed", "."], "TS_V_token": ["ARM", "1", "2", "4", "8", "\"Unsupported size\"", "4", "\"Only scalars supported atm\"", "32", "1", "1"], "File": "ARMCallLowering1", "Func": "assignValueToAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10344, "Length": 143} {"ground_truth": ["", "void", "assignValueToReg", "(", "Register", "ValVReg", ",", "Register", "PhysReg", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value shouldn't be assigned to reg\"", ")", ";", "assert", "(", "VA", ".", "getLocReg", "(", ")", "==", "PhysReg", "&&", "\"Assigning to the wrong reg?\"", ")", ";", "auto", "ValSize", "=", "VA", ".", "getValVT", "(", ")", ".", "getSizeInBits", "(", ")", ";", "auto", "LocSize", "=", "VA", ".", "getLocVT", "(", ")", ".", "getSizeInBits", "(", ")", ";", "assert", "(", "ValSize", "<=", "64", "&&", "\"Unsupported value size\"", ")", ";", "assert", "(", "LocSize", "<=", "64", "&&", "\"Unsupported location size\"", ")", ";", "markPhysRegUsed", "(", "PhysReg", ")", ";", "if", "(", "ValSize", "==", "LocSize", ")", "{", "MIRBuilder", ".", "buildCopy", "(", "ValVReg", ",", "PhysReg", ")", ";", "}", "else", "{", "assert", "(", "ValSize", "<", "LocSize", "&&", "\"Extensions not supported\"", ")", ";", "auto", "PhysRegToVReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "LocSize", ")", ")", ";", "MIRBuilder", ".", "buildCopy", "(", "PhysRegToVReg", ",", "PhysReg", ")", ";", "MIRBuilder", ".", "buildTrunc", "(", "ValVReg", ",", "PhysRegToVReg", ")", ";", "}", "}", ""], "natrual_language": ["The", "specified", "value", "has", "been", "assigned", "to", "a", "physical", "register", ",", "handle", "the", "appropriate", "COPY", "(", "either", "to", "or", "from", ")", "and", "mark", "any", "relevant", "uses/defines", "as", "needed", "."], "TS_V_token": ["ARM", "\"Value shouldn't be assigned to reg\"", "\"Assigning to the wrong reg?\"", "64", "\"Unsupported value size\"", "64", "\"Unsupported location size\"", "\"Extensions not supported\""], "File": "ARMCallLowering1", "Func": "assignValueToReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10345, "Length": 151} {"ground_truth": ["", "void", "buildLoad", "(", "Register", "Val", ",", "Register", "Addr", ",", "uint64_t", "Size", ",", "unsigned", "Alignment", ",", "MachinePointerInfo", "&", "MPO", ")", "{", "auto", "MMO", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getMachineMemOperand", "(", "MPO", ",", "MachineMemOperand", "::", "MOLoad", ",", "Size", ",", "Alignment", ")", ";", "MIRBuilder", ".", "buildLoad", "(", "Val", ",", "Addr", ",", "*", "MMO", ")", ";", "}", ""], "natrual_language": ["Build", "and", "insert", "a", "G_LOAD", "instruction", ",", "while", "constructing", "the", "MachineMemOperand", "."], "TS_V_token": ["ARM"], "File": "ARMCallLowering1", "Func": "buildLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10346, "Length": 55} {"ground_truth": ["", "Register", "getStackAddress", "(", "uint64_t", "Size", ",", "int64_t", "Offset", ",", "MachinePointerInfo", "&", "MPO", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", "||", "Size", "==", "8", ")", "&&", "\"Unsupported size\"", ")", ";", "auto", "&", "MFI", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getFrameInfo", "(", ")", ";", "int", "FI", "=", "MFI", ".", "CreateFixedObject", "(", "Size", ",", "Offset", ",", "true", ")", ";", "MPO", "=", "MachinePointerInfo", "::", "getFixedStack", "(", "MIRBuilder", ".", "getMF", "(", ")", ",", "FI", ")", ";", "unsigned", "AddrReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "pointer", "(", "MPO", ".", "getAddrSpace", "(", ")", ",", "32", ")", ")", ";", "MIRBuilder", ".", "buildFrameIndex", "(", "AddrReg", ",", "FI", ")", ";", "return", "AddrReg", ";", "}", ""], "natrual_language": ["Materialize", "a", "VReg", "containing", "the", "address", "of", "the", "specified", "stack-based", "object", "."], "TS_V_token": ["ARM", "1", "2", "4", "8", "\"Unsupported size\"", "32"], "File": "ARMCallLowering1", "Func": "getStackAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10347, "Length": 115} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "ArrayRef", "<", "Register", ">>", "VRegs", ")", "const", "{", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasByValOrInAllocaAttr", "(", ")", ")", "return", "false", ";", "}", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "SplitArgInfos", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "OrigArgInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "OrigArgInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "splitToValueTypes", "(", "OrigArgInfo", ",", "SplitArgInfos", ",", "MF", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "if", "(", "!", "handleAssignments", "(", "MIRBuilder", ",", "SplitArgInfos", ",", "ArgHandler", ")", ")", "return", "false", ";", "MIRBuilder", ".", "setMBB", "(", "MBB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "0"], "File": "ARMCallLowering1", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10348, "Length": 306} {"ground_truth": ["", "void", "ARMCallLowering", "::", "splitToValueTypes", "(", "const", "ArgInfo", "&", "OrigArg", ",", "SmallVectorImpl", "<", "ArgInfo", ">", "&", "SplitArgs", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "LLVMContext", "&", "Ctx", "=", "OrigArg", ".", "Ty", "->", "getContext", "(", ")", ";", "const", "DataLayout", "&", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "SmallVector", "<", "EVT", ",", "4", ">", "SplitVTs", ";", "ComputeValueVTs", "(", "TLI", ",", "DL", ",", "OrigArg", ".", "Ty", ",", "SplitVTs", ",", "nullptr", ",", "nullptr", ",", "0", ")", ";", "assert", "(", "OrigArg", ".", "Regs", ".", "size", "(", ")", "==", "SplitVTs", ".", "size", "(", ")", "&&", "\"Regs / types mismatch\"", ")", ";", "if", "(", "SplitVTs", ".", "size", "(", ")", "==", "1", ")", "{", "auto", "Flags", "=", "OrigArg", ".", "Flags", ";", "unsigned", "OriginalAlignment", "=", "DL", ".", "getABITypeAlignment", "(", "OrigArg", ".", "Ty", ")", ";", "Flags", ".", "setOrigAlign", "(", "OriginalAlignment", ")", ";", "SplitArgs", ".", "emplace_back", "(", "OrigArg", ".", "Regs", "[", "0", "]", ",", "SplitVTs", "[", "0", "]", ".", "getTypeForEVT", "(", "Ctx", ")", ",", "Flags", ",", "OrigArg", ".", "IsFixed", ")", ";", "return", ";", "}", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "SplitVTs", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "EVT", "SplitVT", "=", "SplitVTs", "[", "i", "]", ";", "Type", "*", "SplitTy", "=", "SplitVT", ".", "getTypeForEVT", "(", "Ctx", ")", ";", "auto", "Flags", "=", "OrigArg", ".", "Flags", ";", "unsigned", "OriginalAlignment", "=", "DL", ".", "getABITypeAlignment", "(", "SplitTy", ")", ";", "Flags", ".", "setOrigAlign", "(", "OriginalAlignment", ")", ";", "bool", "NeedsConsecutiveRegisters", "=", "TLI", ".", "functionArgumentNeedsConsecutiveRegisters", "(", "SplitTy", ",", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "if", "(", "NeedsConsecutiveRegisters", ")", "{", "Flags", ".", "setInConsecutiveRegs", "(", ")", ";", "if", "(", "i", "==", "e", "-", "1", ")", "Flags", ".", "setInConsecutiveRegsLast", "(", ")", ";", "}", "Register", "PartReg", "=", "OrigArg", ".", "Regs", "[", "i", "]", ";", "SplitArgs", ".", "emplace_back", "(", "PartReg", ",", "SplitTy", ",", "Flags", ",", "OrigArg", ".", "IsFixed", ")", ";", "}", "}", ""], "natrual_language": ["Break", "OrigArgInfo", "into", "one", "or", "more", "pieces", "the", "calling", "convention", "can", "process", ",", "returned", "in", "SplitArgs", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "4", "0", "\"Regs / types mismatch\"", "1", "0", "0", "0", "1"], "File": "ARMCallLowering1", "Func": "splitToValueTypes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10349, "Length": 325} {"ground_truth": ["", "MachineInstrBuilder", "buildLoad", "(", "const", "DstOp", "&", "Res", ",", "Register", "Addr", ",", "uint64_t", "Size", ",", "MachinePointerInfo", "&", "MPO", ")", "{", "MachineFunction", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "unsigned", "Alignment", "=", "inferAlignmentFromPtrInfo", "(", "MF", ",", "MPO", ")", ";", "auto", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MPO", ",", "MachineMemOperand", "::", "MOLoad", ",", "Size", ",", "Alignment", ")", ";", "return", "MIRBuilder", ".", "buildLoad", "(", "Res", ",", "Addr", ",", "*", "MMO", ")", ";", "}", ""], "natrual_language": ["Build", "and", "insert", "a", "G_LOAD", "instruction", ",", "while", "constructing", "the", "MachineMemOperand", "."], "TS_V_token": ["ARM"], "File": "ARMCallLowering21", "Func": "buildLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10350, "Length": 71} {"ground_truth": ["", "void", "assignValueToAddress", "(", "Register", "ValVReg", ",", "Register", "Addr", ",", "uint64_t", "Size", ",", "MachinePointerInfo", "&", "MPO", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", "||", "Size", "==", "8", ")", "&&", "\"Unsupported size\"", ")", ";", "if", "(", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "SExt", "||", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "ZExt", ")", "{", "Size", "=", "4", ";", "assert", "(", "MRI", ".", "getType", "(", "ValVReg", ")", ".", "isScalar", "(", ")", "&&", "\"Only scalars supported atm\"", ")", ";", "auto", "LoadVReg", "=", "buildLoad", "(", "LLT", "::", "scalar", "(", "32", ")", ",", "Addr", ",", "Size", ",", "1", ",", "MPO", ")", ";", "MIRBuilder", ".", "buildTrunc", "(", "ValVReg", ",", "LoadVReg", ")", ";", "}", "else", "{", "buildLoad", "(", "ValVReg", ",", "Addr", ",", "Size", ",", "1", ",", "MPO", ")", ";", "}", "}", ""], "natrual_language": ["An", "overload", "which", "takes", "an", "ArgInfo", "if", "additional", "information", "about", "the", "arg", "is", "needed", "."], "TS_V_token": ["ARM", "1", "2", "4", "8", "\"Unsupported size\"", "4", "\"Only scalars supported atm\"", "32", "1", "1"], "File": "ARMCallLowering22", "Func": "assignValueToAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10351, "Length": 136} {"ground_truth": ["", "MachineInstrBuilder", "buildLoad", "(", "const", "DstOp", "&", "Res", ",", "Register", "Addr", ",", "uint64_t", "Size", ",", "unsigned", "Alignment", ",", "MachinePointerInfo", "&", "MPO", ")", "{", "auto", "MMO", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getMachineMemOperand", "(", "MPO", ",", "MachineMemOperand", "::", "MOLoad", ",", "Size", ",", "Alignment", ")", ";", "return", "MIRBuilder", ".", "buildLoad", "(", "Res", ",", "Addr", ",", "*", "MMO", ")", ";", "}", ""], "natrual_language": ["Build", "and", "insert", "a", "G_LOAD", "instruction", ",", "while", "constructing", "the", "MachineMemOperand", "."], "TS_V_token": ["ARM"], "File": "ARMCallLowering22", "Func": "buildLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10352, "Length": 58} {"ground_truth": ["", "Register", "getStackAddress", "(", "uint64_t", "Size", ",", "int64_t", "Offset", ",", "MachinePointerInfo", "&", "MPO", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", "||", "Size", "==", "8", ")", "&&", "\"Unsupported size\"", ")", ";", "auto", "&", "MFI", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getFrameInfo", "(", ")", ";", "int", "FI", "=", "MFI", ".", "CreateFixedObject", "(", "Size", ",", "Offset", ",", "true", ")", ";", "MPO", "=", "MachinePointerInfo", "::", "getFixedStack", "(", "MIRBuilder", ".", "getMF", "(", ")", ",", "FI", ")", ";", "Register", "AddrReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "pointer", "(", "MPO", ".", "getAddrSpace", "(", ")", ",", "32", ")", ")", ";", "MIRBuilder", ".", "buildFrameIndex", "(", "AddrReg", ",", "FI", ")", ";", "return", "AddrReg", ";", "}", ""], "natrual_language": ["Materialize", "a", "VReg", "containing", "the", "address", "of", "the", "specified", "stack-based", "object", "."], "TS_V_token": ["ARM", "1", "2", "4", "8", "\"Unsupported size\"", "32"], "File": "ARMCallLowering23", "Func": "getStackAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10353, "Length": 115} {"ground_truth": ["", "void", "ARMCallLowering", "::", "splitToValueTypes", "(", "const", "ArgInfo", "&", "OrigArg", ",", "SmallVectorImpl", "<", "ArgInfo", ">", "&", "SplitArgs", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "LLVMContext", "&", "Ctx", "=", "OrigArg", ".", "Ty", "->", "getContext", "(", ")", ";", "const", "DataLayout", "&", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "SmallVector", "<", "EVT", ",", "4", ">", "SplitVTs", ";", "ComputeValueVTs", "(", "TLI", ",", "DL", ",", "OrigArg", ".", "Ty", ",", "SplitVTs", ",", "nullptr", ",", "nullptr", ",", "0", ")", ";", "assert", "(", "OrigArg", ".", "Regs", ".", "size", "(", ")", "==", "SplitVTs", ".", "size", "(", ")", "&&", "\"Regs / types mismatch\"", ")", ";", "if", "(", "SplitVTs", ".", "size", "(", ")", "==", "1", ")", "{", "auto", "Flags", "=", "OrigArg", ".", "Flags", "[", "0", "]", ";", "unsigned", "OriginalAlignment", "=", "DL", ".", "getABITypeAlignment", "(", "OrigArg", ".", "Ty", ")", ";", "Flags", ".", "setOrigAlign", "(", "OriginalAlignment", ")", ";", "SplitArgs", ".", "emplace_back", "(", "OrigArg", ".", "Regs", "[", "0", "]", ",", "SplitVTs", "[", "0", "]", ".", "getTypeForEVT", "(", "Ctx", ")", ",", "Flags", ",", "OrigArg", ".", "IsFixed", ")", ";", "return", ";", "}", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "SplitVTs", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "EVT", "SplitVT", "=", "SplitVTs", "[", "i", "]", ";", "Type", "*", "SplitTy", "=", "SplitVT", ".", "getTypeForEVT", "(", "Ctx", ")", ";", "auto", "Flags", "=", "OrigArg", ".", "Flags", "[", "0", "]", ";", "unsigned", "OriginalAlignment", "=", "DL", ".", "getABITypeAlignment", "(", "SplitTy", ")", ";", "Flags", ".", "setOrigAlign", "(", "OriginalAlignment", ")", ";", "bool", "NeedsConsecutiveRegisters", "=", "TLI", ".", "functionArgumentNeedsConsecutiveRegisters", "(", "SplitTy", ",", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "if", "(", "NeedsConsecutiveRegisters", ")", "{", "Flags", ".", "setInConsecutiveRegs", "(", ")", ";", "if", "(", "i", "==", "e", "-", "1", ")", "Flags", ".", "setInConsecutiveRegsLast", "(", ")", ";", "}", "Register", "PartReg", "=", "OrigArg", ".", "Regs", "[", "i", "]", ";", "SplitArgs", ".", "emplace_back", "(", "PartReg", ",", "SplitTy", ",", "Flags", ",", "OrigArg", ".", "IsFixed", ")", ";", "}", "}", ""], "natrual_language": ["Break", "OrigArgInfo", "into", "one", "or", "more", "pieces", "the", "calling", "convention", "can", "process", ",", "returned", "in", "SplitArgs", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "4", "0", "\"Regs / types mismatch\"", "1", "0", "0", "0", "0", "0", "1"], "File": "ARMCallLowering23", "Func": "splitToValueTypes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10354, "Length": 331} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "unsigned", ">", "VRegs", ")", "const", "{", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "SmallVector", "<", "unsigned", ",", "4", ">", "SplitRegs", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "AInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "AInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "SplitRegs", ".", "clear", "(", ")", ";", "splitToValueTypes", "(", "AInfo", ",", "ArgInfos", ",", "MF", ",", "[", "&", "]", "(", "unsigned", "Reg", ",", "uint64_t", "Offset", ")", "{", "SplitRegs", ".", "push_back", "(", "Reg", ")", ";", "}", ")", ";", "if", "(", "!", "SplitRegs", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "buildMerge", "(", "VRegs", "[", "Idx", "]", ",", "SplitRegs", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "return", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "ArgHandler", ")", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "4", "0"], "File": "ARMCallLowering26", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10355, "Length": 331} {"ground_truth": ["", "void", "ARMCallLowering", "::", "splitToValueTypes", "(", "const", "ArgInfo", "&", "OrigArg", ",", "SmallVectorImpl", "<", "ArgInfo", ">", "&", "SplitArgs", ",", "MachineFunction", "&", "MF", ",", "const", "SplitArgTy", "&", "PerformArgSplit", ")", "const", "{", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "LLVMContext", "&", "Ctx", "=", "OrigArg", ".", "Ty", "->", "getContext", "(", ")", ";", "const", "DataLayout", "&", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "SmallVector", "<", "EVT", ",", "4", ">", "SplitVTs", ";", "SmallVector", "<", "uint64_t", ",", "4", ">", "Offsets", ";", "ComputeValueVTs", "(", "TLI", ",", "DL", ",", "OrigArg", ".", "Ty", ",", "SplitVTs", ",", "&", "Offsets", ",", "0", ")", ";", "if", "(", "SplitVTs", ".", "size", "(", ")", "==", "1", ")", "{", "auto", "Flags", "=", "OrigArg", ".", "Flags", ";", "unsigned", "OriginalAlignment", "=", "DL", ".", "getABITypeAlignment", "(", "OrigArg", ".", "Ty", ")", ";", "Flags", ".", "setOrigAlign", "(", "OriginalAlignment", ")", ";", "SplitArgs", ".", "emplace_back", "(", "OrigArg", ".", "Reg", ",", "SplitVTs", "[", "0", "]", ".", "getTypeForEVT", "(", "Ctx", ")", ",", "Flags", ",", "OrigArg", ".", "IsFixed", ")", ";", "return", ";", "}", "unsigned", "FirstRegIdx", "=", "SplitArgs", ".", "size", "(", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "SplitVTs", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "EVT", "SplitVT", "=", "SplitVTs", "[", "i", "]", ";", "Type", "*", "SplitTy", "=", "SplitVT", ".", "getTypeForEVT", "(", "Ctx", ")", ";", "auto", "Flags", "=", "OrigArg", ".", "Flags", ";", "unsigned", "OriginalAlignment", "=", "DL", ".", "getABITypeAlignment", "(", "SplitTy", ")", ";", "Flags", ".", "setOrigAlign", "(", "OriginalAlignment", ")", ";", "bool", "NeedsConsecutiveRegisters", "=", "TLI", ".", "functionArgumentNeedsConsecutiveRegisters", "(", "SplitTy", ",", "F", "->", "getCallingConv", "(", ")", ",", "F", "->", "isVarArg", "(", ")", ")", ";", "if", "(", "NeedsConsecutiveRegisters", ")", "{", "Flags", ".", "setInConsecutiveRegs", "(", ")", ";", "if", "(", "i", "==", "e", "-", "1", ")", "Flags", ".", "setInConsecutiveRegsLast", "(", ")", ";", "}", "SplitArgs", ".", "push_back", "(", "ArgInfo", "{", "MRI", ".", "createGenericVirtualRegister", "(", "getLLTForType", "(", "*", "SplitTy", ",", "DL", ")", ")", ",", "SplitTy", ",", "Flags", ",", "OrigArg", ".", "IsFixed", "}", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Offsets", ".", "size", "(", ")", ";", "++", "i", ")", "PerformArgSplit", "(", "SplitArgs", "[", "FirstRegIdx", "+", "i", "]", ".", "Reg", ",", "Offsets", "[", "i", "]", "*", "8", ")", ";", "}", ""], "natrual_language": ["Break", "OrigArgInfo", "into", "one", "or", "more", "pieces", "the", "calling", "convention", "can", "process", ",", "returned", "in", "SplitArgs", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "4", "4", "0", "1", "0", "0", "1", "0", "8"], "File": "ARMCallLowering26", "Func": "splitToValueTypes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10356, "Length": 375} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "ArrayRef", "<", "Register", ">>", "VRegs", ",", "FunctionLoweringInfo", "&", "FLI", ")", "const", "{", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "const", "auto", "&", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasPassPointeeByValueCopyAttr", "(", ")", ")", "return", "false", ";", "}", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "OutgoingValueAssigner", "ArgAssigner", "(", "AssignFn", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "SplitArgInfos", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "OrigArgInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "OrigArgInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "splitToValueTypes", "(", "OrigArgInfo", ",", "SplitArgInfos", ",", "DL", ",", "F", ".", "getCallingConv", "(", ")", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "if", "(", "!", "determineAndHandleAssignments", "(", "ArgHandler", ",", "ArgAssigner", ",", "SplitArgInfos", ",", "MIRBuilder", ",", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ")", "return", "false", ";", "MIRBuilder", ".", "setMBB", "(", "MBB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "0"], "File": "ARMCallLowering29", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10357, "Length": 336} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "ArrayRef", "<", "Register", ">>", "VRegs", ",", "FunctionLoweringInfo", "&", "FLI", ")", "const", "{", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasPassPointeeByValueCopyAttr", "(", ")", ")", "return", "false", ";", "}", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "SplitArgInfos", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "OrigArgInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "OrigArgInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "splitToValueTypes", "(", "OrigArgInfo", ",", "SplitArgInfos", ",", "MF", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "if", "(", "!", "handleAssignments", "(", "MIRBuilder", ",", "SplitArgInfos", ",", "ArgHandler", ")", ")", "return", "false", ";", "MIRBuilder", ".", "setMBB", "(", "MBB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "0"], "File": "ARMCallLowering2", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10358, "Length": 310} {"ground_truth": ["", "Register", "getStackAddress", "(", "uint64_t", "Size", ",", "int64_t", "Offset", ",", "MachinePointerInfo", "&", "MPO", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", "||", "Size", "==", "8", ")", "&&", "\"Unsupported size\"", ")", ";", "LLT", "p0", "=", "LLT", "::", "pointer", "(", "0", ",", "32", ")", ";", "LLT", "s32", "=", "LLT", "::", "scalar", "(", "32", ")", ";", "Register", "SPReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "p0", ")", ";", "MIRBuilder", ".", "buildCopy", "(", "SPReg", ",", "Register", "(", "ARM", "::", "SP", ")", ")", ";", "Register", "OffsetReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "s32", ")", ";", "MIRBuilder", ".", "buildConstant", "(", "OffsetReg", ",", "Offset", ")", ";", "Register", "AddrReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "p0", ")", ";", "MIRBuilder", ".", "buildPtrAdd", "(", "AddrReg", ",", "SPReg", ",", "OffsetReg", ")", ";", "MPO", "=", "MachinePointerInfo", "::", "getStack", "(", "MIRBuilder", ".", "getMF", "(", ")", ",", "Offset", ")", ";", "return", "AddrReg", ";", "}", ""], "natrual_language": ["Materialize", "a", "VReg", "containing", "the", "address", "of", "the", "specified", "stack-based", "object", "."], "TS_V_token": ["ARM", "1", "2", "4", "8", "\"Unsupported size\"", "0", "32", "32", "ARM::SP"], "File": "ARMCallLowering30", "Func": "getStackAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10359, "Length": 143} {"ground_truth": ["", "void", "assignValueToAddress", "(", "unsigned", "ValVReg", ",", "unsigned", "Addr", ",", "uint64_t", "Size", ",", "MachinePointerInfo", "&", "MPO", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", "||", "Size", "==", "8", ")", "&&", "\"Unsupported size\"", ")", ";", "if", "(", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "SExt", "||", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "ZExt", ")", "{", "Size", "=", "4", ";", "assert", "(", "MRI", ".", "getType", "(", "ValVReg", ")", ".", "isScalar", "(", ")", "&&", "\"Only scalars supported atm\"", ")", ";", "auto", "LoadVReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", ";", "buildLoad", "(", "LoadVReg", ",", "Addr", ",", "Size", ",", "1", ",", "MPO", ")", ";", "MIRBuilder", ".", "buildTrunc", "(", "ValVReg", ",", "LoadVReg", ")", ";", "}", "else", "{", "buildLoad", "(", "ValVReg", ",", "Addr", ",", "Size", ",", "1", ",", "MPO", ")", ";", "}", "}", ""], "natrual_language": ["An", "overload", "which", "takes", "an", "ArgInfo", "if", "additional", "information", "about", "the", "arg", "is", "needed", "."], "TS_V_token": ["ARM", "1", "2", "4", "8", "\"Unsupported size\"", "4", "\"Only scalars supported atm\"", "32", "1", "1"], "File": "ARMCallLowering33", "Func": "assignValueToAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10360, "Length": 143} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "unsigned", ">", "VRegs", ")", "const", "{", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasByValOrInAllocaAttr", "(", ")", ")", "return", "false", ";", "}", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "SmallVector", "<", "unsigned", ",", "4", ">", "SplitRegs", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "AInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "AInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "SplitRegs", ".", "clear", "(", ")", ";", "splitToValueTypes", "(", "AInfo", ",", "ArgInfos", ",", "MF", ",", "[", "&", "]", "(", "unsigned", "Reg", ")", "{", "SplitRegs", ".", "push_back", "(", "Reg", ")", ";", "}", ")", ";", "if", "(", "!", "SplitRegs", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "buildMerge", "(", "VRegs", "[", "Idx", "]", ",", "SplitRegs", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "if", "(", "!", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "ArgHandler", ")", ")", "return", "false", ";", "MIRBuilder", ".", "setMBB", "(", "MBB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "4", "0"], "File": "ARMCallLowering33", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10361, "Length": 356} {"ground_truth": ["", "void", "ARMCallLowering", "::", "splitToValueTypes", "(", "const", "ArgInfo", "&", "OrigArg", ",", "SmallVectorImpl", "<", "ArgInfo", ">", "&", "SplitArgs", ",", "MachineFunction", "&", "MF", ",", "const", "SplitArgTy", "&", "PerformArgSplit", ")", "const", "{", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "LLVMContext", "&", "Ctx", "=", "OrigArg", ".", "Ty", "->", "getContext", "(", ")", ";", "const", "DataLayout", "&", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "SmallVector", "<", "EVT", ",", "4", ">", "SplitVTs", ";", "ComputeValueVTs", "(", "TLI", ",", "DL", ",", "OrigArg", ".", "Ty", ",", "SplitVTs", ",", "nullptr", ",", "nullptr", ",", "0", ")", ";", "if", "(", "SplitVTs", ".", "size", "(", ")", "==", "1", ")", "{", "auto", "Flags", "=", "OrigArg", ".", "Flags", ";", "unsigned", "OriginalAlignment", "=", "DL", ".", "getABITypeAlignment", "(", "OrigArg", ".", "Ty", ")", ";", "Flags", ".", "setOrigAlign", "(", "OriginalAlignment", ")", ";", "SplitArgs", ".", "emplace_back", "(", "OrigArg", ".", "Reg", ",", "SplitVTs", "[", "0", "]", ".", "getTypeForEVT", "(", "Ctx", ")", ",", "Flags", ",", "OrigArg", ".", "IsFixed", ")", ";", "return", ";", "}", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "SplitVTs", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "EVT", "SplitVT", "=", "SplitVTs", "[", "i", "]", ";", "Type", "*", "SplitTy", "=", "SplitVT", ".", "getTypeForEVT", "(", "Ctx", ")", ";", "auto", "Flags", "=", "OrigArg", ".", "Flags", ";", "unsigned", "OriginalAlignment", "=", "DL", ".", "getABITypeAlignment", "(", "SplitTy", ")", ";", "Flags", ".", "setOrigAlign", "(", "OriginalAlignment", ")", ";", "bool", "NeedsConsecutiveRegisters", "=", "TLI", ".", "functionArgumentNeedsConsecutiveRegisters", "(", "SplitTy", ",", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "if", "(", "NeedsConsecutiveRegisters", ")", "{", "Flags", ".", "setInConsecutiveRegs", "(", ")", ";", "if", "(", "i", "==", "e", "-", "1", ")", "Flags", ".", "setInConsecutiveRegsLast", "(", ")", ";", "}", "unsigned", "PartReg", "=", "MRI", ".", "createGenericVirtualRegister", "(", "getLLTForType", "(", "*", "SplitTy", ",", "DL", ")", ")", ";", "SplitArgs", ".", "push_back", "(", "ArgInfo", "{", "PartReg", ",", "SplitTy", ",", "Flags", ",", "OrigArg", ".", "IsFixed", "}", ")", ";", "PerformArgSplit", "(", "PartReg", ")", ";", "}", "}", ""], "natrual_language": ["Break", "OrigArgInfo", "into", "one", "or", "more", "pieces", "the", "calling", "convention", "can", "process", ",", "returned", "in", "SplitArgs", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "4", "0", "1", "0", "0", "1"], "File": "ARMCallLowering33", "Func": "splitToValueTypes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10362, "Length": 332} {"ground_truth": ["", "unsigned", "assignCustomValue", "(", "const", "CallLowering", "::", "ArgInfo", "&", "Arg", ",", "ArrayRef", "<", "CCValAssign", ">", "VAs", ")", "override", "{", "CCValAssign", "VA", "=", "VAs", "[", "0", "]", ";", "assert", "(", "VA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "VA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "CCValAssign", "NextVA", "=", "VAs", "[", "1", "]", ";", "assert", "(", "NextVA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "NextVA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "assert", "(", "VA", ".", "getValNo", "(", ")", "==", "NextVA", ".", "getValNo", "(", ")", "&&", "\"Values belong to different arguments\"", ")", ";", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "assert", "(", "NextVA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "unsigned", "NewRegs", "[", "]", "=", "{", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", ",", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", "}", ";", "MIRBuilder", ".", "buildExtract", "(", "NewRegs", "[", "0", "]", ",", "Arg", ".", "Reg", ",", "0", ")", ";", "MIRBuilder", ".", "buildExtract", "(", "NewRegs", "[", "1", "]", ",", "Arg", ".", "Reg", ",", "32", ")", ";", "bool", "IsLittle", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isLittle", "(", ")", ";", "if", "(", "!", "IsLittle", ")", "std", "::", "swap", "(", "NewRegs", "[", "0", "]", ",", "NewRegs", "[", "1", "]", ")", ";", "assignValueToReg", "(", "NewRegs", "[", "0", "]", ",", "VA", ".", "getLocReg", "(", ")", ",", "VA", ")", ";", "assignValueToReg", "(", "NewRegs", "[", "1", "]", ",", "NextVA", ".", "getLocReg", "(", ")", ",", "NextVA", ")", ";", "return", "1", ";", "}", ""], "natrual_language": ["Handle", "custom", "values", ",", "which", "may", "be", "passed", "into", "one", "or", "more", "of", "VAs", "."], "TS_V_token": ["ARM", "0", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "1", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "\"Values belong to different arguments\"", "\"Value should be in reg\"", "\"Value should be in reg\"", "32", "32", "0", "0", "1", "32", "ARM", "0", "1", "0", "1", "1"], "File": "ARMCallLowering34", "Func": "assignCustomValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10363, "Length": 264} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerCall", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "CallingConv", "::", "ID", "CallConv", ",", "const", "MachineOperand", "&", "Callee", ",", "const", "ArgInfo", "&", "OrigRet", ",", "ArrayRef", "<", "ArgInfo", ">", "OrigArgs", ")", "const", "{", "MachineFunction", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "const", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "const", "auto", "&", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "const", "TargetRegisterInfo", "*", "TRI", "=", "MF", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MachineRegisterInfo", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "if", "(", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "genLongCalls", "(", ")", ")", "return", "false", ";", "auto", "CallSeqStart", "=", "MIRBuilder", ".", "buildInstr", "(", "ARM", "::", "ADJCALLSTACKDOWN", ")", ";", "auto", "MIB", "=", "MIRBuilder", ".", "buildInstrNoInsert", "(", "ARM", "::", "BLX", ")", ".", "add", "(", "Callee", ")", ".", "addRegMask", "(", "TRI", "->", "getCallPreservedMask", "(", "MF", ",", "CallConv", ")", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "for", "(", "auto", "Arg", ":", "OrigArgs", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "Ty", ")", ")", "return", "false", ";", "if", "(", "!", "Arg", ".", "IsFixed", ")", "return", "false", ";", "splitToValueTypes", "(", "Arg", ",", "ArgInfos", ",", "DL", ",", "MRI", ")", ";", "}", "auto", "ArgAssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "CallConv", ",", "false", ")", ";", "OutgoingValueHandler", "ArgHandler", "(", "MIRBuilder", ",", "MRI", ",", "MIB", ",", "ArgAssignFn", ")", ";", "if", "(", "!", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "ArgHandler", ")", ")", "return", "false", ";", "MIRBuilder", ".", "insertInstr", "(", "MIB", ")", ";", "if", "(", "!", "OrigRet", ".", "Ty", "->", "isVoidTy", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "OrigRet", ".", "Ty", ")", ")", "return", "false", ";", "ArgInfos", ".", "clear", "(", ")", ";", "splitToValueTypes", "(", "OrigRet", ",", "ArgInfos", ",", "DL", ",", "MRI", ")", ";", "auto", "RetAssignFn", "=", "TLI", ".", "CCAssignFnForReturn", "(", "CallConv", ",", "false", ")", ";", "CallReturnHandler", "RetHandler", "(", "MIRBuilder", ",", "MRI", ",", "MIB", ",", "RetAssignFn", ")", ";", "if", "(", "!", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "RetHandler", ")", ")", "return", "false", ";", "}", "CallSeqStart", ".", "addImm", "(", "ArgHandler", ".", "StackSize", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "MIRBuilder", ".", "buildInstr", "(", "ARM", "::", "ADJCALLSTACKUP", ")", ".", "addImm", "(", "ArgHandler", ".", "StackSize", ")", ".", "addImm", "(", "0", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "given", "call", "instruction", ",", "including", "argument", "and", "return", "value", "marshalling", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::ADJCALLSTACKDOWN", "ARM::BLX", "8", "ARMCC::AL", "ARM::ADJCALLSTACKUP", "0", "ARMCC::AL"], "File": "ARMCallLowering34", "Func": "lowerCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10364, "Length": 391} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "unsigned", ">", "VRegs", ")", "const", "{", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "false", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "AInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "AInfo", ",", "Idx", "+", "1", ",", "DL", ",", "F", ")", ";", "splitToValueTypes", "(", "AInfo", ",", "ArgInfos", ",", "DL", ",", "MF", ".", "getRegInfo", "(", ")", ")", ";", "Idx", "++", ";", "}", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "return", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "ArgHandler", ")", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "0", "1"], "File": "ARMCallLowering34", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10365, "Length": 249} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "unsigned", ">", "VRegs", ")", "const", "{", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "false", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "SmallVector", "<", "unsigned", ",", "4", ">", "SplitRegs", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "AInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "AInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "SplitRegs", ".", "clear", "(", ")", ";", "splitToValueTypes", "(", "AInfo", ",", "ArgInfos", ",", "MF", ",", "[", "&", "]", "(", "unsigned", "Reg", ",", "uint64_t", "Offset", ")", "{", "SplitRegs", ".", "push_back", "(", "Reg", ")", ";", "}", ")", ";", "if", "(", "!", "SplitRegs", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "buildMerge", "(", "VRegs", "[", "Idx", "]", ",", "SplitRegs", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "return", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "ArgHandler", ")", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "4", "0"], "File": "ARMCallLowering36", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10366, "Length": 331} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "unsigned", ">", "VRegs", ")", "const", "{", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "useSoftFloat", "(", ")", "||", "!", "Subtarget", "->", "hasVFP2", "(", ")", ")", "return", "false", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "ArgInfos", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "AInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "AInfo", ",", "Idx", "+", "1", ",", "DL", ",", "F", ")", ";", "splitToValueTypes", "(", "AInfo", ",", "ArgInfos", ",", "DL", ",", "MF", ".", "getRegInfo", "(", ")", ")", ";", "Idx", "++", ";", "}", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "return", "handleAssignments", "(", "MIRBuilder", ",", "ArgInfos", ",", "ArgHandler", ")", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "0", "1"], "File": "ARMCallLowering38", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10367, "Length": 267} {"ground_truth": ["", "unsigned", "assignCustomValue", "(", "const", "llvm", "::", "ARMCallLowering", "::", "ArgInfo", "&", "Arg", ",", "ArrayRef", "<", "CCValAssign", ">", "VAs", ")", "override", "{", "CCValAssign", "VA", "=", "VAs", "[", "0", "]", ";", "assert", "(", "VA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "VA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "CCValAssign", "NextVA", "=", "VAs", "[", "1", "]", ";", "assert", "(", "NextVA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "NextVA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "assert", "(", "VA", ".", "getValNo", "(", ")", "==", "NextVA", ".", "getValNo", "(", ")", "&&", "\"Values belong to different arguments\"", ")", ";", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "assert", "(", "NextVA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "unsigned", "NewRegs", "[", "]", "=", "{", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", ",", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", "}", ";", "assignValueToReg", "(", "NewRegs", "[", "0", "]", ",", "VA", ".", "getLocReg", "(", ")", ",", "VA", ")", ";", "assignValueToReg", "(", "NewRegs", "[", "1", "]", ",", "NextVA", ".", "getLocReg", "(", ")", ",", "NextVA", ")", ";", "bool", "IsLittle", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isLittle", "(", ")", ";", "if", "(", "!", "IsLittle", ")", "std", "::", "swap", "(", "NewRegs", "[", "0", "]", ",", "NewRegs", "[", "1", "]", ")", ";", "MIRBuilder", ".", "buildSequence", "(", "Arg", ".", "Reg", ",", "NewRegs", ",", "{", "0", ",", "32", "}", ")", ";", "return", "1", ";", "}", ""], "natrual_language": ["Handle", "custom", "values", ",", "which", "may", "be", "passed", "into", "one", "or", "more", "of", "VAs", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "1", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "\"Values belong to different arguments\"", "\"Value should be in reg\"", "\"Value should be in reg\"", "32", "32", "0", "1", "ARM", "0", "1", "0", "32", "1"], "File": "ARMCallLowering47", "Func": "assignCustomValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10368, "Length": 251} {"ground_truth": ["", "void", "assignValueToReg", "(", "unsigned", "ValVReg", ",", "unsigned", "PhysReg", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value shouldn't be assigned to reg\"", ")", ";", "assert", "(", "VA", ".", "getLocReg", "(", ")", "==", "PhysReg", "&&", "\"Assigning to the wrong reg?\"", ")", ";", "assert", "(", "VA", ".", "getValVT", "(", ")", ".", "getSizeInBits", "(", ")", "<=", "64", "&&", "\"Unsupported value size\"", ")", ";", "assert", "(", "VA", ".", "getLocVT", "(", ")", ".", "getSizeInBits", "(", ")", "<=", "64", "&&", "\"Unsupported location size\"", ")", ";", "MIRBuilder", ".", "getMBB", "(", ")", ".", "addLiveIn", "(", "PhysReg", ")", ";", "MIRBuilder", ".", "buildCopy", "(", "ValVReg", ",", "PhysReg", ")", ";", "}", ""], "natrual_language": ["The", "specified", "value", "has", "been", "assigned", "to", "a", "physical", "register", ",", "handle", "the", "appropriate", "COPY", "(", "either", "to", "or", "from", ")", "and", "mark", "any", "relevant", "uses/defines", "as", "needed", "."], "TS_V_token": ["ARM", "\"Value shouldn't be assigned to reg\"", "\"Assigning to the wrong reg?\"", "64", "\"Unsupported value size\"", "64", "\"Unsupported location size\""], "File": "ARMCallLowering47", "Func": "assignValueToReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10369, "Length": 94} {"ground_truth": ["", "unsigned", "assignCustomValue", "(", "const", "ARMCallLowering", "::", "ArgInfo", "&", "Arg", ",", "ArrayRef", "<", "CCValAssign", ">", "VAs", ")", "override", "{", "assert", "(", "Arg", ".", "Regs", ".", "size", "(", ")", "==", "1", "&&", "\"Can't handle multple regs yet\"", ")", ";", "CCValAssign", "VA", "=", "VAs", "[", "0", "]", ";", "assert", "(", "VA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "if", "(", "VA", ".", "getValVT", "(", ")", "!=", "MVT", "::", "f64", ")", "return", "0", ";", "CCValAssign", "NextVA", "=", "VAs", "[", "1", "]", ";", "assert", "(", "NextVA", ".", "needsCustom", "(", ")", "&&", "\"Value doesn't need custom handling\"", ")", ";", "assert", "(", "NextVA", ".", "getValVT", "(", ")", "==", "MVT", "::", "f64", "&&", "\"Unsupported type\"", ")", ";", "assert", "(", "VA", ".", "getValNo", "(", ")", "==", "NextVA", ".", "getValNo", "(", ")", "&&", "\"Values belong to different arguments\"", ")", ";", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "assert", "(", "NextVA", ".", "isRegLoc", "(", ")", "&&", "\"Value should be in reg\"", ")", ";", "Register", "NewRegs", "[", "]", "=", "{", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", ",", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", "}", ";", "assignValueToReg", "(", "NewRegs", "[", "0", "]", ",", "VA", ".", "getLocReg", "(", ")", ",", "VA", ")", ";", "assignValueToReg", "(", "NewRegs", "[", "1", "]", ",", "NextVA", ".", "getLocReg", "(", ")", ",", "NextVA", ")", ";", "bool", "IsLittle", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isLittle", "(", ")", ";", "if", "(", "!", "IsLittle", ")", "std", "::", "swap", "(", "NewRegs", "[", "0", "]", ",", "NewRegs", "[", "1", "]", ")", ";", "MIRBuilder", ".", "buildMerge", "(", "Arg", ".", "Regs", "[", "0", "]", ",", "NewRegs", ")", ";", "return", "1", ";", "}", ""], "natrual_language": ["Handle", "custom", "values", ",", "which", "may", "be", "passed", "into", "one", "or", "more", "of", "VAs", "."], "TS_V_token": ["ARM", "ARM", "1", "\"Can't handle multple regs yet\"", "0", "\"Value doesn't need custom handling\"", "MVT::f64", "0", "1", "\"Value doesn't need custom handling\"", "MVT::f64", "\"Unsupported type\"", "\"Values belong to different arguments\"", "\"Value should be in reg\"", "\"Value should be in reg\"", "32", "32", "0", "1", "ARM", "0", "1", "0", "1"], "File": "ARMCallLowering", "Func": "assignCustomValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10370, "Length": 261} {"ground_truth": ["", "void", "assignValueToAddress", "(", "Register", "ValVReg", ",", "Register", "Addr", ",", "uint64_t", "Size", ",", "MachinePointerInfo", "&", "MPO", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", "||", "Size", "==", "8", ")", "&&", "\"Unsupported size\"", ")", ";", "if", "(", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "SExt", "||", "VA", ".", "getLocInfo", "(", ")", "==", "CCValAssign", "::", "ZExt", ")", "{", "Size", "=", "4", ";", "assert", "(", "MRI", ".", "getType", "(", "ValVReg", ")", ".", "isScalar", "(", ")", "&&", "\"Only scalars supported atm\"", ")", ";", "auto", "LoadVReg", "=", "buildLoad", "(", "LLT", "::", "scalar", "(", "32", ")", ",", "Addr", ",", "Size", ",", "MPO", ")", ";", "MIRBuilder", ".", "buildTrunc", "(", "ValVReg", ",", "LoadVReg", ")", ";", "}", "else", "{", "buildLoad", "(", "ValVReg", ",", "Addr", ",", "Size", ",", "MPO", ")", ";", "}", "}", ""], "natrual_language": ["An", "overload", "which", "takes", "an", "ArgInfo", "if", "additional", "information", "about", "the", "arg", "is", "needed", "."], "TS_V_token": ["ARM", "1", "2", "4", "8", "\"Unsupported size\"", "4", "\"Only scalars supported atm\"", "32"], "File": "ARMCallLowering", "Func": "assignValueToAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10371, "Length": 132} {"ground_truth": ["", "void", "assignValueToReg", "(", "Register", "ValVReg", ",", "Register", "PhysReg", ",", "CCValAssign", "&", "VA", ")", "override", "{", "assert", "(", "VA", ".", "isRegLoc", "(", ")", "&&", "\"Value shouldn't be assigned to reg\"", ")", ";", "assert", "(", "VA", ".", "getLocReg", "(", ")", "==", "PhysReg", "&&", "\"Assigning to the wrong reg?\"", ")", ";", "auto", "ValSize", "=", "VA", ".", "getValVT", "(", ")", ".", "getSizeInBits", "(", ")", ";", "auto", "LocSize", "=", "VA", ".", "getLocVT", "(", ")", ".", "getSizeInBits", "(", ")", ";", "assert", "(", "ValSize", "<=", "64", "&&", "\"Unsupported value size\"", ")", ";", "assert", "(", "LocSize", "<=", "64", "&&", "\"Unsupported location size\"", ")", ";", "markPhysRegUsed", "(", "PhysReg", ")", ";", "if", "(", "ValSize", "==", "LocSize", ")", "{", "MIRBuilder", ".", "buildCopy", "(", "ValVReg", ",", "PhysReg", ")", ";", "}", "else", "{", "assert", "(", "ValSize", "<", "LocSize", "&&", "\"Extensions not supported\"", ")", ";", "auto", "PhysRegToVReg", "=", "MIRBuilder", ".", "buildCopy", "(", "LLT", "::", "scalar", "(", "LocSize", ")", ",", "PhysReg", ")", ";", "MIRBuilder", ".", "buildTrunc", "(", "ValVReg", ",", "PhysRegToVReg", ")", ";", "}", "}", ""], "natrual_language": ["The", "specified", "value", "has", "been", "assigned", "to", "a", "physical", "register", ",", "handle", "the", "appropriate", "COPY", "(", "either", "to", "or", "from", ")", "and", "mark", "any", "relevant", "uses/defines", "as", "needed", "."], "TS_V_token": ["ARM", "\"Value shouldn't be assigned to reg\"", "\"Assigning to the wrong reg?\"", "64", "\"Unsupported value size\"", "64", "\"Unsupported location size\"", "\"Extensions not supported\""], "File": "ARMCallLowering", "Func": "assignValueToReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10372, "Length": 144} {"ground_truth": ["", "MachineInstrBuilder", "buildLoad", "(", "const", "DstOp", "&", "Res", ",", "Register", "Addr", ",", "uint64_t", "Size", ",", "MachinePointerInfo", "&", "MPO", ")", "{", "MachineFunction", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MPO", ",", "MachineMemOperand", "::", "MOLoad", ",", "Size", ",", "inferAlignFromPtrInfo", "(", "MF", ",", "MPO", ")", ")", ";", "return", "MIRBuilder", ".", "buildLoad", "(", "Res", ",", "Addr", ",", "*", "MMO", ")", ";", "}", ""], "natrual_language": ["Build", "and", "insert", "a", "G_LOAD", "instruction", ",", "while", "constructing", "the", "MachineMemOperand", "."], "TS_V_token": ["ARM"], "File": "ARMCallLowering", "Func": "buildLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10373, "Length": 66} {"ground_truth": ["", "Register", "getStackAddress", "(", "uint64_t", "Size", ",", "int64_t", "Offset", ",", "MachinePointerInfo", "&", "MPO", ")", "override", "{", "assert", "(", "(", "Size", "==", "1", "||", "Size", "==", "2", "||", "Size", "==", "4", "||", "Size", "==", "8", ")", "&&", "\"Unsupported size\"", ")", ";", "auto", "&", "MFI", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getFrameInfo", "(", ")", ";", "int", "FI", "=", "MFI", ".", "CreateFixedObject", "(", "Size", ",", "Offset", ",", "true", ")", ";", "MPO", "=", "MachinePointerInfo", "::", "getFixedStack", "(", "MIRBuilder", ".", "getMF", "(", ")", ",", "FI", ")", ";", "return", "MIRBuilder", ".", "buildFrameIndex", "(", "LLT", "::", "pointer", "(", "MPO", ".", "getAddrSpace", "(", ")", ",", "32", ")", ",", "FI", ")", ".", "getReg", "(", "0", ")", ";", "}", ""], "natrual_language": ["Materialize", "a", "VReg", "containing", "the", "address", "of", "the", "specified", "stack-based", "object", "."], "TS_V_token": ["ARM", "1", "2", "4", "8", "\"Unsupported size\"", "32", "0"], "File": "ARMCallLowering", "Func": "getStackAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10374, "Length": 108} {"ground_truth": ["", "bool", "isIncomingArgumentHandler", "(", ")", "const", "override", "{", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "handler", "is", "dealing", "with", "incoming", "arguments", ",", "i.e", "."], "TS_V_token": ["ARM"], "File": "ARMCallLowering", "Func": "isIncomingArgumentHandler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10375, "Length": 11} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerFormalArguments", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Function", "&", "F", ",", "ArrayRef", "<", "ArrayRef", "<", "Register", ">>", "VRegs", ")", "const", "{", "auto", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "auto", "Subtarget", "=", "TLI", ".", "getSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "if", "(", "F", ".", "arg_empty", "(", ")", ")", "return", "true", ";", "if", "(", "F", ".", "isVarArg", "(", ")", ")", "return", "false", ";", "auto", "&", "MF", "=", "MIRBuilder", ".", "getMF", "(", ")", ";", "auto", "&", "MBB", "=", "MIRBuilder", ".", "getMBB", "(", ")", ";", "auto", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "if", "(", "!", "isSupportedType", "(", "DL", ",", "TLI", ",", "Arg", ".", "getType", "(", ")", ")", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasPassPointeeByValueAttr", "(", ")", ")", "return", "false", ";", "}", "CCAssignFn", "*", "AssignFn", "=", "TLI", ".", "CCAssignFnForCall", "(", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "FormalArgHandler", "ArgHandler", "(", "MIRBuilder", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getRegInfo", "(", ")", ",", "AssignFn", ")", ";", "SmallVector", "<", "ArgInfo", ",", "8", ">", "SplitArgInfos", ";", "unsigned", "Idx", "=", "0", ";", "for", "(", "auto", "&", "Arg", ":", "F", ".", "args", "(", ")", ")", "{", "ArgInfo", "OrigArgInfo", "(", "VRegs", "[", "Idx", "]", ",", "Arg", ".", "getType", "(", ")", ")", ";", "setArgFlags", "(", "OrigArgInfo", ",", "Idx", "+", "AttributeList", "::", "FirstArgIndex", ",", "DL", ",", "F", ")", ";", "splitToValueTypes", "(", "OrigArgInfo", ",", "SplitArgInfos", ",", "MF", ")", ";", "Idx", "++", ";", "}", "if", "(", "!", "MBB", ".", "empty", "(", ")", ")", "MIRBuilder", ".", "setInstr", "(", "*", "MBB", ".", "begin", "(", ")", ")", ";", "if", "(", "!", "handleAssignments", "(", "MIRBuilder", ",", "SplitArgInfos", ",", "ArgHandler", ")", ")", "return", "false", ";", "MIRBuilder", ".", "setMBB", "(", "MBB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "must", "be", "implemented", "to", "lower", "the", "incoming", "(", "formal", ")", "arguments", ",", "described", "by", "VRegs", ",", "for", "GlobalISel", "."], "TS_V_token": ["ARM", "ARM", "ARM", "8", "0"], "File": "ARMCallLowering", "Func": "lowerFormalArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10376, "Length": 306} {"ground_truth": ["", "bool", "ARMCallLowering", "::", "lowerReturn", "(", "MachineIRBuilder", "&", "MIRBuilder", ",", "const", "Value", "*", "Val", ",", "ArrayRef", "<", "Register", ">", "VRegs", ")", "const", "{", "assert", "(", "!", "Val", "==", "VRegs", ".", "empty", "(", ")", "&&", "\"Return value without a vreg\"", ")", ";", "auto", "const", "&", "ST", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "unsigned", "Opcode", "=", "ST", ".", "getReturnOpcode", "(", ")", ";", "auto", "Ret", "=", "MIRBuilder", ".", "buildInstrNoInsert", "(", "Opcode", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "!", "lowerReturnVal", "(", "MIRBuilder", ",", "Val", ",", "VRegs", ",", "Ret", ")", ")", "return", "false", ";", "MIRBuilder", ".", "insertInstr", "(", "Ret", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "hook", "behaves", "as", "the", "extended", "lowerReturn", "function", ",", "but", "for", "targets", "that", "do", "not", "support", "swifterror", "value", "promotion", "."], "TS_V_token": ["ARM", "ARM", "\"Return value without a vreg\"", "ARM", "ARMCC::AL"], "File": "ARMCallLowering", "Func": "lowerReturn", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10377, "Length": 111} {"ground_truth": ["", "void", "ARMCallLowering", "::", "splitToValueTypes", "(", "const", "ArgInfo", "&", "OrigArg", ",", "SmallVectorImpl", "<", "ArgInfo", ">", "&", "SplitArgs", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "getTLI", "<", "ARMTargetLowering", ">", "(", ")", ";", "LLVMContext", "&", "Ctx", "=", "OrigArg", ".", "Ty", "->", "getContext", "(", ")", ";", "const", "DataLayout", "&", "DL", "=", "MF", ".", "getDataLayout", "(", ")", ";", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "SmallVector", "<", "EVT", ",", "4", ">", "SplitVTs", ";", "ComputeValueVTs", "(", "TLI", ",", "DL", ",", "OrigArg", ".", "Ty", ",", "SplitVTs", ",", "nullptr", ",", "nullptr", ",", "0", ")", ";", "assert", "(", "OrigArg", ".", "Regs", ".", "size", "(", ")", "==", "SplitVTs", ".", "size", "(", ")", "&&", "\"Regs / types mismatch\"", ")", ";", "if", "(", "SplitVTs", ".", "size", "(", ")", "==", "1", ")", "{", "auto", "Flags", "=", "OrigArg", ".", "Flags", "[", "0", "]", ";", "Flags", ".", "setOrigAlign", "(", "Align", "(", "DL", ".", "getABITypeAlignment", "(", "OrigArg", ".", "Ty", ")", ")", ")", ";", "SplitArgs", ".", "emplace_back", "(", "OrigArg", ".", "Regs", "[", "0", "]", ",", "SplitVTs", "[", "0", "]", ".", "getTypeForEVT", "(", "Ctx", ")", ",", "Flags", ",", "OrigArg", ".", "IsFixed", ")", ";", "return", ";", "}", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "SplitVTs", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "EVT", "SplitVT", "=", "SplitVTs", "[", "i", "]", ";", "Type", "*", "SplitTy", "=", "SplitVT", ".", "getTypeForEVT", "(", "Ctx", ")", ";", "auto", "Flags", "=", "OrigArg", ".", "Flags", "[", "0", "]", ";", "Flags", ".", "setOrigAlign", "(", "Align", "(", "DL", ".", "getABITypeAlignment", "(", "SplitTy", ")", ")", ")", ";", "bool", "NeedsConsecutiveRegisters", "=", "TLI", ".", "functionArgumentNeedsConsecutiveRegisters", "(", "SplitTy", ",", "F", ".", "getCallingConv", "(", ")", ",", "F", ".", "isVarArg", "(", ")", ")", ";", "if", "(", "NeedsConsecutiveRegisters", ")", "{", "Flags", ".", "setInConsecutiveRegs", "(", ")", ";", "if", "(", "i", "==", "e", "-", "1", ")", "Flags", ".", "setInConsecutiveRegsLast", "(", ")", ";", "}", "Register", "PartReg", "=", "OrigArg", ".", "Regs", "[", "i", "]", ";", "SplitArgs", ".", "emplace_back", "(", "PartReg", ",", "SplitTy", ",", "Flags", ",", "OrigArg", ".", "IsFixed", ")", ";", "}", "}", ""], "natrual_language": ["Break", "OrigArgInfo", "into", "one", "or", "more", "pieces", "the", "calling", "convention", "can", "process", ",", "returned", "in", "SplitArgs", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "4", "0", "\"Regs / types mismatch\"", "1", "0", "0", "0", "0", "0", "1"], "File": "ARMCallLowering", "Func": "splitToValueTypes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10378, "Length": 327} {"ground_truth": ["", "void", "ARMCodeEmitter", "::", "emitInstruction", "(", "const", "MachineInstr", "&", "MI", ")", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JIT: \"", "<<", "(", "void", "*", ")", "MCE", ".", "getCurrentPCValue", "(", ")", "<<", "\":\\t\"", "<<", "MI", ")", ";", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ",", "true", ")", ";", "++", "NumEmitted", ";", "switch", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "{", "default", ":", "{", "llvm_unreachable", "(", "\"Unhandled instruction encoding format!\"", ")", ";", "break", ";", "}", "case", "ARMII", "::", "MiscFrm", ":", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "LEApcrelJT", ")", "{", "emitLEApcrelJTInstruction", "(", "MI", ")", ";", "break", ";", "}", "llvm_unreachable", "(", "\"Unhandled instruction encoding!\"", ")", ";", "break", ";", "case", "ARMII", "::", "Pseudo", ":", "emitPseudoInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "DPFrm", ":", "case", "ARMII", "::", "DPSoRegFrm", ":", "emitDataProcessingInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdFrm", ":", "case", "ARMII", "::", "StFrm", ":", "emitLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdMiscFrm", ":", "case", "ARMII", "::", "StMiscFrm", ":", "emitMiscLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdStMulFrm", ":", "emitLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "MulFrm", ":", "emitMulFrmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ExtFrm", ":", "emitExtendInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ArithMiscFrm", ":", "emitMiscArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "SatFrm", ":", "emitSaturateInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrFrm", ":", "emitBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrMiscFrm", ":", "emitMiscBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPUnaryFrm", ":", "case", "ARMII", "::", "VFPBinaryFrm", ":", "emitVFPArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPConv1Frm", ":", "case", "ARMII", "::", "VFPConv2Frm", ":", "case", "ARMII", "::", "VFPConv3Frm", ":", "case", "ARMII", "::", "VFPConv4Frm", ":", "case", "ARMII", "::", "VFPConv5Frm", ":", "emitVFPConversionInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStFrm", ":", "emitVFPLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStMulFrm", ":", "emitVFPLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "NGetLnFrm", ":", "case", "ARMII", "::", "NSetLnFrm", ":", "emitNEONLaneInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "NDupFrm", ":", "emitNEONDupInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N1RegModImmFrm", ":", "emitNEON1RegModImmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N2RegFrm", ":", "emitNEON2RegInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N3RegFrm", ":", "emitNEON3RegInstruction", "(", "MI", ")", ";", "break", ";", "}", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ",", "false", ")", ";", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "to", "emit", "instructions", "."], "TS_V_token": ["ARM", "ARM", "\"JIT: \"", "\":\\t\"", "ARMII::FormMask", "\"Unhandled instruction encoding format!\"", "ARMII::MiscFrm", "ARM::LEApcrelJT", "\"Unhandled instruction encoding!\"", "ARMII::Pseudo", "ARMII::DPFrm", "ARMII::DPSoRegFrm", "ARMII::LdFrm", "ARMII::StFrm", "ARMII::LdMiscFrm", "ARMII::StMiscFrm", "ARMII::LdStMulFrm", "ARMII::MulFrm", "ARMII::ExtFrm", "ARMII::ArithMiscFrm", "ARMII::SatFrm", "ARMII::BrFrm", "ARMII::BrMiscFrm", "ARMII::VFPUnaryFrm", "ARMII::VFPBinaryFrm", "ARMII::VFPConv1Frm", "ARMII::VFPConv2Frm", "ARMII::VFPConv3Frm", "ARMII::VFPConv4Frm", "ARMII::VFPConv5Frm", "ARMII::VFPLdStFrm", "ARMII::VFPLdStMulFrm", "ARMII::NGetLnFrm", "ARMII::NSetLnFrm", "ARMII::NDupFrm", "ARMII::N1RegModImmFrm", "ARMII::N2RegFrm", "ARMII::N3RegFrm"], "File": "ARMCodeEmitter10", "Func": "emitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10379, "Length": 409} {"ground_truth": ["", "unsigned", "ARMCodeEmitter", "::", "getMachineOpValue", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineOperand", "&", "MO", ")", "const", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "return", "getARMRegisterNumbering", "(", "MO", ".", "getReg", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isGlobal", "(", ")", ")", "emitGlobalAddress", "(", "MO", ".", "getGlobal", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ",", "true", ",", "false", ")", ";", "else", "if", "(", "MO", ".", "isSymbol", "(", ")", ")", "emitExternalSymbolAddress", "(", "MO", ".", "getSymbolName", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "if", "(", "MO", ".", "isCPI", "(", ")", ")", "{", "const", "TargetInstrDesc", "&", "TID", "=", "MI", ".", "getDesc", "(", ")", ";", "unsigned", "Reloc", "=", "(", "(", "TID", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "==", "ARMII", "::", "VFPLdStFrm", ")", "?", "ARM", "::", "reloc_arm_vfp_cp_entry", ":", "ARM", "::", "reloc_arm_cp_entry", ";", "emitConstPoolAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "Reloc", ")", ";", "}", "else", "if", "(", "MO", ".", "isJTI", "(", ")", ")", "emitJumpTableAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "ARM", "::", "reloc_arm_relative", ")", ";", "else", "if", "(", "MO", ".", "isMBB", "(", ")", ")", "emitMachineBasicBlock", "(", "MO", ".", "getMBB", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "llvm_unreachable", "(", "\"Unable to encode MachineOperand!\"", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::reloc_arm_branch", "ARM::reloc_arm_branch", "ARMII::FormMask", "ARMII::VFPLdStFrm", "ARM::reloc_arm_vfp_cp_entry", "ARM::reloc_arm_cp_entry", "ARM::reloc_arm_relative", "ARM::reloc_arm_branch", "\"Unable to encode MachineOperand!\"", "0"], "File": "ARMCodeEmitter10", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10380, "Length": 219} {"ground_truth": ["", "bool", "ARMCodeEmitter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "assert", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Default", "||", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Static", ")", "&&", "\"JIT relocation model must be set to static or default!\"", ")", ";", "JTI", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getJITInfo", "(", ")", ";", "II", "=", "(", "(", "const", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getInstrInfo", "(", ")", ";", "TD", "=", "(", "(", "const", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getTargetData", "(", ")", ";", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MCPEs", "=", "&", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "MJTEs", "=", "0", ";", "if", "(", "MF", ".", "getJumpTableInfo", "(", ")", ")", "MJTEs", "=", "&", "MF", ".", "getJumpTableInfo", "(", ")", "->", "getJumpTables", "(", ")", ";", "IsPIC", "=", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "IsThumb", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isThumbFunction", "(", ")", ";", "JTI", "->", "Initialize", "(", "MF", ",", "IsPIC", ")", ";", "MMI", "=", "&", "getAnalysis", "<", "MachineModuleInfo", ">", "(", ")", ";", "MCE", ".", "setModuleInfo", "(", "MMI", ")", ";", "do", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JITTing function '\"", "<<", "MF", ".", "getFunction", "(", ")", "->", "getName", "(", ")", "<<", "\"'\\n\"", ")", ";", "MCE", ".", "startFunction", "(", "MF", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MBB", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBB", "!=", "E", ";", "++", "MBB", ")", "{", "MCE", ".", "StartMachineBasicBlock", "(", "MBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MBB", "->", "begin", "(", ")", ",", "E", "=", "MBB", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "emitInstruction", "(", "*", "I", ")", ";", "}", "}", "while", "(", "MCE", ".", "finishFunction", "(", "MF", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"JIT relocation model must be set to static or default!\"", "ARM", "ARM", "ARM", "ARM", "0", "ARM", "\"JITTing function '\"", "\"'\\n\""], "File": "ARMCodeEmitter10", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10381, "Length": 320} {"ground_truth": ["", "void", "Emitter", "<", "CodeEmitter", ">", "::", "emitInstruction", "(", "const", "MachineInstr", "&", "MI", ")", "{", "DOUT", "<<", "\"JIT: \"", "<<", "(", "void", "*", ")", "MCE", ".", "getCurrentPCValue", "(", ")", "<<", "\":\\t\"", "<<", "MI", ";", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ")", ";", "NumEmitted", "++", ";", "switch", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "{", "default", ":", "{", "llvm_unreachable", "(", "\"Unhandled instruction encoding format!\"", ")", ";", "break", ";", "}", "case", "ARMII", "::", "Pseudo", ":", "emitPseudoInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "DPFrm", ":", "case", "ARMII", "::", "DPSoRegFrm", ":", "emitDataProcessingInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdFrm", ":", "case", "ARMII", "::", "StFrm", ":", "emitLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdMiscFrm", ":", "case", "ARMII", "::", "StMiscFrm", ":", "emitMiscLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdStMulFrm", ":", "emitLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "MulFrm", ":", "emitMulFrmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ExtFrm", ":", "emitExtendInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ArithMiscFrm", ":", "emitMiscArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrFrm", ":", "emitBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrMiscFrm", ":", "emitMiscBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPUnaryFrm", ":", "case", "ARMII", "::", "VFPBinaryFrm", ":", "emitVFPArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPConv1Frm", ":", "case", "ARMII", "::", "VFPConv2Frm", ":", "case", "ARMII", "::", "VFPConv3Frm", ":", "case", "ARMII", "::", "VFPConv4Frm", ":", "case", "ARMII", "::", "VFPConv5Frm", ":", "emitVFPConversionInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStFrm", ":", "emitVFPLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStMulFrm", ":", "emitVFPLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPMiscFrm", ":", "emitMiscInstruction", "(", "MI", ")", ";", "break", ";", "}", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "to", "emit", "instructions", "."], "TS_V_token": ["ARM", "\"JIT: \"", "\":\\t\"", "ARMII::FormMask", "\"Unhandled instruction encoding format!\"", "ARMII::Pseudo", "ARMII::DPFrm", "ARMII::DPSoRegFrm", "ARMII::LdFrm", "ARMII::StFrm", "ARMII::LdMiscFrm", "ARMII::StMiscFrm", "ARMII::LdStMulFrm", "ARMII::MulFrm", "ARMII::ExtFrm", "ARMII::ArithMiscFrm", "ARMII::BrFrm", "ARMII::BrMiscFrm", "ARMII::VFPUnaryFrm", "ARMII::VFPBinaryFrm", "ARMII::VFPConv1Frm", "ARMII::VFPConv2Frm", "ARMII::VFPConv3Frm", "ARMII::VFPConv4Frm", "ARMII::VFPConv5Frm", "ARMII::VFPLdStFrm", "ARMII::VFPLdStMulFrm", "ARMII::VFPMiscFrm"], "File": "ARMCodeEmitter11", "Func": "emitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10382, "Length": 294} {"ground_truth": ["", "unsigned", "Emitter", "<", "CodeEmitter", ">", "::", "getMachineOpValue", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineOperand", "&", "MO", ")", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "return", "ARMRegisterInfo", "::", "getRegisterNumbering", "(", "MO", ".", "getReg", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isGlobal", "(", ")", ")", "emitGlobalAddress", "(", "MO", ".", "getGlobal", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ",", "true", ",", "false", ")", ";", "else", "if", "(", "MO", ".", "isSymbol", "(", ")", ")", "emitExternalSymbolAddress", "(", "MO", ".", "getSymbolName", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "if", "(", "MO", ".", "isCPI", "(", ")", ")", "{", "const", "TargetInstrDesc", "&", "TID", "=", "MI", ".", "getDesc", "(", ")", ";", "unsigned", "Reloc", "=", "(", "(", "TID", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "==", "ARMII", "::", "VFPLdStFrm", ")", "?", "ARM", "::", "reloc_arm_vfp_cp_entry", ":", "ARM", "::", "reloc_arm_cp_entry", ";", "emitConstPoolAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "Reloc", ")", ";", "}", "else", "if", "(", "MO", ".", "isJTI", "(", ")", ")", "emitJumpTableAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "ARM", "::", "reloc_arm_relative", ")", ";", "else", "if", "(", "MO", ".", "isMBB", "(", ")", ")", "emitMachineBasicBlock", "(", "MO", ".", "getMBB", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "{", "cerr", "<<", "MO", ";", "llvm_unreachable", "(", "0", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::reloc_arm_branch", "ARM::reloc_arm_branch", "ARMII::FormMask", "ARMII::VFPLdStFrm", "ARM::reloc_arm_vfp_cp_entry", "ARM::reloc_arm_cp_entry", "ARM::reloc_arm_relative", "ARM::reloc_arm_branch", "0", "0"], "File": "ARMCodeEmitter11", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10383, "Length": 229} {"ground_truth": ["", "bool", "Emitter", "<", "CodeEmitter", ">", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "assert", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Default", "||", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Static", ")", "&&", "\"JIT relocation model must be set to static or default!\"", ")", ";", "JTI", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getJITInfo", "(", ")", ";", "II", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getInstrInfo", "(", ")", ";", "TD", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getTargetData", "(", ")", ";", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MCPEs", "=", "&", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "MJTEs", "=", "&", "MF", ".", "getJumpTableInfo", "(", ")", "->", "getJumpTables", "(", ")", ";", "IsPIC", "=", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "JTI", "->", "Initialize", "(", "MF", ",", "IsPIC", ")", ";", "do", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JITTing function '\"", "<<", "MF", ".", "getFunction", "(", ")", "->", "getName", "(", ")", "<<", "\"'\\n\"", ")", ";", "MCE", ".", "startFunction", "(", "MF", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MBB", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBB", "!=", "E", ";", "++", "MBB", ")", "{", "MCE", ".", "StartMachineBasicBlock", "(", "MBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MBB", "->", "begin", "(", ")", ",", "E", "=", "MBB", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "emitInstruction", "(", "*", "I", ")", ";", "}", "}", "while", "(", "MCE", ".", "finishFunction", "(", "MF", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "\"JIT relocation model must be set to static or default!\"", "ARM", "ARM", "ARM", "ARM", "\"JITTing function '\"", "\"'\\n\""], "File": "ARMCodeEmitter11", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10384, "Length": 277} {"ground_truth": ["", "void", "ARMCodeEmitter", "::", "emitInstruction", "(", "const", "MachineInstr", "&", "MI", ")", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JIT: \"", "<<", "(", "void", "*", ")", "MCE", ".", "getCurrentPCValue", "(", ")", "<<", "\":\\t\"", "<<", "MI", ")", ";", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ",", "true", ")", ";", "++", "NumEmitted", ";", "switch", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "{", "default", ":", "{", "llvm_unreachable", "(", "\"Unhandled instruction encoding format!\"", ")", ";", "}", "case", "ARMII", "::", "MiscFrm", ":", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "LEApcrelJT", ")", "{", "emitLEApcrelJTInstruction", "(", "MI", ")", ";", "break", ";", "}", "llvm_unreachable", "(", "\"Unhandled instruction encoding!\"", ")", ";", "case", "ARMII", "::", "Pseudo", ":", "emitPseudoInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "DPFrm", ":", "case", "ARMII", "::", "DPSoRegFrm", ":", "emitDataProcessingInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdFrm", ":", "case", "ARMII", "::", "StFrm", ":", "emitLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdMiscFrm", ":", "case", "ARMII", "::", "StMiscFrm", ":", "emitMiscLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdStMulFrm", ":", "emitLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "MulFrm", ":", "emitMulFrmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ExtFrm", ":", "emitExtendInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ArithMiscFrm", ":", "emitMiscArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "SatFrm", ":", "emitSaturateInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrFrm", ":", "emitBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrMiscFrm", ":", "emitMiscBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPUnaryFrm", ":", "case", "ARMII", "::", "VFPBinaryFrm", ":", "emitVFPArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPConv1Frm", ":", "case", "ARMII", "::", "VFPConv2Frm", ":", "case", "ARMII", "::", "VFPConv3Frm", ":", "case", "ARMII", "::", "VFPConv4Frm", ":", "case", "ARMII", "::", "VFPConv5Frm", ":", "emitVFPConversionInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStFrm", ":", "emitVFPLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStMulFrm", ":", "emitVFPLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "NGetLnFrm", ":", "case", "ARMII", "::", "NSetLnFrm", ":", "emitNEONLaneInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "NDupFrm", ":", "emitNEONDupInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N1RegModImmFrm", ":", "emitNEON1RegModImmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N2RegFrm", ":", "emitNEON2RegInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N3RegFrm", ":", "emitNEON3RegInstruction", "(", "MI", ")", ";", "break", ";", "}", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ",", "false", ")", ";", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "to", "emit", "instructions", "."], "TS_V_token": ["ARM", "ARM", "\"JIT: \"", "\":\\t\"", "ARMII::FormMask", "\"Unhandled instruction encoding format!\"", "ARMII::MiscFrm", "ARM::LEApcrelJT", "\"Unhandled instruction encoding!\"", "ARMII::Pseudo", "ARMII::DPFrm", "ARMII::DPSoRegFrm", "ARMII::LdFrm", "ARMII::StFrm", "ARMII::LdMiscFrm", "ARMII::StMiscFrm", "ARMII::LdStMulFrm", "ARMII::MulFrm", "ARMII::ExtFrm", "ARMII::ArithMiscFrm", "ARMII::SatFrm", "ARMII::BrFrm", "ARMII::BrMiscFrm", "ARMII::VFPUnaryFrm", "ARMII::VFPBinaryFrm", "ARMII::VFPConv1Frm", "ARMII::VFPConv2Frm", "ARMII::VFPConv3Frm", "ARMII::VFPConv4Frm", "ARMII::VFPConv5Frm", "ARMII::VFPLdStFrm", "ARMII::VFPLdStMulFrm", "ARMII::NGetLnFrm", "ARMII::NSetLnFrm", "ARMII::NDupFrm", "ARMII::N1RegModImmFrm", "ARMII::N2RegFrm", "ARMII::N3RegFrm"], "File": "ARMCodeEmitter12", "Func": "emitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10385, "Length": 405} {"ground_truth": ["", "unsigned", "ARMCodeEmitter", "::", "getMachineOpValue", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineOperand", "&", "MO", ")", "const", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "return", "getARMRegisterNumbering", "(", "MO", ".", "getReg", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isGlobal", "(", ")", ")", "emitGlobalAddress", "(", "MO", ".", "getGlobal", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ",", "true", ",", "false", ")", ";", "else", "if", "(", "MO", ".", "isSymbol", "(", ")", ")", "emitExternalSymbolAddress", "(", "MO", ".", "getSymbolName", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "if", "(", "MO", ".", "isCPI", "(", ")", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "unsigned", "Reloc", "=", "(", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "==", "ARMII", "::", "VFPLdStFrm", ")", "?", "ARM", "::", "reloc_arm_vfp_cp_entry", ":", "ARM", "::", "reloc_arm_cp_entry", ";", "emitConstPoolAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "Reloc", ")", ";", "}", "else", "if", "(", "MO", ".", "isJTI", "(", ")", ")", "emitJumpTableAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "ARM", "::", "reloc_arm_relative", ")", ";", "else", "if", "(", "MO", ".", "isMBB", "(", ")", ")", "emitMachineBasicBlock", "(", "MO", ".", "getMBB", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "llvm_unreachable", "(", "\"Unable to encode MachineOperand!\"", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::reloc_arm_branch", "ARM::reloc_arm_branch", "ARMII::FormMask", "ARMII::VFPLdStFrm", "ARM::reloc_arm_vfp_cp_entry", "ARM::reloc_arm_cp_entry", "ARM::reloc_arm_relative", "ARM::reloc_arm_branch", "\"Unable to encode MachineOperand!\"", "0"], "File": "ARMCodeEmitter12", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10386, "Length": 219} {"ground_truth": ["", "bool", "ARMCodeEmitter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "assert", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Default", "||", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Static", ")", "&&", "\"JIT relocation model must be set to static or default!\"", ")", ";", "JTI", "=", "(", "(", "ARMBaseTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getJITInfo", "(", ")", ";", "II", "=", "(", "const", "ARMBaseInstrInfo", "*", ")", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "TD", "=", "MF", ".", "getTarget", "(", ")", ".", "getTargetData", "(", ")", ";", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MCPEs", "=", "&", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "MJTEs", "=", "0", ";", "if", "(", "MF", ".", "getJumpTableInfo", "(", ")", ")", "MJTEs", "=", "&", "MF", ".", "getJumpTableInfo", "(", ")", "->", "getJumpTables", "(", ")", ";", "IsPIC", "=", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "IsThumb", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isThumbFunction", "(", ")", ";", "JTI", "->", "Initialize", "(", "MF", ",", "IsPIC", ")", ";", "MMI", "=", "&", "getAnalysis", "<", "MachineModuleInfo", ">", "(", ")", ";", "MCE", ".", "setModuleInfo", "(", "MMI", ")", ";", "do", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JITTing function '\"", "<<", "MF", ".", "getFunction", "(", ")", "->", "getName", "(", ")", "<<", "\"'\\n\"", ")", ";", "MCE", ".", "startFunction", "(", "MF", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MBB", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBB", "!=", "E", ";", "++", "MBB", ")", "{", "MCE", ".", "StartMachineBasicBlock", "(", "MBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", "->", "begin", "(", ")", ",", "E", "=", "MBB", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "emitInstruction", "(", "*", "I", ")", ";", "}", "}", "while", "(", "MCE", ".", "finishFunction", "(", "MF", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"JIT relocation model must be set to static or default!\"", "ARM", "ARM", "ARM", "0", "ARM", "\"JITTing function '\"", "\"'\\n\""], "File": "ARMCodeEmitter12", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10387, "Length": 311} {"ground_truth": ["", "unsigned", "ARMCodeEmitter", "::", "getMachineOpValue", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineOperand", "&", "MO", ")", "const", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "return", "II", "->", "getRegisterInfo", "(", ")", ".", "getEncodingValue", "(", "MO", ".", "getReg", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isGlobal", "(", ")", ")", "emitGlobalAddress", "(", "MO", ".", "getGlobal", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ",", "true", ",", "false", ")", ";", "else", "if", "(", "MO", ".", "isSymbol", "(", ")", ")", "emitExternalSymbolAddress", "(", "MO", ".", "getSymbolName", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "if", "(", "MO", ".", "isCPI", "(", ")", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "unsigned", "Reloc", "=", "(", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "==", "ARMII", "::", "VFPLdStFrm", ")", "?", "ARM", "::", "reloc_arm_vfp_cp_entry", ":", "ARM", "::", "reloc_arm_cp_entry", ";", "emitConstPoolAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "Reloc", ")", ";", "}", "else", "if", "(", "MO", ".", "isJTI", "(", ")", ")", "emitJumpTableAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "ARM", "::", "reloc_arm_relative", ")", ";", "else", "if", "(", "MO", ".", "isMBB", "(", ")", ")", "emitMachineBasicBlock", "(", "MO", ".", "getMBB", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "llvm_unreachable", "(", "\"Unable to encode MachineOperand!\"", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::reloc_arm_branch", "ARM::reloc_arm_branch", "ARMII::FormMask", "ARMII::VFPLdStFrm", "ARM::reloc_arm_vfp_cp_entry", "ARM::reloc_arm_cp_entry", "ARM::reloc_arm_relative", "ARM::reloc_arm_branch", "\"Unable to encode MachineOperand!\"", "0"], "File": "ARMCodeEmitter13", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10388, "Length": 225} {"ground_truth": ["", "bool", "ARMCodeEmitter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "assert", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Default", "||", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Static", ")", "&&", "\"JIT relocation model must be set to static or default!\"", ")", ";", "JTI", "=", "(", "(", "ARMBaseTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getJITInfo", "(", ")", ";", "II", "=", "(", "const", "ARMBaseInstrInfo", "*", ")", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "TD", "=", "MF", ".", "getTarget", "(", ")", ".", "getTargetData", "(", ")", ";", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MCPEs", "=", "&", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "MJTEs", "=", "0", ";", "if", "(", "MF", ".", "getJumpTableInfo", "(", ")", ")", "MJTEs", "=", "&", "MF", ".", "getJumpTableInfo", "(", ")", "->", "getJumpTables", "(", ")", ";", "IsPIC", "=", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "IsThumb", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isThumbFunction", "(", ")", ";", "JTI", "->", "Initialize", "(", "MF", ",", "IsPIC", ")", ";", "MMI", "=", "&", "getAnalysis", "<", "MachineModuleInfo", ">", "(", ")", ";", "MCE", ".", "setModuleInfo", "(", "MMI", ")", ";", "do", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JITTing function '\"", "<<", "MF", ".", "getName", "(", ")", "<<", "\"'\\n\"", ")", ";", "MCE", ".", "startFunction", "(", "MF", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MBB", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBB", "!=", "E", ";", "++", "MBB", ")", "{", "MCE", ".", "StartMachineBasicBlock", "(", "MBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", "->", "begin", "(", ")", ",", "E", "=", "MBB", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "emitInstruction", "(", "*", "I", ")", ";", "}", "}", "while", "(", "MCE", ".", "finishFunction", "(", "MF", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"JIT relocation model must be set to static or default!\"", "ARM", "ARM", "ARM", "0", "ARM", "\"JITTing function '\"", "\"'\\n\""], "File": "ARMCodeEmitter13", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10389, "Length": 307} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "addRequired", "<", "MachineModuleInfo", ">", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMCodeEmitter14", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10390, "Length": 27} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM Machine Code Emitter\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Machine Code Emitter\""], "File": "ARMCodeEmitter14", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10391, "Length": 13} {"ground_truth": ["", "bool", "ARMCodeEmitter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "TargetMachine", "&", "Target", "=", "const_cast", "<", "TargetMachine", "&", ">", "(", "MF", ".", "getTarget", "(", ")", ")", ";", "assert", "(", "(", "Target", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Default", "||", "Target", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Static", ")", "&&", "\"JIT relocation model must be set to static or default!\"", ")", ";", "JTI", "=", "static_cast", "<", "ARMJITInfo", "*", ">", "(", "Target", ".", "getJITInfo", "(", ")", ")", ";", "II", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Target", ".", "getInstrInfo", "(", ")", ")", ";", "TD", "=", "Target", ".", "getDataLayout", "(", ")", ";", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MCPEs", "=", "&", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "MJTEs", "=", "nullptr", ";", "if", "(", "MF", ".", "getJumpTableInfo", "(", ")", ")", "MJTEs", "=", "&", "MF", ".", "getJumpTableInfo", "(", ")", "->", "getJumpTables", "(", ")", ";", "IsPIC", "=", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "IsThumb", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isThumbFunction", "(", ")", ";", "JTI", "->", "Initialize", "(", "MF", ",", "IsPIC", ")", ";", "MMI", "=", "&", "getAnalysis", "<", "MachineModuleInfo", ">", "(", ")", ";", "MCE", ".", "setModuleInfo", "(", "MMI", ")", ";", "do", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JITTing function '\"", "<<", "MF", ".", "getName", "(", ")", "<<", "\"'\\n\"", ")", ";", "MCE", ".", "startFunction", "(", "MF", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MBB", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBB", "!=", "E", ";", "++", "MBB", ")", "{", "MCE", ".", "StartMachineBasicBlock", "(", "MBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", "->", "begin", "(", ")", ",", "E", "=", "MBB", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "emitInstruction", "(", "*", "I", ")", ";", "}", "}", "while", "(", "MCE", ".", "finishFunction", "(", "MF", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"JIT relocation model must be set to static or default!\"", "ARM", "ARM", "ARM", "ARM", "\"JITTing function '\"", "\"'\\n\""], "File": "ARMCodeEmitter14", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10392, "Length": 308} {"ground_truth": ["", "bool", "ARMCodeEmitter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "assert", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Default", "||", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Static", ")", "&&", "\"JIT relocation model must be set to static or default!\"", ")", ";", "JTI", "=", "(", "(", "ARMBaseTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getJITInfo", "(", ")", ";", "II", "=", "(", "const", "ARMBaseInstrInfo", "*", ")", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "TD", "=", "MF", ".", "getTarget", "(", ")", ".", "getDataLayout", "(", ")", ";", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MCPEs", "=", "&", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "MJTEs", "=", "0", ";", "if", "(", "MF", ".", "getJumpTableInfo", "(", ")", ")", "MJTEs", "=", "&", "MF", ".", "getJumpTableInfo", "(", ")", "->", "getJumpTables", "(", ")", ";", "IsPIC", "=", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "IsThumb", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isThumbFunction", "(", ")", ";", "JTI", "->", "Initialize", "(", "MF", ",", "IsPIC", ")", ";", "MMI", "=", "&", "getAnalysis", "<", "MachineModuleInfo", ">", "(", ")", ";", "MCE", ".", "setModuleInfo", "(", "MMI", ")", ";", "do", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JITTing function '\"", "<<", "MF", ".", "getName", "(", ")", "<<", "\"'\\n\"", ")", ";", "MCE", ".", "startFunction", "(", "MF", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MBB", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBB", "!=", "E", ";", "++", "MBB", ")", "{", "MCE", ".", "StartMachineBasicBlock", "(", "MBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", "->", "begin", "(", ")", ",", "E", "=", "MBB", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "emitInstruction", "(", "*", "I", ")", ";", "}", "}", "while", "(", "MCE", ".", "finishFunction", "(", "MF", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"JIT relocation model must be set to static or default!\"", "ARM", "ARM", "ARM", "0", "ARM", "\"JITTing function '\"", "\"'\\n\""], "File": "ARMCodeEmitter15", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10393, "Length": 307} {"ground_truth": ["", "bool", "ARMCodeEmitter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "assert", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Default", "||", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Static", ")", "&&", "\"JIT relocation model must be set to static or default!\"", ")", ";", "JTI", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getJITInfo", "(", ")", ";", "II", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getInstrInfo", "(", ")", ";", "TD", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getTargetData", "(", ")", ";", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MCPEs", "=", "&", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "MJTEs", "=", "0", ";", "if", "(", "MF", ".", "getJumpTableInfo", "(", ")", ")", "MJTEs", "=", "&", "MF", ".", "getJumpTableInfo", "(", ")", "->", "getJumpTables", "(", ")", ";", "IsPIC", "=", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "JTI", "->", "Initialize", "(", "MF", ",", "IsPIC", ")", ";", "MCE", ".", "setModuleInfo", "(", "&", "getAnalysis", "<", "MachineModuleInfo", ">", "(", ")", ")", ";", "do", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JITTing function '\"", "<<", "MF", ".", "getFunction", "(", ")", "->", "getName", "(", ")", "<<", "\"'\\n\"", ")", ";", "MCE", ".", "startFunction", "(", "MF", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MBB", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBB", "!=", "E", ";", "++", "MBB", ")", "{", "MCE", ".", "StartMachineBasicBlock", "(", "MBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MBB", "->", "begin", "(", ")", ",", "E", "=", "MBB", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "emitInstruction", "(", "*", "I", ")", ";", "}", "}", "while", "(", "MCE", ".", "finishFunction", "(", "MF", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"JIT relocation model must be set to static or default!\"", "ARM", "ARM", "ARM", "ARM", "0", "\"JITTing function '\"", "\"'\\n\""], "File": "ARMCodeEmitter16", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10394, "Length": 299} {"ground_truth": ["", "bool", "ARMCodeEmitter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "assert", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Default", "||", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Static", ")", "&&", "\"JIT relocation model must be set to static or default!\"", ")", ";", "JTI", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getJITInfo", "(", ")", ";", "II", "=", "(", "(", "const", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getInstrInfo", "(", ")", ";", "TD", "=", "(", "(", "const", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getTargetData", "(", ")", ";", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MCPEs", "=", "&", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "MJTEs", "=", "0", ";", "if", "(", "MF", ".", "getJumpTableInfo", "(", ")", ")", "MJTEs", "=", "&", "MF", ".", "getJumpTableInfo", "(", ")", "->", "getJumpTables", "(", ")", ";", "IsPIC", "=", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "IsThumb", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isThumbFunction", "(", ")", ";", "JTI", "->", "Initialize", "(", "MF", ",", "IsPIC", ")", ";", "MMI", "=", "&", "getAnalysis", "<", "MachineModuleInfo", ">", "(", ")", ";", "MCE", ".", "setModuleInfo", "(", "MMI", ")", ";", "do", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JITTing function '\"", "<<", "MF", ".", "getFunction", "(", ")", "->", "getName", "(", ")", "<<", "\"'\\n\"", ")", ";", "MCE", ".", "startFunction", "(", "MF", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MBB", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBB", "!=", "E", ";", "++", "MBB", ")", "{", "MCE", ".", "StartMachineBasicBlock", "(", "MBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", "->", "begin", "(", ")", ",", "E", "=", "MBB", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "emitInstruction", "(", "*", "I", ")", ";", "}", "}", "while", "(", "MCE", ".", "finishFunction", "(", "MF", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"JIT relocation model must be set to static or default!\"", "ARM", "ARM", "ARM", "ARM", "0", "ARM", "\"JITTing function '\"", "\"'\\n\""], "File": "ARMCodeEmitter17", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10395, "Length": 320} {"ground_truth": ["", "void", "ARMCodeEmitter", "::", "emitInstruction", "(", "const", "MachineInstr", "&", "MI", ")", "{", "DOUT", "<<", "\"JIT: \"", "<<", "(", "void", "*", ")", "MCE", ".", "getCurrentPCValue", "(", ")", "<<", "\":\\t\"", "<<", "MI", ";", "NumEmitted", "++", ";", "switch", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "{", "default", ":", "{", "assert", "(", "0", "&&", "\"Unhandled instruction encoding format!\"", ")", ";", "break", ";", "}", "case", "ARMII", "::", "Pseudo", ":", "emitPseudoInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "DPFrm", ":", "case", "ARMII", "::", "DPSoRegFrm", ":", "emitDataProcessingInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdFrm", ":", "case", "ARMII", "::", "StFrm", ":", "emitLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdMiscFrm", ":", "case", "ARMII", "::", "StMiscFrm", ":", "emitMiscLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdStMulFrm", ":", "emitLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "MulFrm", ":", "emitMulFrmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ExtFrm", ":", "emitExtendInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ArithMiscFrm", ":", "emitMiscArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrFrm", ":", "emitBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrMiscFrm", ":", "emitMiscBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPUnaryFrm", ":", "case", "ARMII", "::", "VFPBinaryFrm", ":", "emitVFPArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPConv1Frm", ":", "case", "ARMII", "::", "VFPConv2Frm", ":", "case", "ARMII", "::", "VFPConv3Frm", ":", "case", "ARMII", "::", "VFPConv4Frm", ":", "case", "ARMII", "::", "VFPConv5Frm", ":", "emitVFPConversionInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStFrm", ":", "emitVFPLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStMulFrm", ":", "emitVFPLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPMiscFrm", ":", "emitMiscInstruction", "(", "MI", ")", ";", "break", ";", "}", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "to", "emit", "instructions", "."], "TS_V_token": ["ARM", "ARM", "\"JIT: \"", "\":\\t\"", "ARMII::FormMask", "0", "\"Unhandled instruction encoding format!\"", "ARMII::Pseudo", "ARMII::DPFrm", "ARMII::DPSoRegFrm", "ARMII::LdFrm", "ARMII::StFrm", "ARMII::LdMiscFrm", "ARMII::StMiscFrm", "ARMII::LdStMulFrm", "ARMII::MulFrm", "ARMII::ExtFrm", "ARMII::ArithMiscFrm", "ARMII::BrFrm", "ARMII::BrMiscFrm", "ARMII::VFPUnaryFrm", "ARMII::VFPBinaryFrm", "ARMII::VFPConv1Frm", "ARMII::VFPConv2Frm", "ARMII::VFPConv3Frm", "ARMII::VFPConv4Frm", "ARMII::VFPConv5Frm", "ARMII::VFPLdStFrm", "ARMII::VFPLdStMulFrm", "ARMII::VFPMiscFrm"], "File": "ARMCodeEmitter19", "Func": "emitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10396, "Length": 282} {"ground_truth": ["", "unsigned", "ARMCodeEmitter", "::", "getMachineOpValue", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineOperand", "&", "MO", ")", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "return", "ARMRegisterInfo", "::", "getRegisterNumbering", "(", "MO", ".", "getReg", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isGlobal", "(", ")", ")", "emitGlobalAddress", "(", "MO", ".", "getGlobal", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ",", "true", ")", ";", "else", "if", "(", "MO", ".", "isSymbol", "(", ")", ")", "emitExternalSymbolAddress", "(", "MO", ".", "getSymbolName", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "if", "(", "MO", ".", "isCPI", "(", ")", ")", "{", "const", "TargetInstrDesc", "&", "TID", "=", "MI", ".", "getDesc", "(", ")", ";", "unsigned", "Reloc", "=", "(", "(", "TID", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "==", "ARMII", "::", "VFPLdStFrm", ")", "?", "ARM", "::", "reloc_arm_vfp_cp_entry", ":", "ARM", "::", "reloc_arm_cp_entry", ";", "emitConstPoolAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "Reloc", ")", ";", "}", "else", "if", "(", "MO", ".", "isJTI", "(", ")", ")", "emitJumpTableAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "ARM", "::", "reloc_arm_relative", ")", ";", "else", "if", "(", "MO", ".", "isMBB", "(", ")", ")", "emitMachineBasicBlock", "(", "MO", ".", "getMBB", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "{", "cerr", "<<", "\"ERROR: Unknown type of MachineOperand: \"", "<<", "MO", "<<", "\"\\n\"", ";", "abort", "(", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::reloc_arm_branch", "ARM::reloc_arm_branch", "ARMII::FormMask", "ARMII::VFPLdStFrm", "ARM::reloc_arm_vfp_cp_entry", "ARM::reloc_arm_cp_entry", "ARM::reloc_arm_relative", "ARM::reloc_arm_branch", "\"ERROR: Unknown type of MachineOperand: \"", "\"\\n\"", "0"], "File": "ARMCodeEmitter19", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10397, "Length": 227} {"ground_truth": ["", "bool", "ARMCodeEmitter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "assert", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Default", "||", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Static", ")", "&&", "\"JIT relocation model must be set to static or default!\"", ")", ";", "II", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getInstrInfo", "(", ")", ";", "TD", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getTargetData", "(", ")", ";", "JTI", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getJITInfo", "(", ")", ";", "MCPEs", "=", "&", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "MJTEs", "=", "&", "MF", ".", "getJumpTableInfo", "(", ")", "->", "getJumpTables", "(", ")", ";", "IsPIC", "=", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "JTI", "->", "Initialize", "(", "MF", ",", "IsPIC", ")", ";", "do", "{", "DOUT", "<<", "\"JITTing function '\"", "<<", "MF", ".", "getFunction", "(", ")", "->", "getName", "(", ")", "<<", "\"'\\n\"", ";", "MCE", ".", "startFunction", "(", "MF", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MBB", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBB", "!=", "E", ";", "++", "MBB", ")", "{", "MCE", ".", "StartMachineBasicBlock", "(", "MBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MBB", "->", "begin", "(", ")", ",", "E", "=", "MBB", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "emitInstruction", "(", "*", "I", ")", ";", "}", "}", "while", "(", "MCE", ".", "finishFunction", "(", "MF", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"JIT relocation model must be set to static or default!\"", "ARM", "ARM", "ARM", "\"JITTing function '\"", "\"'\\n\""], "File": "ARMCodeEmitter19", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10398, "Length": 257} {"ground_truth": ["", "void", "ARMCodeEmitter", "::", "emitInstruction", "(", "const", "MachineInstr", "&", "MI", ")", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JIT: \"", "<<", "(", "void", "*", ")", "MCE", ".", "getCurrentPCValue", "(", ")", "<<", "\":\\t\"", "<<", "MI", ")", ";", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ",", "true", ")", ";", "NumEmitted", "++", ";", "switch", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "{", "default", ":", "{", "llvm_unreachable", "(", "\"Unhandled instruction encoding format!\"", ")", ";", "break", ";", "}", "case", "ARMII", "::", "Pseudo", ":", "emitPseudoInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "DPFrm", ":", "case", "ARMII", "::", "DPSoRegFrm", ":", "emitDataProcessingInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdFrm", ":", "case", "ARMII", "::", "StFrm", ":", "emitLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdMiscFrm", ":", "case", "ARMII", "::", "StMiscFrm", ":", "emitMiscLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdStMulFrm", ":", "emitLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "MulFrm", ":", "emitMulFrmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ExtFrm", ":", "emitExtendInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ArithMiscFrm", ":", "emitMiscArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrFrm", ":", "emitBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrMiscFrm", ":", "emitMiscBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPUnaryFrm", ":", "case", "ARMII", "::", "VFPBinaryFrm", ":", "emitVFPArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPConv1Frm", ":", "case", "ARMII", "::", "VFPConv2Frm", ":", "case", "ARMII", "::", "VFPConv3Frm", ":", "case", "ARMII", "::", "VFPConv4Frm", ":", "case", "ARMII", "::", "VFPConv5Frm", ":", "emitVFPConversionInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStFrm", ":", "emitVFPLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStMulFrm", ":", "emitVFPLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPMiscFrm", ":", "emitMiscInstruction", "(", "MI", ")", ";", "break", ";", "}", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ",", "false", ")", ";", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "to", "emit", "instructions", "."], "TS_V_token": ["ARM", "ARM", "\"JIT: \"", "\":\\t\"", "ARMII::FormMask", "\"Unhandled instruction encoding format!\"", "ARMII::Pseudo", "ARMII::DPFrm", "ARMII::DPSoRegFrm", "ARMII::LdFrm", "ARMII::StFrm", "ARMII::LdMiscFrm", "ARMII::StMiscFrm", "ARMII::LdStMulFrm", "ARMII::MulFrm", "ARMII::ExtFrm", "ARMII::ArithMiscFrm", "ARMII::BrFrm", "ARMII::BrMiscFrm", "ARMII::VFPUnaryFrm", "ARMII::VFPBinaryFrm", "ARMII::VFPConv1Frm", "ARMII::VFPConv2Frm", "ARMII::VFPConv3Frm", "ARMII::VFPConv4Frm", "ARMII::VFPConv5Frm", "ARMII::VFPLdStFrm", "ARMII::VFPLdStMulFrm", "ARMII::VFPMiscFrm"], "File": "ARMCodeEmitter1", "Func": "emitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10399, "Length": 311} {"ground_truth": ["", "unsigned", "ARMCodeEmitter", "::", "getMachineOpValue", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineOperand", "&", "MO", ")", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "return", "ARMRegisterInfo", "::", "getRegisterNumbering", "(", "MO", ".", "getReg", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isGlobal", "(", ")", ")", "emitGlobalAddress", "(", "MO", ".", "getGlobal", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ",", "true", ",", "false", ")", ";", "else", "if", "(", "MO", ".", "isSymbol", "(", ")", ")", "emitExternalSymbolAddress", "(", "MO", ".", "getSymbolName", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "if", "(", "MO", ".", "isCPI", "(", ")", ")", "{", "const", "TargetInstrDesc", "&", "TID", "=", "MI", ".", "getDesc", "(", ")", ";", "unsigned", "Reloc", "=", "(", "(", "TID", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "==", "ARMII", "::", "VFPLdStFrm", ")", "?", "ARM", "::", "reloc_arm_vfp_cp_entry", ":", "ARM", "::", "reloc_arm_cp_entry", ";", "emitConstPoolAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "Reloc", ")", ";", "}", "else", "if", "(", "MO", ".", "isJTI", "(", ")", ")", "emitJumpTableAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "ARM", "::", "reloc_arm_relative", ")", ";", "else", "if", "(", "MO", ".", "isMBB", "(", ")", ")", "emitMachineBasicBlock", "(", "MO", ".", "getMBB", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "{", "errs", "(", ")", "<<", "MO", ";", "llvm_unreachable", "(", "0", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::reloc_arm_branch", "ARM::reloc_arm_branch", "ARMII::FormMask", "ARMII::VFPLdStFrm", "ARM::reloc_arm_vfp_cp_entry", "ARM::reloc_arm_cp_entry", "ARM::reloc_arm_relative", "ARM::reloc_arm_branch", "0", "0"], "File": "ARMCodeEmitter1", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10400, "Length": 228} {"ground_truth": ["", "bool", "ARMCodeEmitter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "assert", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Default", "||", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Static", ")", "&&", "\"JIT relocation model must be set to static or default!\"", ")", ";", "JTI", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getJITInfo", "(", ")", ";", "II", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getInstrInfo", "(", ")", ";", "TD", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getTargetData", "(", ")", ";", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MCPEs", "=", "&", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "MJTEs", "=", "0", ";", "if", "(", "MF", ".", "getJumpTableInfo", "(", ")", ")", "MJTEs", "=", "&", "MF", ".", "getJumpTableInfo", "(", ")", "->", "getJumpTables", "(", ")", ";", "IsPIC", "=", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "JTI", "->", "Initialize", "(", "MF", ",", "IsPIC", ")", ";", "MMI", "=", "&", "getAnalysis", "<", "MachineModuleInfo", ">", "(", ")", ";", "MCE", ".", "setModuleInfo", "(", "MMI", ")", ";", "do", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JITTing function '\"", "<<", "MF", ".", "getFunction", "(", ")", "->", "getName", "(", ")", "<<", "\"'\\n\"", ")", ";", "MCE", ".", "startFunction", "(", "MF", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MBB", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBB", "!=", "E", ";", "++", "MBB", ")", "{", "MCE", ".", "StartMachineBasicBlock", "(", "MBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MBB", "->", "begin", "(", ")", ",", "E", "=", "MBB", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "emitInstruction", "(", "*", "I", ")", ";", "}", "}", "while", "(", "MCE", ".", "finishFunction", "(", "MF", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"JIT relocation model must be set to static or default!\"", "ARM", "ARM", "ARM", "ARM", "0", "\"JITTing function '\"", "\"'\\n\""], "File": "ARMCodeEmitter1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10401, "Length": 303} {"ground_truth": ["", "void", "Emitter", "<", "CodeEmitter", ">", "::", "emitInstruction", "(", "const", "MachineInstr", "&", "MI", ")", "{", "DOUT", "(", "llvm", "::", "dbgs", "(", ")", "<<", "\"JIT: \"", "<<", "(", "void", "*", ")", "MCE", ".", "getCurrentPCValue", "(", ")", "<<", "\":\\t\"", "<<", "MI", ")", ";", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ")", ";", "NumEmitted", "++", ";", "switch", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "{", "default", ":", "{", "llvm_unreachable", "(", "\"Unhandled instruction encoding format!\"", ")", ";", "break", ";", "}", "case", "ARMII", "::", "Pseudo", ":", "emitPseudoInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "DPFrm", ":", "case", "ARMII", "::", "DPSoRegFrm", ":", "emitDataProcessingInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdFrm", ":", "case", "ARMII", "::", "StFrm", ":", "emitLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdMiscFrm", ":", "case", "ARMII", "::", "StMiscFrm", ":", "emitMiscLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdStMulFrm", ":", "emitLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "MulFrm", ":", "emitMulFrmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ExtFrm", ":", "emitExtendInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ArithMiscFrm", ":", "emitMiscArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrFrm", ":", "emitBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrMiscFrm", ":", "emitMiscBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPUnaryFrm", ":", "case", "ARMII", "::", "VFPBinaryFrm", ":", "emitVFPArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPConv1Frm", ":", "case", "ARMII", "::", "VFPConv2Frm", ":", "case", "ARMII", "::", "VFPConv3Frm", ":", "case", "ARMII", "::", "VFPConv4Frm", ":", "case", "ARMII", "::", "VFPConv5Frm", ":", "emitVFPConversionInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStFrm", ":", "emitVFPLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStMulFrm", ":", "emitVFPLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPMiscFrm", ":", "emitMiscInstruction", "(", "MI", ")", ";", "break", ";", "}", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "to", "emit", "instructions", "."], "TS_V_token": ["ARM", "\"JIT: \"", "\":\\t\"", "ARMII::FormMask", "\"Unhandled instruction encoding format!\"", "ARMII::Pseudo", "ARMII::DPFrm", "ARMII::DPSoRegFrm", "ARMII::LdFrm", "ARMII::StFrm", "ARMII::LdMiscFrm", "ARMII::StMiscFrm", "ARMII::LdStMulFrm", "ARMII::MulFrm", "ARMII::ExtFrm", "ARMII::ArithMiscFrm", "ARMII::BrFrm", "ARMII::BrMiscFrm", "ARMII::VFPUnaryFrm", "ARMII::VFPBinaryFrm", "ARMII::VFPConv1Frm", "ARMII::VFPConv2Frm", "ARMII::VFPConv3Frm", "ARMII::VFPConv4Frm", "ARMII::VFPConv5Frm", "ARMII::VFPLdStFrm", "ARMII::VFPLdStMulFrm", "ARMII::VFPMiscFrm"], "File": "ARMCodeEmitter20", "Func": "emitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10402, "Length": 301} {"ground_truth": ["", "void", "ARMCodeEmitter", "::", "emitInstruction", "(", "const", "MachineInstr", "&", "MI", ")", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JIT: \"", "<<", "(", "void", "*", ")", "MCE", ".", "getCurrentPCValue", "(", ")", "<<", "\":\\t\"", "<<", "MI", ")", ";", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ",", "true", ")", ";", "++", "NumEmitted", ";", "switch", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "{", "default", ":", "{", "llvm_unreachable", "(", "\"Unhandled instruction encoding format!\"", ")", ";", "break", ";", "}", "case", "ARMII", "::", "MiscFrm", ":", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "LEApcrelJT", ")", "{", "emitLEApcrelJTInstruction", "(", "MI", ")", ";", "break", ";", "}", "llvm_unreachable", "(", "\"Unhandled instruction encoding!\"", ")", ";", "break", ";", "case", "ARMII", "::", "Pseudo", ":", "emitPseudoInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "DPFrm", ":", "case", "ARMII", "::", "DPSoRegFrm", ":", "emitDataProcessingInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdFrm", ":", "case", "ARMII", "::", "StFrm", ":", "emitLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdMiscFrm", ":", "case", "ARMII", "::", "StMiscFrm", ":", "emitMiscLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdStMulFrm", ":", "emitLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "MulFrm", ":", "emitMulFrmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ExtFrm", ":", "emitExtendInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ArithMiscFrm", ":", "emitMiscArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "SatFrm", ":", "emitSaturateInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrFrm", ":", "emitBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrMiscFrm", ":", "emitMiscBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPUnaryFrm", ":", "case", "ARMII", "::", "VFPBinaryFrm", ":", "emitVFPArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPConv1Frm", ":", "case", "ARMII", "::", "VFPConv2Frm", ":", "case", "ARMII", "::", "VFPConv3Frm", ":", "case", "ARMII", "::", "VFPConv4Frm", ":", "case", "ARMII", "::", "VFPConv5Frm", ":", "emitVFPConversionInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStFrm", ":", "emitVFPLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStMulFrm", ":", "emitVFPLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPMiscFrm", ":", "emitMiscInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "NGetLnFrm", ":", "case", "ARMII", "::", "NSetLnFrm", ":", "emitNEONLaneInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "NDupFrm", ":", "emitNEONDupInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N1RegModImmFrm", ":", "emitNEON1RegModImmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N2RegFrm", ":", "emitNEON2RegInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N3RegFrm", ":", "emitNEON3RegInstruction", "(", "MI", ")", ";", "break", ";", "}", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ",", "false", ")", ";", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "to", "emit", "instructions", "."], "TS_V_token": ["ARM", "ARM", "\"JIT: \"", "\":\\t\"", "ARMII::FormMask", "\"Unhandled instruction encoding format!\"", "ARMII::MiscFrm", "ARM::LEApcrelJT", "\"Unhandled instruction encoding!\"", "ARMII::Pseudo", "ARMII::DPFrm", "ARMII::DPSoRegFrm", "ARMII::LdFrm", "ARMII::StFrm", "ARMII::LdMiscFrm", "ARMII::StMiscFrm", "ARMII::LdStMulFrm", "ARMII::MulFrm", "ARMII::ExtFrm", "ARMII::ArithMiscFrm", "ARMII::SatFrm", "ARMII::BrFrm", "ARMII::BrMiscFrm", "ARMII::VFPUnaryFrm", "ARMII::VFPBinaryFrm", "ARMII::VFPConv1Frm", "ARMII::VFPConv2Frm", "ARMII::VFPConv3Frm", "ARMII::VFPConv4Frm", "ARMII::VFPConv5Frm", "ARMII::VFPLdStFrm", "ARMII::VFPLdStMulFrm", "ARMII::VFPMiscFrm", "ARMII::NGetLnFrm", "ARMII::NSetLnFrm", "ARMII::NDupFrm", "ARMII::N1RegModImmFrm", "ARMII::N2RegFrm", "ARMII::N3RegFrm"], "File": "ARMCodeEmitter26", "Func": "emitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10403, "Length": 421} {"ground_truth": ["", "unsigned", "ARMCodeEmitter", "::", "getMachineOpValue", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineOperand", "&", "MO", ")", "const", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "return", "getARMRegisterNumbering", "(", "MO", ".", "getReg", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isFPImm", "(", ")", ")", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getFPImm", "(", ")", "->", "getValueAPF", "(", ")", ".", "bitcastToAPInt", "(", ")", ".", "getHiBits", "(", "32", ")", ".", "getLimitedValue", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isGlobal", "(", ")", ")", "emitGlobalAddress", "(", "MO", ".", "getGlobal", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ",", "true", ",", "false", ")", ";", "else", "if", "(", "MO", ".", "isSymbol", "(", ")", ")", "emitExternalSymbolAddress", "(", "MO", ".", "getSymbolName", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "if", "(", "MO", ".", "isCPI", "(", ")", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "unsigned", "Reloc", "=", "(", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "==", "ARMII", "::", "VFPLdStFrm", ")", "?", "ARM", "::", "reloc_arm_vfp_cp_entry", ":", "ARM", "::", "reloc_arm_cp_entry", ";", "emitConstPoolAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "Reloc", ")", ";", "}", "else", "if", "(", "MO", ".", "isJTI", "(", ")", ")", "emitJumpTableAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "ARM", "::", "reloc_arm_relative", ")", ";", "else", "if", "(", "MO", ".", "isMBB", "(", ")", ")", "emitMachineBasicBlock", "(", "MO", ".", "getMBB", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "llvm_unreachable", "(", "\"Unable to encode MachineOperand!\"", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "32", "ARM::reloc_arm_branch", "ARM::reloc_arm_branch", "ARMII::FormMask", "ARMII::VFPLdStFrm", "ARM::reloc_arm_vfp_cp_entry", "ARM::reloc_arm_cp_entry", "ARM::reloc_arm_relative", "ARM::reloc_arm_branch", "\"Unable to encode MachineOperand!\"", "0"], "File": "ARMCodeEmitter26", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10404, "Length": 258} {"ground_truth": ["", "void", "ARMCodeEmitter", "::", "emitInstruction", "(", "const", "MachineInstr", "&", "MI", ")", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JIT: \"", "<<", "(", "void", "*", ")", "MCE", ".", "getCurrentPCValue", "(", ")", "<<", "\":\\t\"", "<<", "MI", ")", ";", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ",", "true", ")", ";", "++", "NumEmitted", ";", "switch", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "{", "default", ":", "{", "llvm_unreachable", "(", "\"Unhandled instruction encoding format!\"", ")", ";", "break", ";", "}", "case", "ARMII", "::", "Pseudo", ":", "emitPseudoInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "DPFrm", ":", "case", "ARMII", "::", "DPSoRegFrm", ":", "emitDataProcessingInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdFrm", ":", "case", "ARMII", "::", "StFrm", ":", "emitLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdMiscFrm", ":", "case", "ARMII", "::", "StMiscFrm", ":", "emitMiscLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdStMulFrm", ":", "emitLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "MulFrm", ":", "emitMulFrmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ExtFrm", ":", "emitExtendInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ArithMiscFrm", ":", "emitMiscArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "SatFrm", ":", "emitSaturateInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrFrm", ":", "emitBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrMiscFrm", ":", "emitMiscBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPUnaryFrm", ":", "case", "ARMII", "::", "VFPBinaryFrm", ":", "emitVFPArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPConv1Frm", ":", "case", "ARMII", "::", "VFPConv2Frm", ":", "case", "ARMII", "::", "VFPConv3Frm", ":", "case", "ARMII", "::", "VFPConv4Frm", ":", "case", "ARMII", "::", "VFPConv5Frm", ":", "emitVFPConversionInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStFrm", ":", "emitVFPLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStMulFrm", ":", "emitVFPLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPMiscFrm", ":", "emitMiscInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "NGetLnFrm", ":", "case", "ARMII", "::", "NSetLnFrm", ":", "emitNEONLaneInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "NDupFrm", ":", "emitNEONDupInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N1RegModImmFrm", ":", "emitNEON1RegModImmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N2RegFrm", ":", "emitNEON2RegInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N3RegFrm", ":", "emitNEON3RegInstruction", "(", "MI", ")", ";", "break", ";", "}", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ",", "false", ")", ";", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "to", "emit", "instructions", "."], "TS_V_token": ["ARM", "ARM", "\"JIT: \"", "\":\\t\"", "ARMII::FormMask", "\"Unhandled instruction encoding format!\"", "ARMII::Pseudo", "ARMII::DPFrm", "ARMII::DPSoRegFrm", "ARMII::LdFrm", "ARMII::StFrm", "ARMII::LdMiscFrm", "ARMII::StMiscFrm", "ARMII::LdStMulFrm", "ARMII::MulFrm", "ARMII::ExtFrm", "ARMII::ArithMiscFrm", "ARMII::SatFrm", "ARMII::BrFrm", "ARMII::BrMiscFrm", "ARMII::VFPUnaryFrm", "ARMII::VFPBinaryFrm", "ARMII::VFPConv1Frm", "ARMII::VFPConv2Frm", "ARMII::VFPConv3Frm", "ARMII::VFPConv4Frm", "ARMII::VFPConv5Frm", "ARMII::VFPLdStFrm", "ARMII::VFPLdStMulFrm", "ARMII::VFPMiscFrm", "ARMII::NGetLnFrm", "ARMII::NSetLnFrm", "ARMII::NDupFrm", "ARMII::N1RegModImmFrm", "ARMII::N2RegFrm", "ARMII::N3RegFrm"], "File": "ARMCodeEmitter6", "Func": "emitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10405, "Length": 388} {"ground_truth": ["", "void", "Emitter", "<", "CodeEmitter", ">", "::", "emitInstruction", "(", "const", "MachineInstr", "&", "MI", ")", "{", "DOUT", "<<", "\"JIT: \"", "<<", "(", "void", "*", ")", "MCE", ".", "getCurrentPCValue", "(", ")", "<<", "\":\\t\"", "<<", "MI", ";", "NumEmitted", "++", ";", "switch", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "{", "default", ":", "{", "assert", "(", "0", "&&", "\"Unhandled instruction encoding format!\"", ")", ";", "break", ";", "}", "case", "ARMII", "::", "Pseudo", ":", "emitPseudoInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "DPFrm", ":", "case", "ARMII", "::", "DPSoRegFrm", ":", "emitDataProcessingInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdFrm", ":", "case", "ARMII", "::", "StFrm", ":", "emitLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdMiscFrm", ":", "case", "ARMII", "::", "StMiscFrm", ":", "emitMiscLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdStMulFrm", ":", "emitLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "MulFrm", ":", "emitMulFrmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ExtFrm", ":", "emitExtendInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ArithMiscFrm", ":", "emitMiscArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrFrm", ":", "emitBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrMiscFrm", ":", "emitMiscBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPUnaryFrm", ":", "case", "ARMII", "::", "VFPBinaryFrm", ":", "emitVFPArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPConv1Frm", ":", "case", "ARMII", "::", "VFPConv2Frm", ":", "case", "ARMII", "::", "VFPConv3Frm", ":", "case", "ARMII", "::", "VFPConv4Frm", ":", "case", "ARMII", "::", "VFPConv5Frm", ":", "emitVFPConversionInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStFrm", ":", "emitVFPLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStMulFrm", ":", "emitVFPLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPMiscFrm", ":", "emitMiscInstruction", "(", "MI", ")", ";", "break", ";", "}", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "to", "emit", "instructions", "."], "TS_V_token": ["ARM", "\"JIT: \"", "\":\\t\"", "ARMII::FormMask", "0", "\"Unhandled instruction encoding format!\"", "ARMII::Pseudo", "ARMII::DPFrm", "ARMII::DPSoRegFrm", "ARMII::LdFrm", "ARMII::StFrm", "ARMII::LdMiscFrm", "ARMII::StMiscFrm", "ARMII::LdStMulFrm", "ARMII::MulFrm", "ARMII::ExtFrm", "ARMII::ArithMiscFrm", "ARMII::BrFrm", "ARMII::BrMiscFrm", "ARMII::VFPUnaryFrm", "ARMII::VFPBinaryFrm", "ARMII::VFPConv1Frm", "ARMII::VFPConv2Frm", "ARMII::VFPConv3Frm", "ARMII::VFPConv4Frm", "ARMII::VFPConv5Frm", "ARMII::VFPLdStFrm", "ARMII::VFPLdStMulFrm", "ARMII::VFPMiscFrm"], "File": "ARMCodeEmitter7", "Func": "emitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10406, "Length": 285} {"ground_truth": ["", "unsigned", "Emitter", "<", "CodeEmitter", ">", "::", "getMachineOpValue", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineOperand", "&", "MO", ")", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "return", "ARMRegisterInfo", "::", "getRegisterNumbering", "(", "MO", ".", "getReg", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isGlobal", "(", ")", ")", "emitGlobalAddress", "(", "MO", ".", "getGlobal", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ",", "true", ")", ";", "else", "if", "(", "MO", ".", "isSymbol", "(", ")", ")", "emitExternalSymbolAddress", "(", "MO", ".", "getSymbolName", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "if", "(", "MO", ".", "isCPI", "(", ")", ")", "{", "const", "TargetInstrDesc", "&", "TID", "=", "MI", ".", "getDesc", "(", ")", ";", "unsigned", "Reloc", "=", "(", "(", "TID", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "==", "ARMII", "::", "VFPLdStFrm", ")", "?", "ARM", "::", "reloc_arm_vfp_cp_entry", ":", "ARM", "::", "reloc_arm_cp_entry", ";", "emitConstPoolAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "Reloc", ")", ";", "}", "else", "if", "(", "MO", ".", "isJTI", "(", ")", ")", "emitJumpTableAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "ARM", "::", "reloc_arm_relative", ")", ";", "else", "if", "(", "MO", ".", "isMBB", "(", ")", ")", "emitMachineBasicBlock", "(", "MO", ".", "getMBB", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "{", "cerr", "<<", "\"ERROR: Unknown type of MachineOperand: \"", "<<", "MO", "<<", "\"\\n\"", ";", "abort", "(", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::reloc_arm_branch", "ARM::reloc_arm_branch", "ARMII::FormMask", "ARMII::VFPLdStFrm", "ARM::reloc_arm_vfp_cp_entry", "ARM::reloc_arm_cp_entry", "ARM::reloc_arm_relative", "ARM::reloc_arm_branch", "\"ERROR: Unknown type of MachineOperand: \"", "\"\\n\"", "0"], "File": "ARMCodeEmitter7", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10407, "Length": 230} {"ground_truth": ["", "bool", "Emitter", "<", "CodeEmitter", ">", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "assert", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Default", "||", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Static", ")", "&&", "\"JIT relocation model must be set to static or default!\"", ")", ";", "II", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getInstrInfo", "(", ")", ";", "TD", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getTargetData", "(", ")", ";", "JTI", "=", "(", "(", "ARMTargetMachine", "&", ")", "MF", ".", "getTarget", "(", ")", ")", ".", "getJITInfo", "(", ")", ";", "MCPEs", "=", "&", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "MJTEs", "=", "&", "MF", ".", "getJumpTableInfo", "(", ")", "->", "getJumpTables", "(", ")", ";", "IsPIC", "=", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "JTI", "->", "Initialize", "(", "MF", ",", "IsPIC", ")", ";", "do", "{", "DOUT", "<<", "\"JITTing function '\"", "<<", "MF", ".", "getFunction", "(", ")", "->", "getName", "(", ")", "<<", "\"'\\n\"", ";", "MCE", ".", "startFunction", "(", "MF", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MBB", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBB", "!=", "E", ";", "++", "MBB", ")", "{", "MCE", ".", "StartMachineBasicBlock", "(", "MBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "const_iterator", "I", "=", "MBB", "->", "begin", "(", ")", ",", "E", "=", "MBB", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "emitInstruction", "(", "*", "I", ")", ";", "}", "}", "while", "(", "MCE", ".", "finishFunction", "(", "MF", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "\"JIT relocation model must be set to static or default!\"", "ARM", "ARM", "ARM", "\"JITTing function '\"", "\"'\\n\""], "File": "ARMCodeEmitter7", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10408, "Length": 260} {"ground_truth": ["", "void", "ARMCodeEmitter", "::", "emitInstruction", "(", "const", "MachineInstr", "&", "MI", ")", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JIT: \"", "<<", "(", "void", "*", ")", "MCE", ".", "getCurrentPCValue", "(", ")", "<<", "\":\\t\"", "<<", "MI", ")", ";", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ",", "true", ")", ";", "++", "NumEmitted", ";", "switch", "(", "MI", ".", "getDesc", "(", ")", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "{", "default", ":", "{", "llvm_unreachable", "(", "\"Unhandled instruction encoding format!\"", ")", ";", "}", "case", "ARMII", "::", "MiscFrm", ":", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "LEApcrelJT", ")", "{", "emitLEApcrelJTInstruction", "(", "MI", ")", ";", "break", ";", "}", "llvm_unreachable", "(", "\"Unhandled instruction encoding!\"", ")", ";", "case", "ARMII", "::", "Pseudo", ":", "emitPseudoInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "DPFrm", ":", "case", "ARMII", "::", "DPSoRegFrm", ":", "emitDataProcessingInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdFrm", ":", "case", "ARMII", "::", "StFrm", ":", "emitLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdMiscFrm", ":", "case", "ARMII", "::", "StMiscFrm", ":", "emitMiscLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "LdStMulFrm", ":", "emitLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "MulFrm", ":", "emitMulFrmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ExtFrm", ":", "emitExtendInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "ArithMiscFrm", ":", "emitMiscArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "SatFrm", ":", "emitSaturateInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrFrm", ":", "emitBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "BrMiscFrm", ":", "emitMiscBranchInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPUnaryFrm", ":", "case", "ARMII", "::", "VFPBinaryFrm", ":", "emitVFPArithInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPConv1Frm", ":", "case", "ARMII", "::", "VFPConv2Frm", ":", "case", "ARMII", "::", "VFPConv3Frm", ":", "case", "ARMII", "::", "VFPConv4Frm", ":", "case", "ARMII", "::", "VFPConv5Frm", ":", "emitVFPConversionInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStFrm", ":", "emitVFPLoadStoreInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPLdStMulFrm", ":", "emitVFPLoadStoreMultipleInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "VFPMiscFrm", ":", "emitMiscInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "NGetLnFrm", ":", "case", "ARMII", "::", "NSetLnFrm", ":", "emitNEONLaneInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "NDupFrm", ":", "emitNEONDupInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N1RegModImmFrm", ":", "emitNEON1RegModImmInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N2RegFrm", ":", "emitNEON2RegInstruction", "(", "MI", ")", ";", "break", ";", "case", "ARMII", "::", "N3RegFrm", ":", "emitNEON3RegInstruction", "(", "MI", ")", ";", "break", ";", "}", "MCE", ".", "processDebugLoc", "(", "MI", ".", "getDebugLoc", "(", ")", ",", "false", ")", ";", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "to", "emit", "instructions", "."], "TS_V_token": ["ARM", "ARM", "\"JIT: \"", "\":\\t\"", "ARMII::FormMask", "\"Unhandled instruction encoding format!\"", "ARMII::MiscFrm", "ARM::LEApcrelJT", "\"Unhandled instruction encoding!\"", "ARMII::Pseudo", "ARMII::DPFrm", "ARMII::DPSoRegFrm", "ARMII::LdFrm", "ARMII::StFrm", "ARMII::LdMiscFrm", "ARMII::StMiscFrm", "ARMII::LdStMulFrm", "ARMII::MulFrm", "ARMII::ExtFrm", "ARMII::ArithMiscFrm", "ARMII::SatFrm", "ARMII::BrFrm", "ARMII::BrMiscFrm", "ARMII::VFPUnaryFrm", "ARMII::VFPBinaryFrm", "ARMII::VFPConv1Frm", "ARMII::VFPConv2Frm", "ARMII::VFPConv3Frm", "ARMII::VFPConv4Frm", "ARMII::VFPConv5Frm", "ARMII::VFPLdStFrm", "ARMII::VFPLdStMulFrm", "ARMII::VFPMiscFrm", "ARMII::NGetLnFrm", "ARMII::NSetLnFrm", "ARMII::NDupFrm", "ARMII::N1RegModImmFrm", "ARMII::N2RegFrm", "ARMII::N3RegFrm"], "File": "ARMCodeEmitter", "Func": "emitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10409, "Length": 417} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "{", "AU", ".", "addRequired", "<", "MachineModuleInfo", ">", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMCodeEmitter", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10410, "Length": 26} {"ground_truth": ["", "unsigned", "getBranchTargetOpValue", "(", "const", "MachineInstr", "&", "MI", ",", "unsigned", "Op", ")", "const", "{", "return", "0", ";", "}", ""], "natrual_language": ["getBranchTargetOpValue", "-", "Return", "binary", "encoding", "of", "the", "branch", "target", "operand", "."], "TS_V_token": ["ARM", "0"], "File": "ARMCodeEmitter", "Func": "getBranchTargetOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10411, "Length": 17} {"ground_truth": ["", "unsigned", "ARMCodeEmitter", "::", "getMachineOpValue", "(", "const", "MachineInstr", "&", "MI", ",", "const", "MachineOperand", "&", "MO", ")", "const", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "return", "II", "->", "getRegisterInfo", "(", ")", ".", "getEncodingValue", "(", "MO", ".", "getReg", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isFPImm", "(", ")", ")", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getFPImm", "(", ")", "->", "getValueAPF", "(", ")", ".", "bitcastToAPInt", "(", ")", ".", "getHiBits", "(", "32", ")", ".", "getLimitedValue", "(", ")", ")", ";", "else", "if", "(", "MO", ".", "isGlobal", "(", ")", ")", "emitGlobalAddress", "(", "MO", ".", "getGlobal", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ",", "true", ",", "false", ")", ";", "else", "if", "(", "MO", ".", "isSymbol", "(", ")", ")", "emitExternalSymbolAddress", "(", "MO", ".", "getSymbolName", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "if", "(", "MO", ".", "isCPI", "(", ")", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", ".", "getDesc", "(", ")", ";", "unsigned", "Reloc", "=", "(", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "==", "ARMII", "::", "VFPLdStFrm", ")", "?", "ARM", "::", "reloc_arm_vfp_cp_entry", ":", "ARM", "::", "reloc_arm_cp_entry", ";", "emitConstPoolAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "Reloc", ")", ";", "}", "else", "if", "(", "MO", ".", "isJTI", "(", ")", ")", "emitJumpTableAddress", "(", "MO", ".", "getIndex", "(", ")", ",", "ARM", "::", "reloc_arm_relative", ")", ";", "else", "if", "(", "MO", ".", "isMBB", "(", ")", ")", "emitMachineBasicBlock", "(", "MO", ".", "getMBB", "(", ")", ",", "ARM", "::", "reloc_arm_branch", ")", ";", "else", "llvm_unreachable", "(", "\"Unable to encode MachineOperand!\"", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "32", "ARM::reloc_arm_branch", "ARM::reloc_arm_branch", "ARMII::FormMask", "ARMII::VFPLdStFrm", "ARM::reloc_arm_vfp_cp_entry", "ARM::reloc_arm_cp_entry", "ARM::reloc_arm_relative", "ARM::reloc_arm_branch", "\"Unable to encode MachineOperand!\"", "0"], "File": "ARMCodeEmitter", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10412, "Length": 264} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"ARM Machine Code Emitter\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Machine Code Emitter\""], "File": "ARMCodeEmitter", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10413, "Length": 13} {"ground_truth": ["", "bool", "ARMCodeEmitter", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "TargetMachine", "&", "Target", "=", "const_cast", "<", "TargetMachine", "&", ">", "(", "MF", ".", "getTarget", "(", ")", ")", ";", "assert", "(", "(", "Target", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Default", "||", "Target", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "Static", ")", "&&", "\"JIT relocation model must be set to static or default!\"", ")", ";", "JTI", "=", "static_cast", "<", "ARMJITInfo", "*", ">", "(", "Target", ".", "getJITInfo", "(", ")", ")", ";", "II", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Target", ".", "getInstrInfo", "(", ")", ")", ";", "TD", "=", "Target", ".", "getDataLayout", "(", ")", ";", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MCPEs", "=", "&", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "MJTEs", "=", "0", ";", "if", "(", "MF", ".", "getJumpTableInfo", "(", ")", ")", "MJTEs", "=", "&", "MF", ".", "getJumpTableInfo", "(", ")", "->", "getJumpTables", "(", ")", ";", "IsPIC", "=", "TM", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "IsThumb", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isThumbFunction", "(", ")", ";", "JTI", "->", "Initialize", "(", "MF", ",", "IsPIC", ")", ";", "MMI", "=", "&", "getAnalysis", "<", "MachineModuleInfo", ">", "(", ")", ";", "MCE", ".", "setModuleInfo", "(", "MMI", ")", ";", "do", "{", "DEBUG", "(", "errs", "(", ")", "<<", "\"JITTing function '\"", "<<", "MF", ".", "getName", "(", ")", "<<", "\"'\\n\"", ")", ";", "MCE", ".", "startFunction", "(", "MF", ")", ";", "for", "(", "MachineFunction", "::", "iterator", "MBB", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBB", "!=", "E", ";", "++", "MBB", ")", "{", "MCE", ".", "StartMachineBasicBlock", "(", "MBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", "->", "begin", "(", ")", ",", "E", "=", "MBB", "->", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "emitInstruction", "(", "*", "I", ")", ";", "}", "}", "while", "(", "MCE", ".", "finishFunction", "(", "MF", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"JIT relocation model must be set to static or default!\"", "ARM", "ARM", "ARM", "0", "ARM", "\"JITTing function '\"", "\"'\\n\""], "File": "ARMCodeEmitter", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10414, "Length": 308} {"ground_truth": ["", "bool", "ARMCodeGenPrepare", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "skipFunction", "(", "F", ")", "||", "DisableCGP", ")", "return", "false", ";", "auto", "*", "TPC", "=", "&", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "if", "(", "!", "TPC", ")", "return", "false", ";", "const", "TargetMachine", "&", "TM", "=", "TPC", "->", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "bool", "MadeChange", "=", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM CGP: Running on \"", "<<", "F", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "auto", "&", "Insts", "=", "BB", ".", "getInstList", "(", ")", ";", "for", "(", "auto", "&", "I", ":", "Insts", ")", "{", "if", "(", "AllVisited", ".", "count", "(", "&", "I", ")", ")", "continue", ";", "if", "(", "isa", "<", "ICmpInst", ">", "(", "I", ")", ")", "{", "auto", "&", "CI", "=", "cast", "<", "ICmpInst", ">", "(", "I", ")", ";", "if", "(", "CI", ".", "isSigned", "(", ")", "||", "!", "isa", "<", "IntegerType", ">", "(", "CI", ".", "getOperand", "(", "0", ")", "->", "getType", "(", ")", ")", ")", "continue", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM CGP: Searching from: \"", "<<", "CI", "<<", "\"\\n\"", ")", ";", "for", "(", "auto", "&", "Op", ":", "CI", ".", "operands", "(", ")", ")", "{", "if", "(", "auto", "*", "I", "=", "dyn_cast", "<", "Instruction", ">", "(", "Op", ")", ")", "MadeChange", "|=", "TryToPromote", "(", "I", ")", ";", "}", "}", "}", "LLVM_DEBUG", "(", "if", "(", "verifyFunction", "(", "F", ",", "&", "dbgs", "(", ")", ")", ")", "{", "dbgs", "(", ")", "<<", "F", ";", "report_fatal_error", "(", "\"Broken function after type promotion\"", ")", ";", "}", ")", ";", "}", "if", "(", "MadeChange", ")", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"After ARMCodeGenPrepare: \"", "<<", "F", "<<", "\"\\n\"", ")", ";", "return", "MadeChange", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"ARM CGP: Running on \"", "\"\\n\"", "0", "\"ARM CGP: Searching from: \"", "\"\\n\"", "\"Broken function after type promotion\"", "\"After ARMCodeGenPrepare: \"", "\"\\n\""], "File": "ARMCodeGenPrepare10", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10415, "Length": 283} {"ground_truth": ["", "bool", "ARMCodeGenPrepare", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "skipFunction", "(", "F", ")", "||", "DisableCGP", ")", "return", "false", ";", "auto", "*", "TPC", "=", "&", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "if", "(", "!", "TPC", ")", "return", "false", ";", "const", "TargetMachine", "&", "TM", "=", "TPC", "->", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "bool", "MadeChange", "=", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM CGP: Running on \"", "<<", "F", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "auto", "&", "Insts", "=", "BB", ".", "getInstList", "(", ")", ";", "for", "(", "auto", "&", "I", ":", "Insts", ")", "{", "if", "(", "AllVisited", ".", "count", "(", "&", "I", ")", ")", "continue", ";", "if", "(", "isa", "<", "ICmpInst", ">", "(", "I", ")", ")", "{", "auto", "&", "CI", "=", "cast", "<", "ICmpInst", ">", "(", "I", ")", ";", "if", "(", "CI", ".", "isSigned", "(", ")", "||", "!", "isa", "<", "IntegerType", ">", "(", "CI", ".", "getOperand", "(", "0", ")", "->", "getType", "(", ")", ")", ")", "continue", ";", "for", "(", "auto", "&", "Op", ":", "CI", ".", "operands", "(", ")", ")", "{", "if", "(", "auto", "*", "I", "=", "dyn_cast", "<", "Instruction", ">", "(", "Op", ")", ")", "MadeChange", "|=", "TryToPromote", "(", "I", ")", ";", "}", "}", "}", "Promoter", "->", "Cleanup", "(", ")", ";", "LLVM_DEBUG", "(", "if", "(", "verifyFunction", "(", "F", ",", "&", "dbgs", "(", ")", ")", ")", "{", "dbgs", "(", ")", ";", "report_fatal_error", "(", "\"Broken function after type promotion\"", ")", ";", "}", ")", ";", "}", "if", "(", "MadeChange", ")", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"After ARMCodeGenPrepare: \"", "<<", "F", "<<", "\"\\n\"", ")", ";", "return", "MadeChange", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"ARM CGP: Running on \"", "\"\\n\"", "0", "\"Broken function after type promotion\"", "\"After ARMCodeGenPrepare: \"", "\"\\n\""], "File": "ARMCodeGenPrepare11", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10416, "Length": 274} {"ground_truth": ["", "static", "bool", "isSigned", "(", "Value", "*", "V", ")", "{", "if", "(", "!", "isa", "<", "Instruction", ">", "(", "V", ")", ")", "return", "false", ";", "unsigned", "Opc", "=", "cast", "<", "Instruction", ">", "(", "V", ")", "->", "getOpcode", "(", ")", ";", "return", "Opc", "==", "Instruction", "::", "AShr", "||", "Opc", "==", "Instruction", "::", "SDiv", "||", "Opc", "==", "Instruction", "::", "SRem", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "all", "source", "operands", "of", "the", "recurrence", "are", "SExtInsts", "."], "TS_V_token": ["ARM"], "File": "ARMCodeGenPrepare1", "Func": "isSigned", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10417, "Length": 58} {"ground_truth": ["", "bool", "ARMCodeGenPrepare", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "skipFunction", "(", "F", ")", "||", "DisableCGP", ")", "return", "false", ";", "auto", "*", "TPC", "=", "&", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "if", "(", "!", "TPC", ")", "return", "false", ";", "const", "TargetMachine", "&", "TM", "=", "TPC", "->", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "bool", "MadeChange", "=", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM CGP: Running on \"", "<<", "F", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "auto", "&", "Insts", "=", "BB", ".", "getInstList", "(", ")", ";", "for", "(", "auto", "&", "I", ":", "Insts", ")", "{", "if", "(", "AllVisited", ".", "count", "(", "&", "I", ")", ")", "continue", ";", "if", "(", "isa", "<", "ICmpInst", ">", "(", "I", ")", ")", "{", "auto", "&", "CI", "=", "cast", "<", "ICmpInst", ">", "(", "I", ")", ";", "if", "(", "CI", ".", "isSigned", "(", ")", "||", "!", "isa", "<", "IntegerType", ">", "(", "CI", ".", "getOperand", "(", "0", ")", "->", "getType", "(", ")", ")", ")", "continue", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM CGP: Searching from: \"", "<<", "CI", "<<", "\"\\n\"", ")", ";", "for", "(", "auto", "&", "Op", ":", "CI", ".", "operands", "(", ")", ")", "{", "if", "(", "auto", "*", "I", "=", "dyn_cast", "<", "Instruction", ">", "(", "Op", ")", ")", "{", "if", "(", "isa", "<", "ZExtInst", ">", "(", "I", ")", ")", "MadeChange", "|=", "TryToPromote", "(", "I", "->", "getOperand", "(", "0", ")", ")", ";", "else", "MadeChange", "|=", "TryToPromote", "(", "I", ")", ";", "}", "}", "}", "}", "Promoter", "->", "Cleanup", "(", ")", ";", "LLVM_DEBUG", "(", "if", "(", "verifyFunction", "(", "F", ",", "&", "dbgs", "(", ")", ")", ")", "{", "dbgs", "(", ")", ";", "report_fatal_error", "(", "\"Broken function after type promotion\"", ")", ";", "}", ")", ";", "}", "if", "(", "MadeChange", ")", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"After ARMCodeGenPrepare: \"", "<<", "F", "<<", "\"\\n\"", ")", ";", "return", "MadeChange", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"ARM CGP: Running on \"", "\"\\n\"", "0", "\"ARM CGP: Searching from: \"", "\"\\n\"", "0", "\"Broken function after type promotion\"", "\"After ARMCodeGenPrepare: \"", "\"\\n\""], "File": "ARMCodeGenPrepare1", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10418, "Length": 312} {"ground_truth": ["", "bool", "ARMCodeGenPrepare", "::", "doFinalization", "(", "Module", "&", "M", ")", "{", "delete", "Promoter", ";", "return", "false", ";", "}", ""], "natrual_language": ["doFinalization", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "any", "necessary", "clean", "up", "after", "all", "passes", "have", "run", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMCodeGenPrepare", "Func": "doFinalization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10419, "Length": 17} {"ground_truth": ["", "bool", "ARMCodeGenPrepare", "::", "doInitialization", "(", "Module", "&", "M", ")", "{", "Promoter", "=", "new", "IRPromoter", "(", "&", "M", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Set", "up", "the", "AsmPrinter", "when", "we", "are", "working", "on", "a", "new", "module", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMCodeGenPrepare", "Func": "doInitialization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10420, "Length": 23} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "addRequired", "<", "TargetPassConfig", ">", "(", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMCodeGenPrepare", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10421, "Length": 20} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM IR optimizations\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM IR optimizations\""], "File": "ARMCodeGenPrepare", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10422, "Length": 11} {"ground_truth": ["", "bool", "ARMCodeGenPrepare", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "skipFunction", "(", "F", ")", "||", "DisableCGP", ")", "return", "false", ";", "auto", "*", "TPC", "=", "&", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "if", "(", "!", "TPC", ")", "return", "false", ";", "const", "TargetMachine", "&", "TM", "=", "TPC", "->", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "bool", "MadeChange", "=", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM CGP: Running on \"", "<<", "F", ".", "getName", "(", ")", "<<", "\"\\n\"", ")", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "auto", "&", "Insts", "=", "BB", ".", "getInstList", "(", ")", ";", "for", "(", "auto", "&", "I", ":", "Insts", ")", "{", "if", "(", "AllVisited", ".", "count", "(", "&", "I", ")", ")", "continue", ";", "if", "(", "isa", "<", "ICmpInst", ">", "(", "I", ")", ")", "{", "auto", "&", "CI", "=", "cast", "<", "ICmpInst", ">", "(", "I", ")", ";", "if", "(", "CI", ".", "isSigned", "(", ")", "||", "!", "isa", "<", "IntegerType", ">", "(", "CI", ".", "getOperand", "(", "0", ")", "->", "getType", "(", ")", ")", ")", "continue", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM CGP: Searching from: \"", "<<", "CI", "<<", "\"\\n\"", ")", ";", "for", "(", "auto", "&", "Op", ":", "CI", ".", "operands", "(", ")", ")", "{", "if", "(", "auto", "*", "I", "=", "dyn_cast", "<", "Instruction", ">", "(", "Op", ")", ")", "MadeChange", "|=", "TryToPromote", "(", "I", ")", ";", "}", "}", "}", "Promoter", "->", "Cleanup", "(", ")", ";", "LLVM_DEBUG", "(", "if", "(", "verifyFunction", "(", "F", ",", "&", "dbgs", "(", ")", ")", ")", "{", "dbgs", "(", ")", ";", "report_fatal_error", "(", "\"Broken function after type promotion\"", ")", ";", "}", ")", ";", "}", "if", "(", "MadeChange", ")", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"After ARMCodeGenPrepare: \"", "<<", "F", "<<", "\"\\n\"", ")", ";", "return", "MadeChange", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"ARM CGP: Running on \"", "\"\\n\"", "0", "\"ARM CGP: Searching from: \"", "\"\\n\"", "\"Broken function after type promotion\"", "\"After ARMCodeGenPrepare: \"", "\"\\n\""], "File": "ARMCodeGenPrepare", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10423, "Length": 287} {"ground_truth": ["", "unsigned", "ARMConstantIslands", "::", "getOffsetOf", "(", "MachineInstr", "*", "MI", ")", "const", "{", "MachineBasicBlock", "*", "MBB", "=", "MI", "->", "getParent", "(", ")", ";", "unsigned", "Offset", "=", "BBInfo", "[", "MBB", "->", "getNumber", "(", ")", "]", ".", "Offset", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", "->", "begin", "(", ")", ";", "&", "*", "I", "!=", "MI", ";", "++", "I", ")", "{", "assert", "(", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "\"Didn't find MI in its own basic block?\"", ")", ";", "Offset", "+=", "TII", "->", "GetInstSizeInBytes", "(", "I", ")", ";", "}", "return", "Offset", ";", "}", ""], "natrual_language": ["getOffsetOf", "-", "Return", "the", "current", "offset", "of", "the", "specified", "machine", "instruction", "from", "the", "start", "of", "the", "function", "."], "TS_V_token": ["ARM", "ARM", "\"Didn't find MI in its own basic block?\""], "File": "ARMConstantIslandPass (2)1", "Func": "getOffsetOf", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10424, "Length": 85} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM constant island placement and branch shortening pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM constant island placement and branch shortening pass\""], "File": "ARMConstantIslandPass (2)1", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10425, "Length": 13} {"ground_truth": ["", "bool", "ARMConstantIslands", "::", "isBBInRange", "(", "MachineInstr", "*", "MI", ",", "MachineBasicBlock", "*", "DestBB", ",", "unsigned", "MaxDisp", ")", "{", "unsigned", "PCAdj", "=", "isThumb", "?", "4", ":", "8", ";", "unsigned", "BrOffset", "=", "getOffsetOf", "(", "MI", ")", "+", "PCAdj", ";", "unsigned", "DestOffset", "=", "BBInfo", "[", "DestBB", "->", "getNumber", "(", ")", "]", ".", "Offset", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Branch of destination BB#\"", "<<", "DestBB", "->", "getNumber", "(", ")", "<<", "\" from BB#\"", "<<", "MI", "->", "getParent", "(", ")", "->", "getNumber", "(", ")", "<<", "\" max delta=\"", "<<", "MaxDisp", "<<", "\" from \"", "<<", "getOffsetOf", "(", "MI", ")", "<<", "\" to \"", "<<", "DestOffset", "<<", "\" offset \"", "<<", "int", "(", "DestOffset", "-", "BrOffset", ")", "<<", "\"\\t\"", "<<", "*", "MI", ")", ";", "if", "(", "BrOffset", "<=", "DestOffset", ")", "{", "if", "(", "DestOffset", "-", "BrOffset", "<=", "MaxDisp", ")", "return", "true", ";", "}", "else", "{", "if", "(", "BrOffset", "-", "DestOffset", "<=", "MaxDisp", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["isBBInRange", "-", "Returns", "true", "if", "the", "distance", "between", "specific", "MI", "and", "specific", "BB", "can", "fit", "in", "MI", "'s", "displacement", "field", "."], "TS_V_token": ["ARM", "ARM", "4", "8", "\"Branch of destination BB#\"", "\" from BB#\"", "\" max delta=\"", "\" from \"", "\" to \"", "\" offset \"", "\"\\t\""], "File": "ARMConstantIslandPass (2)1", "Func": "isBBInRange", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10426, "Length": 143} {"ground_truth": ["", "void", "ARMConstantIslands", "::", "verify", "(", ")", "{", "for", "(", "MachineFunction", "::", "iterator", "MBBI", "=", "MF", "->", "begin", "(", ")", ",", "E", "=", "MF", "->", "end", "(", ")", ";", "MBBI", "!=", "E", ";", "++", "MBBI", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "&", "*", "MBBI", ";", "unsigned", "MBBId", "=", "MBB", "->", "getNumber", "(", ")", ";", "assert", "(", "!", "MBBId", "||", "BBInfo", "[", "MBBId", "-", "1", "]", ".", "postOffset", "(", ")", "<=", "BBInfo", "[", "MBBId", "]", ".", "Offset", ")", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Verifying \"", "<<", "CPUsers", ".", "size", "(", ")", "<<", "\" CP users.\\n\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "CPUser", "&", "U", "=", "CPUsers", "[", "i", "]", ";", "unsigned", "UserOffset", "=", "getUserOffset", "(", "U", ")", ";", "if", "(", "isCPEntryInRange", "(", "U", ".", "MI", ",", "UserOffset", ",", "U", ".", "CPEMI", ",", "U", ".", "getMaxDisp", "(", ")", "+", "2", ",", "U", ".", "NegOk", ",", "true", ")", ")", "{", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"OK\\n\"", ")", ";", "continue", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Out of range.\\n\"", ")", ";", "dumpBBs", "(", ")", ";", "DEBUG", "(", "MF", "->", "dump", "(", ")", ")", ";", "llvm_unreachable", "(", "\"Constant pool entry out of range!\"", ")", ";", "}", "}", ""], "natrual_language": ["Check", "if", "this", "register", "bank", "is", "valid", "."], "TS_V_token": ["ARM", "ARM", "1", "\"Verifying \"", "\" CP users.\\n\"", "0", "2", "\"OK\\n\"", "\"Out of range.\\n\"", "\"Constant pool entry out of range!\""], "File": "ARMConstantIslandPass (2)1", "Func": "verify", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10427, "Length": 206} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"ARM constant island placement and branch shortening pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM constant island placement and branch shortening pass\""], "File": "ARMConstantIslandPass10", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10428, "Length": 13} {"ground_truth": ["", "unsigned", "internalKnownBits", "(", ")", "const", "{", "return", "Unalign", "?", "Unalign", ":", "KnownBits", ";", "}", ""], "natrual_language": ["Compute", "the", "number", "of", "known", "offset", "bits", "internally", "to", "this", "block", "."], "TS_V_token": ["ARM"], "File": "ARMConstantIslandPass10", "Func": "internalKnownBits", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10429, "Length": 14} {"ground_truth": ["", "unsigned", "postOffset", "(", "unsigned", "LogAlign", "=", "0", ")", "const", "{", "unsigned", "PO", "=", "Offset", "+", "Size", ";", "unsigned", "LA", "=", "std", "::", "max", "(", "unsigned", "(", "PostAlign", ")", ",", "LogAlign", ")", ";", "if", "(", "!", "LA", ")", "return", "PO", ";", "return", "WorstCaseAlign", "(", "PO", ",", "LA", ",", "internalKnownBits", "(", ")", ")", ";", "}", ""], "natrual_language": ["Compute", "the", "offset", "immediately", "following", "this", "block", "."], "TS_V_token": ["ARM", "0"], "File": "ARMConstantIslandPass10", "Func": "postOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10430, "Length": 53} {"ground_truth": ["", "void", "ARMConstantIslands", "::", "verify", "(", ")", "{", "for", "(", "MachineFunction", "::", "iterator", "MBBI", "=", "MF", "->", "begin", "(", ")", ",", "E", "=", "MF", "->", "end", "(", ")", ";", "MBBI", "!=", "E", ";", "++", "MBBI", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "MBBI", ";", "unsigned", "Align", "=", "MBB", "->", "getAlignment", "(", ")", ";", "unsigned", "MBBId", "=", "MBB", "->", "getNumber", "(", ")", ";", "assert", "(", "BBInfo", "[", "MBBId", "]", ".", "Offset", "%", "(", "1u", "<<", "Align", ")", "==", "0", ")", ";", "assert", "(", "!", "MBBId", "||", "BBInfo", "[", "MBBId", "-", "1", "]", ".", "postOffset", "(", ")", "<=", "BBInfo", "[", "MBBId", "]", ".", "Offset", ")", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Verifying \"", "<<", "CPUsers", ".", "size", "(", ")", "<<", "\" CP users.\\n\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "CPUser", "&", "U", "=", "CPUsers", "[", "i", "]", ";", "unsigned", "UserOffset", "=", "getUserOffset", "(", "U", ")", ";", "if", "(", "isCPEntryInRange", "(", "U", ".", "MI", ",", "UserOffset", ",", "U", ".", "CPEMI", ",", "U", ".", "getMaxDisp", "(", ")", "+", "2", ",", "U", ".", "NegOk", ",", "true", ")", ")", "{", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"OK\\n\"", ")", ";", "continue", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Out of range.\\n\"", ")", ";", "dumpBBs", "(", ")", ";", "DEBUG", "(", "MF", "->", "dump", "(", ")", ")", ";", "llvm_unreachable", "(", "\"Constant pool entry out of range!\"", ")", ";", "}", "}", ""], "natrual_language": ["Check", "if", "this", "register", "bank", "is", "valid", "."], "TS_V_token": ["ARM", "ARM", "1u", "0", "1", "\"Verifying \"", "\" CP users.\\n\"", "0", "2", "\"OK\\n\"", "\"Out of range.\\n\"", "\"Constant pool entry out of range!\""], "File": "ARMConstantIslandPass10", "Func": "verify", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10431, "Length": 231} {"ground_truth": ["", "bool", "ARMConstantIslands", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "MachineConstantPool", "&", "MCP", "=", "*", "MF", ".", "getConstantPool", "(", ")", ";", "TII", "=", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "STI", "=", "&", "MF", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "isThumb", "=", "AFI", "->", "isThumbFunction", "(", ")", ";", "isThumb1", "=", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ";", "isThumb2", "=", "AFI", "->", "isThumb2Function", "(", ")", ";", "HasFarJump", "=", "false", ";", "MF", ".", "RenumberBlocks", "(", ")", ";", "AFI", "->", "setAlign", "(", "isThumb1", "?", "1U", ":", "2U", ")", ";", "std", "::", "vector", "<", "MachineInstr", "*", ">", "CPEMIs", ";", "if", "(", "!", "MCP", ".", "isEmpty", "(", ")", ")", "{", "DoInitialPlacement", "(", "MF", ",", "CPEMIs", ")", ";", "if", "(", "isThumb1", ")", "AFI", "->", "setAlign", "(", "2U", ")", ";", "}", "AFI", "->", "initConstPoolEntryUId", "(", "CPEMIs", ".", "size", "(", ")", ")", ";", "InitialFunctionScan", "(", "MF", ",", "CPEMIs", ")", ";", "CPEMIs", ".", "clear", "(", ")", ";", "RemoveUnusedCPEntries", "(", ")", ";", "bool", "MadeChange", "=", "false", ";", "unsigned", "NoCPIters", "=", "0", ",", "NoBRIters", "=", "0", ";", "while", "(", "true", ")", "{", "bool", "CPChange", "=", "false", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "CPChange", "|=", "HandleConstantPoolUser", "(", "MF", ",", "i", ")", ";", "if", "(", "CPChange", "&&", "++", "NoCPIters", ">", "30", ")", "llvm_unreachable", "(", "\"Constant Island pass failed to converge!\"", ")", ";", "DEBUG", "(", "dumpBBs", "(", ")", ")", ";", "bool", "BRChange", "=", "false", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "ImmBranches", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "BRChange", "|=", "FixUpImmediateBr", "(", "MF", ",", "ImmBranches", "[", "i", "]", ")", ";", "if", "(", "BRChange", "&&", "++", "NoBRIters", ">", "30", ")", "llvm_unreachable", "(", "\"Branch Fix Up pass failed to converge!\"", ")", ";", "DEBUG", "(", "dumpBBs", "(", ")", ")", ";", "if", "(", "!", "CPChange", "&&", "!", "BRChange", ")", "break", ";", "MadeChange", "=", "true", ";", "}", "if", "(", "isThumb2", ")", "MadeChange", "|=", "OptimizeThumb2Instructions", "(", "MF", ")", ";", "verify", "(", "MF", ")", ";", "if", "(", "isThumb", "&&", "!", "HasFarJump", "&&", "AFI", "->", "isLRSpilledForFarJump", "(", ")", ")", "MadeChange", "|=", "UndoLRSpillRestore", "(", ")", ";", "BBSizes", ".", "clear", "(", ")", ";", "BBOffsets", ".", "clear", "(", ")", ";", "WaterList", ".", "clear", "(", ")", ";", "CPUsers", ".", "clear", "(", ")", ";", "CPEntries", ".", "clear", "(", ")", ";", "ImmBranches", ".", "clear", "(", ")", ";", "PushPopMIs", ".", "clear", "(", ")", ";", "T2JumpTables", ".", "clear", "(", ")", ";", "return", "MadeChange", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "1U", "2U", "2U", "0", "0", "0", "30", "\"Constant Island pass failed to converge!\"", "0", "30", "\"Branch Fix Up pass failed to converge!\""], "File": "ARMConstantIslandPass11", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10432, "Length": 409} {"ground_truth": ["", "void", "ARMConstantIslands", "::", "verify", "(", "MachineFunction", "&", "MF", ")", "{", "assert", "(", "BBOffsets", ".", "size", "(", ")", "==", "BBSizes", ".", "size", "(", ")", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "BBOffsets", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "assert", "(", "BBOffsets", "[", "i", "-", "1", "]", "+", "BBSizes", "[", "i", "-", "1", "]", "==", "BBOffsets", "[", "i", "]", ")", ";", "if", "(", "!", "isThumb", ")", "return", ";", "for", "(", "MachineFunction", "::", "iterator", "MBBI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBBI", "!=", "E", ";", "++", "MBBI", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "MBBI", ";", "if", "(", "!", "MBB", "->", "empty", "(", ")", "&&", "MBB", "->", "begin", "(", ")", "->", "getOpcode", "(", ")", "==", "ARM", "::", "CONSTPOOL_ENTRY", ")", "{", "unsigned", "MBBId", "=", "MBB", "->", "getNumber", "(", ")", ";", "assert", "(", "(", "BBOffsets", "[", "MBBId", "]", "%", "4", "==", "0", "&&", "BBSizes", "[", "MBBId", "]", "%", "4", "==", "0", ")", "||", "(", "BBOffsets", "[", "MBBId", "]", "%", "4", "!=", "0", "&&", "BBSizes", "[", "MBBId", "]", "%", "4", "!=", "0", ")", ")", ";", "}", "}", "}", ""], "natrual_language": ["Check", "if", "this", "register", "bank", "is", "valid", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "1", "ARM::CONSTPOOL_ENTRY", "4", "0", "4", "0", "4", "0", "4", "0"], "File": "ARMConstantIslandPass11", "Func": "verify", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10433, "Length": 190} {"ground_truth": ["", "unsigned", "internalKnownBits", "(", ")", "const", "{", "unsigned", "Bits", "=", "Unalign", "?", "Unalign", ":", "KnownBits", ";", "if", "(", "Size", "&", "(", "(", "1u", "<<", "Bits", ")", "-", "1", ")", ")", "Bits", "=", "CountTrailingZeros_32", "(", "Size", ")", ";", "return", "Bits", ";", "}", ""], "natrual_language": ["Compute", "the", "number", "of", "known", "offset", "bits", "internally", "to", "this", "block", "."], "TS_V_token": ["ARM", "1u", "1"], "File": "ARMConstantIslandPass12", "Func": "internalKnownBits", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10434, "Length": 40} {"ground_truth": ["", "void", "ARMConstantIslands", "::", "verify", "(", ")", "{", "for", "(", "MachineFunction", "::", "iterator", "MBBI", "=", "MF", "->", "begin", "(", ")", ",", "E", "=", "MF", "->", "end", "(", ")", ";", "MBBI", "!=", "E", ";", "++", "MBBI", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "MBBI", ";", "unsigned", "MBBId", "=", "MBB", "->", "getNumber", "(", ")", ";", "assert", "(", "!", "MBBId", "||", "BBInfo", "[", "MBBId", "-", "1", "]", ".", "postOffset", "(", ")", "<=", "BBInfo", "[", "MBBId", "]", ".", "Offset", ")", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Verifying \"", "<<", "CPUsers", ".", "size", "(", ")", "<<", "\" CP users.\\n\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "CPUser", "&", "U", "=", "CPUsers", "[", "i", "]", ";", "unsigned", "UserOffset", "=", "getUserOffset", "(", "U", ")", ";", "if", "(", "isCPEntryInRange", "(", "U", ".", "MI", ",", "UserOffset", ",", "U", ".", "CPEMI", ",", "U", ".", "getMaxDisp", "(", ")", "+", "2", ",", "U", ".", "NegOk", ",", "true", ")", ")", "{", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"OK\\n\"", ")", ";", "continue", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Out of range.\\n\"", ")", ";", "dumpBBs", "(", ")", ";", "DEBUG", "(", "MF", "->", "dump", "(", ")", ")", ";", "llvm_unreachable", "(", "\"Constant pool entry out of range!\"", ")", ";", "}", "}", ""], "natrual_language": ["Check", "if", "this", "register", "bank", "is", "valid", "."], "TS_V_token": ["ARM", "ARM", "1", "\"Verifying \"", "\" CP users.\\n\"", "0", "2", "\"OK\\n\"", "\"Out of range.\\n\"", "\"Constant pool entry out of range!\""], "File": "ARMConstantIslandPass12", "Func": "verify", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10435, "Length": 204} {"ground_truth": ["", "void", "ARMConstantIslands", "::", "verify", "(", "MachineFunction", "&", "MF", ")", "{", "assert", "(", "BBOffsets", ".", "size", "(", ")", "==", "BBSizes", ".", "size", "(", ")", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "BBOffsets", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "assert", "(", "BBOffsets", "[", "i", "-", "1", "]", "+", "BBSizes", "[", "i", "-", "1", "]", "==", "BBOffsets", "[", "i", "]", ")", ";", "if", "(", "!", "isThumb", ")", "return", ";", "for", "(", "MachineFunction", "::", "iterator", "MBBI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MBBI", "!=", "E", ";", "++", "MBBI", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "MBBI", ";", "if", "(", "!", "MBB", "->", "empty", "(", ")", "&&", "MBB", "->", "begin", "(", ")", "->", "getOpcode", "(", ")", "==", "ARM", "::", "CONSTPOOL_ENTRY", ")", "{", "unsigned", "MBBId", "=", "MBB", "->", "getNumber", "(", ")", ";", "assert", "(", "HasInlineAsm", "||", "(", "BBOffsets", "[", "MBBId", "]", "%", "4", "==", "0", "&&", "BBSizes", "[", "MBBId", "]", "%", "4", "==", "0", ")", "||", "(", "BBOffsets", "[", "MBBId", "]", "%", "4", "!=", "0", "&&", "BBSizes", "[", "MBBId", "]", "%", "4", "!=", "0", ")", ")", ";", "}", "}", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "CPUser", "&", "U", "=", "CPUsers", "[", "i", "]", ";", "unsigned", "UserOffset", "=", "GetOffsetOf", "(", "U", ".", "MI", ")", "+", "(", "isThumb", "?", "4", ":", "8", ")", ";", "unsigned", "CPEOffset", "=", "GetOffsetOf", "(", "U", ".", "CPEMI", ")", ";", "unsigned", "Disp", "=", "UserOffset", "<", "CPEOffset", "?", "CPEOffset", "-", "UserOffset", ":", "UserOffset", "-", "CPEOffset", ";", "assert", "(", "Disp", "<=", "U", ".", "MaxDisp", "||", "\"Constant pool entry out of range!\"", ")", ";", "}", "}", ""], "natrual_language": ["Check", "if", "this", "register", "bank", "is", "valid", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "1", "ARM::CONSTPOOL_ENTRY", "4", "0", "4", "0", "4", "0", "4", "0", "0", "4", "8", "\"Constant pool entry out of range!\""], "File": "ARMConstantIslandPass14", "Func": "verify", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10436, "Length": 279} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "addRequired", "<", "MachineDominatorTree", ">", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMConstantIslandPass15", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10437, "Length": 27} {"ground_truth": ["", "void", "ARMConstantIslands", "::", "verify", "(", ")", "{", "BBInfoVector", "&", "BBInfo", "=", "BBUtils", "->", "getBBInfo", "(", ")", ";", "assert", "(", "is_sorted", "(", "*", "MF", ",", "[", "&", "BBInfo", "]", "(", "const", "MachineBasicBlock", "&", "LHS", ",", "const", "MachineBasicBlock", "&", "RHS", ")", "{", "return", "BBInfo", "[", "LHS", ".", "getNumber", "(", ")", "]", ".", "postOffset", "(", ")", "<", "BBInfo", "[", "RHS", ".", "getNumber", "(", ")", "]", ".", "postOffset", "(", ")", ";", "}", ")", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Verifying \"", "<<", "CPUsers", ".", "size", "(", ")", "<<", "\" CP users.\\n\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "CPUser", "&", "U", "=", "CPUsers", "[", "i", "]", ";", "unsigned", "UserOffset", "=", "getUserOffset", "(", "U", ")", ";", "if", "(", "isCPEntryInRange", "(", "U", ".", "MI", ",", "UserOffset", ",", "U", ".", "CPEMI", ",", "U", ".", "getMaxDisp", "(", ")", "+", "2", ",", "U", ".", "NegOk", ",", "true", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"OK\\n\"", ")", ";", "continue", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Out of range.\\n\"", ")", ";", "dumpBBs", "(", ")", ";", "LLVM_DEBUG", "(", "MF", "->", "dump", "(", ")", ")", ";", "llvm_unreachable", "(", "\"Constant pool entry out of range!\"", ")", ";", "}", "}", ""], "natrual_language": ["Check", "if", "this", "register", "bank", "is", "valid", "."], "TS_V_token": ["ARM", "ARM", "\"Verifying \"", "\" CP users.\\n\"", "0", "2", "\"OK\\n\"", "\"Out of range.\\n\"", "\"Constant pool entry out of range!\""], "File": "ARMConstantIslandPass15", "Func": "verify", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10438, "Length": 199} {"ground_truth": ["", "void", "ARMConstantIslands", "::", "verify", "(", ")", "{", "assert", "(", "std", "::", "is_sorted", "(", "MF", "->", "begin", "(", ")", ",", "MF", "->", "end", "(", ")", ",", "[", "this", "]", "(", "const", "MachineBasicBlock", "&", "LHS", ",", "const", "MachineBasicBlock", "&", "RHS", ")", "{", "return", "BBInfo", "[", "LHS", ".", "getNumber", "(", ")", "]", ".", "postOffset", "(", ")", "<", "BBInfo", "[", "RHS", ".", "getNumber", "(", ")", "]", ".", "postOffset", "(", ")", ";", "}", ")", ")", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Verifying \"", "<<", "CPUsers", ".", "size", "(", ")", "<<", "\" CP users.\\n\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "CPUser", "&", "U", "=", "CPUsers", "[", "i", "]", ";", "unsigned", "UserOffset", "=", "getUserOffset", "(", "U", ")", ";", "if", "(", "isCPEntryInRange", "(", "U", ".", "MI", ",", "UserOffset", ",", "U", ".", "CPEMI", ",", "U", ".", "getMaxDisp", "(", ")", "+", "2", ",", "U", ".", "NegOk", ",", "true", ")", ")", "{", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"OK\\n\"", ")", ";", "continue", ";", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Out of range.\\n\"", ")", ";", "dumpBBs", "(", ")", ";", "DEBUG", "(", "MF", "->", "dump", "(", ")", ")", ";", "llvm_unreachable", "(", "\"Constant pool entry out of range!\"", ")", ";", "}", "}", ""], "natrual_language": ["Check", "if", "this", "register", "bank", "is", "valid", "."], "TS_V_token": ["ARM", "ARM", "\"Verifying \"", "\" CP users.\\n\"", "0", "2", "\"OK\\n\"", "\"Out of range.\\n\"", "\"Constant pool entry out of range!\""], "File": "ARMConstantIslandPass16", "Func": "verify", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10439, "Length": 199} {"ground_truth": ["", "bool", "ARMConstantIslands", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "MachineConstantPool", "&", "MCP", "=", "*", "MF", ".", "getConstantPool", "(", ")", ";", "TII", "=", "(", "const", "ARMInstrInfo", "*", ")", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "STI", "=", "&", "MF", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "isThumb", "=", "AFI", "->", "isThumbFunction", "(", ")", ";", "isThumb1", "=", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ";", "isThumb2", "=", "AFI", "->", "isThumb2Function", "(", ")", ";", "HasFarJump", "=", "false", ";", "HasInlineAsm", "=", "false", ";", "MF", ".", "RenumberBlocks", "(", ")", ";", "bool", "MadeChange", "=", "false", ";", "if", "(", "isThumb2", "&&", "AdjustJumpTableBlocks", ")", "{", "JumpTableFunctionScan", "(", "MF", ")", ";", "MadeChange", "|=", "ReorderThumb2JumpTables", "(", "MF", ")", ";", "T2JumpTables", ".", "clear", "(", ")", ";", "MF", ".", "RenumberBlocks", "(", ")", ";", "}", "if", "(", "!", "isThumb1", ")", "MF", ".", "EnsureAlignment", "(", "2", ")", ";", "std", "::", "vector", "<", "MachineInstr", "*", ">", "CPEMIs", ";", "if", "(", "!", "MCP", ".", "isEmpty", "(", ")", ")", "{", "DoInitialPlacement", "(", "MF", ",", "CPEMIs", ")", ";", "if", "(", "isThumb1", ")", "MF", ".", "EnsureAlignment", "(", "2", ")", ";", "}", "AFI", "->", "initConstPoolEntryUId", "(", "CPEMIs", ".", "size", "(", ")", ")", ";", "InitialFunctionScan", "(", "MF", ",", "CPEMIs", ")", ";", "CPEMIs", ".", "clear", "(", ")", ";", "DEBUG", "(", "dumpBBs", "(", ")", ")", ";", "RemoveUnusedCPEntries", "(", ")", ";", "unsigned", "NoCPIters", "=", "0", ",", "NoBRIters", "=", "0", ";", "while", "(", "true", ")", "{", "bool", "CPChange", "=", "false", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "CPChange", "|=", "HandleConstantPoolUser", "(", "MF", ",", "i", ")", ";", "if", "(", "CPChange", "&&", "++", "NoCPIters", ">", "30", ")", "llvm_unreachable", "(", "\"Constant Island pass failed to converge!\"", ")", ";", "DEBUG", "(", "dumpBBs", "(", ")", ")", ";", "NewWaterList", ".", "clear", "(", ")", ";", "bool", "BRChange", "=", "false", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "ImmBranches", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "BRChange", "|=", "FixUpImmediateBr", "(", "MF", ",", "ImmBranches", "[", "i", "]", ")", ";", "if", "(", "BRChange", "&&", "++", "NoBRIters", ">", "30", ")", "llvm_unreachable", "(", "\"Branch Fix Up pass failed to converge!\"", ")", ";", "DEBUG", "(", "dumpBBs", "(", ")", ")", ";", "if", "(", "!", "CPChange", "&&", "!", "BRChange", ")", "break", ";", "MadeChange", "=", "true", ";", "}", "if", "(", "isThumb2", "&&", "!", "STI", "->", "prefers32BitThumb", "(", ")", ")", "MadeChange", "|=", "OptimizeThumb2Instructions", "(", "MF", ")", ";", "verify", "(", "MF", ")", ";", "if", "(", "isThumb", "&&", "!", "HasFarJump", "&&", "AFI", "->", "isLRSpilledForFarJump", "(", ")", ")", "MadeChange", "|=", "UndoLRSpillRestore", "(", ")", ";", "DEBUG", "(", "errs", "(", ")", "<<", "'\\n'", ";", "dumpBBs", "(", ")", ")", ";", "BBSizes", ".", "clear", "(", ")", ";", "BBOffsets", ".", "clear", "(", ")", ";", "WaterList", ".", "clear", "(", ")", ";", "CPUsers", ".", "clear", "(", ")", ";", "CPEntries", ".", "clear", "(", ")", ";", "ImmBranches", ".", "clear", "(", ")", ";", "PushPopMIs", ".", "clear", "(", ")", ";", "T2JumpTables", ".", "clear", "(", ")", ";", "return", "MadeChange", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "2", "2", "0", "0", "0", "30", "\"Constant Island pass failed to converge!\"", "0", "30", "\"Branch Fix Up pass failed to converge!\""], "File": "ARMConstantIslandPass17", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10440, "Length": 484} {"ground_truth": ["", "bool", "ARMConstantIslands", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "MachineConstantPool", "&", "MCP", "=", "*", "Fn", ".", "getConstantPool", "(", ")", ";", "TII", "=", "Fn", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "isThumb", "=", "AFI", "->", "isThumbFunction", "(", ")", ";", "HasFarJump", "=", "false", ";", "Fn", ".", "RenumberBlocks", "(", ")", ";", "AFI", "->", "setAlign", "(", "isThumb", "?", "1U", ":", "2U", ")", ";", "std", "::", "vector", "<", "MachineInstr", "*", ">", "CPEMIs", ";", "if", "(", "!", "MCP", ".", "isEmpty", "(", ")", ")", "{", "DoInitialPlacement", "(", "Fn", ",", "CPEMIs", ")", ";", "if", "(", "isThumb", ")", "AFI", "->", "setAlign", "(", "2U", ")", ";", "}", "AFI", "->", "initConstPoolEntryUId", "(", "CPEMIs", ".", "size", "(", ")", ")", ";", "InitialFunctionScan", "(", "Fn", ",", "CPEMIs", ")", ";", "CPEMIs", ".", "clear", "(", ")", ";", "RemoveUnusedCPEntries", "(", ")", ";", "bool", "MadeChange", "=", "false", ";", "while", "(", "true", ")", "{", "bool", "Change", "=", "false", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "Change", "|=", "HandleConstantPoolUser", "(", "Fn", ",", "i", ")", ";", "DEBUG", "(", "dumpBBs", "(", ")", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "ImmBranches", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "Change", "|=", "FixUpImmediateBr", "(", "Fn", ",", "ImmBranches", "[", "i", "]", ")", ";", "DEBUG", "(", "dumpBBs", "(", ")", ")", ";", "if", "(", "!", "Change", ")", "break", ";", "MadeChange", "=", "true", ";", "}", "verify", "(", "Fn", ")", ";", "if", "(", "!", "HasFarJump", "&&", "AFI", "->", "isLRSpilledForFarJump", "(", ")", "&&", "isThumb", ")", "MadeChange", "|=", "UndoLRSpillRestore", "(", ")", ";", "BBSizes", ".", "clear", "(", ")", ";", "BBOffsets", ".", "clear", "(", ")", ";", "WaterList", ".", "clear", "(", ")", ";", "CPUsers", ".", "clear", "(", ")", ";", "CPEntries", ".", "clear", "(", ")", ";", "ImmBranches", ".", "clear", "(", ")", ";", "PushPopMIs", ".", "clear", "(", ")", ";", "return", "MadeChange", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "1U", "2U", "2U", "0", "0"], "File": "ARMConstantIslandPass18", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10441, "Length": 315} {"ground_truth": ["", "void", "ARMConstantIslands", "::", "verify", "(", "MachineFunction", "&", "Fn", ")", "{", "assert", "(", "BBOffsets", ".", "size", "(", ")", "==", "BBSizes", ".", "size", "(", ")", ")", ";", "for", "(", "unsigned", "i", "=", "1", ",", "e", "=", "BBOffsets", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "assert", "(", "BBOffsets", "[", "i", "-", "1", "]", "+", "BBSizes", "[", "i", "-", "1", "]", "==", "BBOffsets", "[", "i", "]", ")", ";", "if", "(", "isThumb", ")", "{", "for", "(", "MachineFunction", "::", "iterator", "MBBI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MBBI", "!=", "E", ";", "++", "MBBI", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "MBBI", ";", "if", "(", "!", "MBB", "->", "empty", "(", ")", "&&", "MBB", "->", "begin", "(", ")", "->", "getOpcode", "(", ")", "==", "ARM", "::", "CONSTPOOL_ENTRY", ")", "assert", "(", "(", "BBOffsets", "[", "MBB", "->", "getNumber", "(", ")", "]", "%", "4", "==", "0", "&&", "BBSizes", "[", "MBB", "->", "getNumber", "(", ")", "]", "%", "4", "==", "0", ")", "||", "(", "BBOffsets", "[", "MBB", "->", "getNumber", "(", ")", "]", "%", "4", "!=", "0", "&&", "BBSizes", "[", "MBB", "->", "getNumber", "(", ")", "]", "%", "4", "!=", "0", ")", ")", ";", "}", "}", "}", ""], "natrual_language": ["Check", "if", "this", "register", "bank", "is", "valid", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "1", "ARM::CONSTPOOL_ENTRY", "4", "0", "4", "0", "4", "0", "4", "0"], "File": "ARMConstantIslandPass18", "Func": "verify", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10442, "Length": 194} {"ground_truth": ["", "bool", "ARMConstantIslands", "::", "isBBInRange", "(", "MachineInstr", "*", "MI", ",", "MachineBasicBlock", "*", "DestBB", ",", "unsigned", "MaxDisp", ")", "{", "unsigned", "PCAdj", "=", "isThumb", "?", "4", ":", "8", ";", "unsigned", "BrOffset", "=", "getOffsetOf", "(", "MI", ")", "+", "PCAdj", ";", "unsigned", "DestOffset", "=", "BBInfo", "[", "DestBB", "->", "getNumber", "(", ")", "]", ".", "Offset", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Branch of destination \"", "<<", "printMBBReference", "(", "*", "DestBB", ")", "<<", "\" from \"", "<<", "printMBBReference", "(", "*", "MI", "->", "getParent", "(", ")", ")", "<<", "\" max delta=\"", "<<", "MaxDisp", "<<", "\" from \"", "<<", "getOffsetOf", "(", "MI", ")", "<<", "\" to \"", "<<", "DestOffset", "<<", "\" offset \"", "<<", "int", "(", "DestOffset", "-", "BrOffset", ")", "<<", "\"\\t\"", "<<", "*", "MI", ")", ";", "if", "(", "BrOffset", "<=", "DestOffset", ")", "{", "if", "(", "DestOffset", "-", "BrOffset", "<=", "MaxDisp", ")", "return", "true", ";", "}", "else", "{", "if", "(", "BrOffset", "-", "DestOffset", "<=", "MaxDisp", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["isBBInRange", "-", "Returns", "true", "if", "the", "distance", "between", "specific", "MI", "and", "specific", "BB", "can", "fit", "in", "MI", "'s", "displacement", "field", "."], "TS_V_token": ["ARM", "ARM", "4", "8", "\"Branch of destination \"", "\" from \"", "\" max delta=\"", "\" from \"", "\" to \"", "\" offset \"", "\"\\t\""], "File": "ARMConstantIslandPass23", "Func": "isBBInRange", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10443, "Length": 143} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM constant island placement and branch shortening pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM constant island placement and branch shortening pass\""], "File": "ARMConstantIslandPass24", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10444, "Length": 11} {"ground_truth": ["", "void", "ARMConstantIslands", "::", "verify", "(", ")", "{", "BBInfoVector", "&", "BBInfo", "=", "BBUtils", "->", "getBBInfo", "(", ")", ";", "assert", "(", "std", "::", "is_sorted", "(", "MF", "->", "begin", "(", ")", ",", "MF", "->", "end", "(", ")", ",", "[", "&", "BBInfo", "]", "(", "const", "MachineBasicBlock", "&", "LHS", ",", "const", "MachineBasicBlock", "&", "RHS", ")", "{", "return", "BBInfo", "[", "LHS", ".", "getNumber", "(", ")", "]", ".", "postOffset", "(", ")", "<", "BBInfo", "[", "RHS", ".", "getNumber", "(", ")", "]", ".", "postOffset", "(", ")", ";", "}", ")", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Verifying \"", "<<", "CPUsers", ".", "size", "(", ")", "<<", "\" CP users.\\n\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "CPUser", "&", "U", "=", "CPUsers", "[", "i", "]", ";", "unsigned", "UserOffset", "=", "getUserOffset", "(", "U", ")", ";", "if", "(", "isCPEntryInRange", "(", "U", ".", "MI", ",", "UserOffset", ",", "U", ".", "CPEMI", ",", "U", ".", "getMaxDisp", "(", ")", "+", "2", ",", "U", ".", "NegOk", ",", "true", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"OK\\n\"", ")", ";", "continue", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Out of range.\\n\"", ")", ";", "dumpBBs", "(", ")", ";", "LLVM_DEBUG", "(", "MF", "->", "dump", "(", ")", ")", ";", "llvm_unreachable", "(", "\"Constant pool entry out of range!\"", ")", ";", "}", "}", ""], "natrual_language": ["Check", "if", "this", "register", "bank", "is", "valid", "."], "TS_V_token": ["ARM", "ARM", "\"Verifying \"", "\" CP users.\\n\"", "0", "2", "\"OK\\n\"", "\"Out of range.\\n\"", "\"Constant pool entry out of range!\""], "File": "ARMConstantIslandPass25", "Func": "verify", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10445, "Length": 210} {"ground_truth": ["", "void", "ARMConstantIslands", "::", "verify", "(", ")", "{", "BBInfoVector", "&", "BBInfo", "=", "BBUtils", "->", "getBBInfo", "(", ")", ";", "assert", "(", "is_sorted", "(", "*", "MF", ",", "[", "&", "BBInfo", "]", "(", "const", "MachineBasicBlock", "&", "LHS", ",", "const", "MachineBasicBlock", "&", "RHS", ")", "{", "return", "BBInfo", "[", "LHS", ".", "getNumber", "(", ")", "]", ".", "postOffset", "(", ")", "<", "BBInfo", "[", "RHS", ".", "getNumber", "(", ")", "]", ".", "postOffset", "(", ")", ";", "}", ")", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Verifying \"", "<<", "CPUsers", ".", "size", "(", ")", "<<", "\" CP users.\\n\"", ")", ";", "for", "(", "CPUser", "&", "U", ":", "CPUsers", ")", "{", "unsigned", "UserOffset", "=", "getUserOffset", "(", "U", ")", ";", "if", "(", "isCPEntryInRange", "(", "U", ".", "MI", ",", "UserOffset", ",", "U", ".", "CPEMI", ",", "U", ".", "getMaxDisp", "(", ")", "+", "2", ",", "U", ".", "NegOk", ",", "true", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"OK\\n\"", ")", ";", "continue", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Out of range.\\n\"", ")", ";", "dumpBBs", "(", ")", ";", "LLVM_DEBUG", "(", "MF", "->", "dump", "(", ")", ")", ";", "llvm_unreachable", "(", "\"Constant pool entry out of range!\"", ")", ";", "}", "}", ""], "natrual_language": ["Check", "if", "this", "register", "bank", "is", "valid", "."], "TS_V_token": ["ARM", "ARM", "\"Verifying \"", "\" CP users.\\n\"", "2", "\"OK\\n\"", "\"Out of range.\\n\"", "\"Constant pool entry out of range!\""], "File": "ARMConstantIslandPass33", "Func": "verify", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10446, "Length": 176} {"ground_truth": ["", "unsigned", "ARMConstantIslands", "::", "getOffsetOf", "(", "MachineInstr", "*", "MI", ")", "const", "{", "MachineBasicBlock", "*", "MBB", "=", "MI", "->", "getParent", "(", ")", ";", "unsigned", "Offset", "=", "BBInfo", "[", "MBB", "->", "getNumber", "(", ")", "]", ".", "Offset", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", "->", "begin", "(", ")", ";", "&", "*", "I", "!=", "MI", ";", "++", "I", ")", "{", "assert", "(", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "\"Didn't find MI in its own basic block?\"", ")", ";", "Offset", "+=", "TII", "->", "GetInstSizeInBytes", "(", "*", "I", ")", ";", "}", "return", "Offset", ";", "}", ""], "natrual_language": ["getOffsetOf", "-", "Return", "the", "current", "offset", "of", "the", "specified", "machine", "instruction", "from", "the", "start", "of", "the", "function", "."], "TS_V_token": ["ARM", "ARM", "\"Didn't find MI in its own basic block?\""], "File": "ARMConstantIslandPass44", "Func": "getOffsetOf", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10447, "Length": 86} {"ground_truth": ["", "bool", "ARMConstantIslands", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "MachineConstantPool", "&", "MCP", "=", "*", "MF", ".", "getConstantPool", "(", ")", ";", "TII", "=", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "STI", "=", "&", "MF", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "isThumb", "=", "AFI", "->", "isThumbFunction", "(", ")", ";", "isThumb1", "=", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ";", "isThumb2", "=", "AFI", "->", "isThumb2Function", "(", ")", ";", "HasFarJump", "=", "false", ";", "HasInlineAsm", "=", "false", ";", "MF", ".", "RenumberBlocks", "(", ")", ";", "bool", "MadeChange", "=", "false", ";", "if", "(", "isThumb2", "&&", "AdjustJumpTableBlocks", ")", "{", "JumpTableFunctionScan", "(", "MF", ")", ";", "MadeChange", "|=", "ReorderThumb2JumpTables", "(", "MF", ")", ";", "T2JumpTables", ".", "clear", "(", ")", ";", "MF", ".", "RenumberBlocks", "(", ")", ";", "}", "if", "(", "!", "isThumb1", ")", "MF", ".", "EnsureAlignment", "(", "2", ")", ";", "std", "::", "vector", "<", "MachineInstr", "*", ">", "CPEMIs", ";", "if", "(", "!", "MCP", ".", "isEmpty", "(", ")", ")", "{", "DoInitialPlacement", "(", "MF", ",", "CPEMIs", ")", ";", "if", "(", "isThumb1", ")", "MF", ".", "EnsureAlignment", "(", "2", ")", ";", "}", "AFI", "->", "initConstPoolEntryUId", "(", "CPEMIs", ".", "size", "(", ")", ")", ";", "InitialFunctionScan", "(", "MF", ",", "CPEMIs", ")", ";", "CPEMIs", ".", "clear", "(", ")", ";", "RemoveUnusedCPEntries", "(", ")", ";", "unsigned", "NoCPIters", "=", "0", ",", "NoBRIters", "=", "0", ";", "while", "(", "true", ")", "{", "bool", "CPChange", "=", "false", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "CPChange", "|=", "HandleConstantPoolUser", "(", "MF", ",", "i", ")", ";", "if", "(", "CPChange", "&&", "++", "NoCPIters", ">", "30", ")", "llvm_unreachable", "(", "\"Constant Island pass failed to converge!\"", ")", ";", "DEBUG", "(", "dumpBBs", "(", ")", ")", ";", "NewWaterList", ".", "clear", "(", ")", ";", "bool", "BRChange", "=", "false", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "ImmBranches", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "BRChange", "|=", "FixUpImmediateBr", "(", "MF", ",", "ImmBranches", "[", "i", "]", ")", ";", "if", "(", "BRChange", "&&", "++", "NoBRIters", ">", "30", ")", "llvm_unreachable", "(", "\"Branch Fix Up pass failed to converge!\"", ")", ";", "DEBUG", "(", "dumpBBs", "(", ")", ")", ";", "if", "(", "!", "CPChange", "&&", "!", "BRChange", ")", "break", ";", "MadeChange", "=", "true", ";", "}", "if", "(", "isThumb2", ")", "MadeChange", "|=", "OptimizeThumb2Instructions", "(", "MF", ")", ";", "verify", "(", "MF", ")", ";", "if", "(", "isThumb", "&&", "!", "HasFarJump", "&&", "AFI", "->", "isLRSpilledForFarJump", "(", ")", ")", "MadeChange", "|=", "UndoLRSpillRestore", "(", ")", ";", "BBSizes", ".", "clear", "(", ")", ";", "BBOffsets", ".", "clear", "(", ")", ";", "WaterList", ".", "clear", "(", ")", ";", "CPUsers", ".", "clear", "(", ")", ";", "CPEntries", ".", "clear", "(", ")", ";", "ImmBranches", ".", "clear", "(", ")", ";", "PushPopMIs", ".", "clear", "(", ")", ";", "T2JumpTables", ".", "clear", "(", ")", ";", "return", "MadeChange", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "2", "2", "0", "0", "0", "30", "\"Constant Island pass failed to converge!\"", "0", "30", "\"Branch Fix Up pass failed to converge!\""], "File": "ARMConstantIslandPass47", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10448, "Length": 452} {"ground_truth": ["", "void", "ARMConstantIslands", "::", "verify", "(", ")", "{", "for", "(", "MachineFunction", "::", "iterator", "MBBI", "=", "MF", "->", "begin", "(", ")", ",", "E", "=", "MF", "->", "end", "(", ")", ";", "MBBI", "!=", "E", ";", "++", "MBBI", ")", "{", "MachineBasicBlock", "*", "MBB", "=", "MBBI", ";", "unsigned", "Align", "=", "MBB", "->", "getAlignment", "(", ")", ";", "unsigned", "MBBId", "=", "MBB", "->", "getNumber", "(", ")", ";", "assert", "(", "BBInfo", "[", "MBBId", "]", ".", "Offset", "%", "(", "1u", "<<", "Align", ")", "==", "0", ")", ";", "assert", "(", "!", "MBBId", "||", "BBInfo", "[", "MBBId", "-", "1", "]", ".", "postOffset", "(", ")", "<=", "BBInfo", "[", "MBBId", "]", ".", "Offset", ")", ";", "}", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "CPUser", "&", "U", "=", "CPUsers", "[", "i", "]", ";", "unsigned", "UserOffset", "=", "GetUserOffset", "(", "U", ")", ";", "assert", "(", "CPEIsInRange", "(", "U", ".", "MI", ",", "UserOffset", ",", "U", ".", "CPEMI", ",", "U", ".", "getMaxDisp", "(", ")", ",", "U", ".", "NegOk", ")", "&&", "\"Constant pool entry out of range!\"", ")", ";", "}", "}", ""], "natrual_language": ["Check", "if", "this", "register", "bank", "is", "valid", "."], "TS_V_token": ["ARM", "ARM", "1u", "0", "1", "0", "\"Constant pool entry out of range!\""], "File": "ARMConstantIslandPass51", "Func": "verify", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10449, "Length": 173} {"ground_truth": ["", "unsigned", "ARMConstantIslands", "::", "getOffsetOf", "(", "MachineInstr", "*", "MI", ")", "const", "{", "MachineBasicBlock", "*", "MBB", "=", "MI", "->", "getParent", "(", ")", ";", "unsigned", "Offset", "=", "BBInfo", "[", "MBB", "->", "getNumber", "(", ")", "]", ".", "Offset", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "I", "=", "MBB", "->", "begin", "(", ")", ";", "&", "*", "I", "!=", "MI", ";", "++", "I", ")", "{", "assert", "(", "I", "!=", "MBB", "->", "end", "(", ")", "&&", "\"Didn't find MI in its own basic block?\"", ")", ";", "Offset", "+=", "TII", "->", "getInstSizeInBytes", "(", "*", "I", ")", ";", "}", "return", "Offset", ";", "}", ""], "natrual_language": ["getOffsetOf", "-", "Return", "the", "current", "offset", "of", "the", "specified", "machine", "instruction", "from", "the", "start", "of", "the", "function", "."], "TS_V_token": ["ARM", "ARM", "\"Didn't find MI in its own basic block?\""], "File": "ARMConstantIslandPass", "Func": "getOffsetOf", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10450, "Length": 86} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "ARM_CP_ISLANDS_OPT_NAME", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMConstantIslandPass", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10451, "Length": 11} {"ground_truth": ["", "bool", "ARMConstantIslands", "::", "isBBInRange", "(", "MachineInstr", "*", "MI", ",", "MachineBasicBlock", "*", "DestBB", ",", "unsigned", "MaxDisp", ")", "{", "unsigned", "PCAdj", "=", "isThumb", "?", "4", ":", "8", ";", "unsigned", "BrOffset", "=", "getOffsetOf", "(", "MI", ")", "+", "PCAdj", ";", "unsigned", "DestOffset", "=", "BBInfo", "[", "DestBB", "->", "getNumber", "(", ")", "]", ".", "Offset", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Branch of destination \"", "<<", "printMBBReference", "(", "*", "DestBB", ")", "<<", "\" from \"", "<<", "printMBBReference", "(", "*", "MI", "->", "getParent", "(", ")", ")", "<<", "\" max delta=\"", "<<", "MaxDisp", "<<", "\" from \"", "<<", "getOffsetOf", "(", "MI", ")", "<<", "\" to \"", "<<", "DestOffset", "<<", "\" offset \"", "<<", "int", "(", "DestOffset", "-", "BrOffset", ")", "<<", "\"\\t\"", "<<", "*", "MI", ")", ";", "if", "(", "BrOffset", "<=", "DestOffset", ")", "{", "if", "(", "DestOffset", "-", "BrOffset", "<=", "MaxDisp", ")", "return", "true", ";", "}", "else", "{", "if", "(", "BrOffset", "-", "DestOffset", "<=", "MaxDisp", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["isBBInRange", "-", "Returns", "true", "if", "the", "distance", "between", "specific", "MI", "and", "specific", "BB", "can", "fit", "in", "MI", "'s", "displacement", "field", "."], "TS_V_token": ["ARM", "ARM", "4", "8", "\"Branch of destination \"", "\" from \"", "\" max delta=\"", "\" from \"", "\" to \"", "\" offset \"", "\"\\t\""], "File": "ARMConstantIslandPass", "Func": "isBBInRange", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10452, "Length": 143} {"ground_truth": ["", "void", "ARMConstantIslands", "::", "verify", "(", ")", "{", "assert", "(", "std", "::", "is_sorted", "(", "MF", "->", "begin", "(", ")", ",", "MF", "->", "end", "(", ")", ",", "[", "this", "]", "(", "const", "MachineBasicBlock", "&", "LHS", ",", "const", "MachineBasicBlock", "&", "RHS", ")", "{", "return", "BBInfo", "[", "LHS", ".", "getNumber", "(", ")", "]", ".", "postOffset", "(", ")", "<", "BBInfo", "[", "RHS", ".", "getNumber", "(", ")", "]", ".", "postOffset", "(", ")", ";", "}", ")", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Verifying \"", "<<", "CPUsers", ".", "size", "(", ")", "<<", "\" CP users.\\n\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "CPUsers", ".", "size", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "CPUser", "&", "U", "=", "CPUsers", "[", "i", "]", ";", "unsigned", "UserOffset", "=", "getUserOffset", "(", "U", ")", ";", "if", "(", "isCPEntryInRange", "(", "U", ".", "MI", ",", "UserOffset", ",", "U", ".", "CPEMI", ",", "U", ".", "getMaxDisp", "(", ")", "+", "2", ",", "U", ".", "NegOk", ",", "true", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"OK\\n\"", ")", ";", "continue", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Out of range.\\n\"", ")", ";", "dumpBBs", "(", ")", ";", "LLVM_DEBUG", "(", "MF", "->", "dump", "(", ")", ")", ";", "llvm_unreachable", "(", "\"Constant pool entry out of range!\"", ")", ";", "}", "}", ""], "natrual_language": ["Check", "if", "this", "register", "bank", "is", "valid", "."], "TS_V_token": ["ARM", "ARM", "\"Verifying \"", "\" CP users.\\n\"", "0", "2", "\"OK\\n\"", "\"Out of range.\\n\"", "\"Constant pool entry out of range!\""], "File": "ARMConstantIslandPass", "Func": "verify", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10453, "Length": 199} {"ground_truth": ["", "ARMConstantPoolMBB", "*", "ARMConstantPoolMBB", "::", "Create", "(", "LLVMContext", "&", "C", ",", "const", "MachineBasicBlock", "*", "mbb", ",", "unsigned", "ID", ",", "unsigned", "char", "PCAdj", ")", "{", "return", "new", "ARMConstantPoolMBB", "(", "C", ",", "mbb", ",", "ID", ",", "PCAdj", ",", "ARMCP", "::", "no_modifier", ",", "false", ")", ";", "}", ""], "natrual_language": ["Construct", "a", "unary", "instruction", ",", "given", "the", "opcode", "and", "an", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARMCP::no_modifier"], "File": "ARMConstantPoolValue (2)", "Func": "Create", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10454, "Length": 43} {"ground_truth": ["", "void", "ARMConstantPoolValue", "::", "dump", "(", ")", "const", "{", "errs", "(", ")", "<<", "\" \"", "<<", "*", "this", ";", "}", ""], "natrual_language": ["Dump", "the", "plan", "to", "stderr", "(", "for", "debugging", ")", "."], "TS_V_token": ["ARM", "ARM", "\" \""], "File": "ARMConstantPoolValue (2)", "Func": "dump", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10455, "Length": 18} {"ground_truth": ["", "bool", "ARMConstantPoolMBB", "::", "hasSameValue", "(", "ARMConstantPoolValue", "*", "ACPV", ")", "{", "const", "ARMConstantPoolMBB", "*", "ACPMBB", "=", "dyn_cast", "<", "ARMConstantPoolMBB", ">", "(", "ACPV", ")", ";", "return", "ACPMBB", "&&", "ACPMBB", "->", "MBB", "==", "MBB", "&&", "ARMConstantPoolValue", "::", "hasSameValue", "(", "ACPV", ")", ";", "}", ""], "natrual_language": ["hasSameValue", "-", "Return", "true", "if", "this", "ARM", "constpool", "value", "can", "share", "the", "same", "constantpool", "entry", "as", "another", "ARM", "constpool", "value", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMConstantPoolValue (2)", "Func": "hasSameValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10456, "Length": 40} {"ground_truth": ["", "void", "ARMConstantPoolMBB", "::", "print", "(", "raw_ostream", "&", "O", ")", "const", "{", "O", "<<", "\"BB#\"", "<<", "MBB", "->", "getNumber", "(", ")", ";", "ARMConstantPoolValue", "::", "print", "(", "O", ")", ";", "}", ""], "natrual_language": ["print", "-", "Print", "a", "debug", "representation", "of", "the", "operand", "to", "the", "given", "stream", "."], "TS_V_token": ["ARM", "ARM", "\"BB#\"", "ARM"], "File": "ARMConstantPoolValue (2)", "Func": "print", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10457, "Length": 29} {"ground_truth": ["", "const", "char", "*", "getSymbol", "(", ")", "const", "{", "return", "S", ";", "}", ""], "natrual_language": ["Get", "the", "target", "address", "and", "flags", "for", "the", "named", "symbol", "."], "TS_V_token": ["ARM"], "File": "ARMConstantPoolValue10", "Func": "getSymbol", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10458, "Length": 12} {"ground_truth": ["", "bool", "ARMConstantPoolValue", "::", "hasSameValue", "(", "ARMConstantPoolValue", "*", "ACPV", ")", "{", "if", "(", "ACPV", "->", "Kind", "==", "Kind", "&&", "ACPV", "->", "CVal", "==", "CVal", "&&", "ACPV", "->", "PCAdjust", "==", "PCAdjust", "&&", "CPV_streq", "(", "ACPV", "->", "S", ",", "S", ")", "&&", "ACPV", "->", "Modifier", "==", "Modifier", ")", "{", "if", "(", "ACPV", "->", "LabelId", "==", "LabelId", ")", "return", "true", ";", "if", "(", "Kind", "==", "ARMCP", "::", "CPValue", "||", "Kind", "==", "ARMCP", "::", "CPExtSymbol", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["hasSameValue", "-", "Return", "true", "if", "this", "ARM", "constpool", "value", "can", "share", "the", "same", "constantpool", "entry", "as", "another", "ARM", "constpool", "value", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARMCP::CPValue", "ARMCP::CPExtSymbol"], "File": "ARMConstantPoolValue10", "Func": "hasSameValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10459, "Length": 79} {"ground_truth": ["", "bool", "isBlockAddress", "(", ")", "{", "return", "Kind", "==", "ARMCP", "::", "CPBlockAddress", ";", "}", ""], "natrual_language": ["isBlockAddress", "-", "Tests", "if", "this", "is", "a", "MO_BlockAddress", "operand", "."], "TS_V_token": ["ARM", "ARMCP::CPBlockAddress"], "File": "ARMConstantPoolValue10", "Func": "isBlockAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10460, "Length": 13} {"ground_truth": ["", "void", "ARMConstantPoolValue", "::", "print", "(", "raw_ostream", "&", "O", ")", "const", "{", "if", "(", "CVal", ")", "O", "<<", "CVal", "->", "getName", "(", ")", ";", "else", "O", "<<", "S", ";", "if", "(", "Modifier", ")", "O", "<<", "\"(\"", "<<", "getModifierText", "(", ")", "<<", "\")\"", ";", "if", "(", "PCAdjust", "!=", "0", ")", "{", "O", "<<", "\"-(LPC\"", "<<", "LabelId", "<<", "\"+\"", "<<", "(", "unsigned", ")", "PCAdjust", ";", "if", "(", "AddCurrentAddress", ")", "O", "<<", "\"-.\"", ";", "O", "<<", "\")\"", ";", "}", "}", ""], "natrual_language": ["print", "-", "Print", "a", "debug", "representation", "of", "the", "operand", "to", "the", "given", "stream", "."], "TS_V_token": ["ARM", "ARM", "\"(\"", "\")\"", "0", "\"-(LPC\"", "\"+\"", "\"-.\"", "\")\""], "File": "ARMConstantPoolValue10", "Func": "print", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10461, "Length": 76} {"ground_truth": ["", "ARMConstantPoolSymbol", "*", "ARMConstantPoolSymbol", "::", "Create", "(", "LLVMContext", "&", "C", ",", "StringRef", "s", ",", "unsigned", "ID", ",", "unsigned", "char", "PCAdj", ")", "{", "return", "new", "ARMConstantPoolSymbol", "(", "C", ",", "s", ",", "ID", ",", "PCAdj", ",", "ARMCP", "::", "no_modifier", ",", "false", ")", ";", "}", ""], "natrual_language": ["Construct", "a", "unary", "instruction", ",", "given", "the", "opcode", "and", "an", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARMCP::no_modifier"], "File": "ARMConstantPoolValue11", "Func": "Create", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10462, "Length": 41} {"ground_truth": ["", "void", "print", "(", "std", "::", "ostream", "*", "O", ")", "const", "{", "if", "(", "O", ")", "print", "(", "*", "O", ")", ";", "}", ""], "natrual_language": ["print", "-", "Print", "a", "debug", "representation", "of", "the", "operand", "to", "the", "given", "stream", "."], "TS_V_token": ["ARM"], "File": "ARMConstantPoolValue13", "Func": "print", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10463, "Length": 22} {"ground_truth": ["", "static", "bool", "classof", "(", "const", "ARMConstantPoolValue", "*", "APV", ")", "{", "return", "APV", "->", "isGlobalValue", "(", ")", "||", "APV", "->", "isBlockAddress", "(", ")", "||", "APV", "->", "isLSDA", "(", ")", "||", "APV", "->", "isPromotedGlobal", "(", ")", ";", "}", ""], "natrual_language": ["Methods", "for", "support", "type", "inquiry", "through", "isa", ",", "cast", ",", "and", "dyn_cast", ":"], "TS_V_token": ["ARM", "ARM"], "File": "ARMConstantPoolValue1", "Func": "classof", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10464, "Length": 36} {"ground_truth": ["", "ARMConstantPoolSymbol", "*", "ARMConstantPoolSymbol", "::", "Create", "(", "LLVMContext", "&", "C", ",", "StringRef", "s", ",", "ARMCP", "::", "ARMCPModifier", "Modifier", ")", "{", "return", "new", "ARMConstantPoolSymbol", "(", "C", ",", "s", ",", "0", ",", "0", ",", "Modifier", ",", "false", ")", ";", "}", ""], "natrual_language": ["Construct", "a", "unary", "instruction", ",", "given", "the", "opcode", "and", "an", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARMCP::ARMCPModifier", "ARM", "0", "0"], "File": "ARMConstantPoolValue1", "Func": "Create", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10465, "Length": 37} {"ground_truth": ["", "LLVM_DUMP_METHOD", "void", "ARMConstantPoolValue", "::", "dump", "(", ")", "const", "{", "errs", "(", ")", "<<", "\" \"", "<<", "*", "this", ";", "}", ""], "natrual_language": ["Dump", "the", "plan", "to", "stderr", "(", "for", "debugging", ")", "."], "TS_V_token": ["ARM", "ARM", "\" \""], "File": "ARMConstantPoolValue1", "Func": "dump", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10466, "Length": 19} {"ground_truth": ["", "StringRef", "getSymbol", "(", ")", "const", "{", "return", "S", ";", "}", ""], "natrual_language": ["Get", "the", "target", "address", "and", "flags", "for", "the", "named", "symbol", "."], "TS_V_token": ["ARM"], "File": "ARMConstantPoolValue1", "Func": "getSymbol", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10467, "Length": 10} {"ground_truth": ["", "bool", "ARMConstantPoolValue", "::", "hasSameValue", "(", "ARMConstantPoolValue", "*", "ACPV", ")", "{", "if", "(", "ACPV", "->", "Kind", "==", "Kind", "&&", "ACPV", "->", "PCAdjust", "==", "PCAdjust", "&&", "ACPV", "->", "Modifier", "==", "Modifier", "&&", "ACPV", "->", "LabelId", "==", "LabelId", "&&", "ACPV", "->", "AddCurrentAddress", "==", "AddCurrentAddress", ")", "{", "if", "(", "Kind", "==", "ARMCP", "::", "CPValue", "||", "Kind", "==", "ARMCP", "::", "CPExtSymbol", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["hasSameValue", "-", "Return", "true", "if", "this", "ARM", "constpool", "value", "can", "share", "the", "same", "constantpool", "entry", "as", "another", "ARM", "constpool", "value", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARMCP::CPValue", "ARMCP::CPExtSymbol"], "File": "ARMConstantPoolValue1", "Func": "hasSameValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10468, "Length": 65} {"ground_truth": ["", "void", "ARMConstantPoolMBB", "::", "print", "(", "raw_ostream", "&", "O", ")", "const", "{", "O", "<<", "printMBBReference", "(", "*", "MBB", ")", ";", "ARMConstantPoolValue", "::", "print", "(", "O", ")", ";", "}", ""], "natrual_language": ["print", "-", "Print", "a", "debug", "representation", "of", "the", "operand", "to", "the", "given", "stream", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMConstantPoolValue1", "Func": "print", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10469, "Length": 27} {"ground_truth": ["", "bool", "ARMConstantPoolSymbol", "::", "hasSameValue", "(", "ARMConstantPoolValue", "*", "ACPV", ")", "{", "const", "ARMConstantPoolSymbol", "*", "ACPS", "=", "dyn_cast", "<", "ARMConstantPoolSymbol", ">", "(", "ACPV", ")", ";", "return", "ACPS", "&&", "CPV_streq", "(", "ACPS", "->", "S", ",", "S", ")", "&&", "ARMConstantPoolValue", "::", "hasSameValue", "(", "ACPV", ")", ";", "}", ""], "natrual_language": ["hasSameValue", "-", "Return", "true", "if", "this", "ARM", "constpool", "value", "can", "share", "the", "same", "constantpool", "entry", "as", "another", "ARM", "constpool", "value", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMConstantPoolValue24", "Func": "hasSameValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10470, "Length": 43} {"ground_truth": ["", "void", "ARMConstantPoolValue", "::", "dump", "(", ")", "const", "{", "cerr", "<<", "\" \"", "<<", "*", "this", ";", "}", ""], "natrual_language": ["Dump", "the", "plan", "to", "stderr", "(", "for", "debugging", ")", "."], "TS_V_token": ["ARM", "ARM", "\" \""], "File": "ARMConstantPoolValue25", "Func": "dump", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10471, "Length": 16} {"ground_truth": ["", "void", "ARMConstantPoolValue", "::", "print", "(", "raw_ostream", "&", "O", ")", "const", "{", "if", "(", "GV", ")", "O", "<<", "GV", "->", "getName", "(", ")", ";", "else", "O", "<<", "S", ";", "if", "(", "isNonLazyPointer", "(", ")", ")", "O", "<<", "\"$non_lazy_ptr\"", ";", "else", "if", "(", "isStub", "(", ")", ")", "O", "<<", "\"$stub\"", ";", "if", "(", "Modifier", ")", "O", "<<", "\"(\"", "<<", "Modifier", "<<", "\")\"", ";", "if", "(", "PCAdjust", "!=", "0", ")", "{", "O", "<<", "\"-(LPC\"", "<<", "LabelId", "<<", "\"+\"", "<<", "(", "unsigned", ")", "PCAdjust", ";", "if", "(", "AddCurrentAddress", ")", "O", "<<", "\"-.\"", ";", "O", "<<", "\")\"", ";", "}", "}", ""], "natrual_language": ["print", "-", "Print", "a", "debug", "representation", "of", "the", "operand", "to", "the", "given", "stream", "."], "TS_V_token": ["ARM", "ARM", "\"$non_lazy_ptr\"", "\"$stub\"", "\"(\"", "\")\"", "0", "\"-(LPC\"", "\"+\"", "\"-.\"", "\")\""], "File": "ARMConstantPoolValue25", "Func": "print", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10472, "Length": 95} {"ground_truth": ["", "static", "bool", "classof", "(", "const", "ARMConstantPoolMBB", "*", ")", "{", "return", "true", ";", "}", ""], "natrual_language": ["Methods", "for", "support", "type", "inquiry", "through", "isa", ",", "cast", ",", "and", "dyn_cast", ":"], "TS_V_token": ["ARM", "ARM"], "File": "ARMConstantPoolValue29", "Func": "classof", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10473, "Length": 13} {"ground_truth": ["", "void", "ARMConstantPoolMBB", "::", "print", "(", "raw_ostream", "&", "O", ")", "const", "{", "ARMConstantPoolValue", "::", "print", "(", "O", ")", ";", "}", ""], "natrual_language": ["print", "-", "Print", "a", "debug", "representation", "of", "the", "operand", "to", "the", "given", "stream", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMConstantPoolValue35", "Func": "print", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10474, "Length": 19} {"ground_truth": ["", "bool", "ARMConstantPoolValue", "::", "hasSameValue", "(", "ARMConstantPoolValue", "*", "ACPV", ")", "{", "if", "(", "ACPV", "->", "Kind", "==", "Kind", "&&", "ACPV", "->", "CVal", "==", "CVal", "&&", "ACPV", "->", "PCAdjust", "==", "PCAdjust", "&&", "(", "ACPV", "->", "S", "==", "S", "||", "strcmp", "(", "ACPV", "->", "S", ",", "S", ")", "==", "0", ")", "&&", "(", "ACPV", "->", "Modifier", "==", "Modifier", "||", "strcmp", "(", "ACPV", "->", "Modifier", ",", "Modifier", ")", "==", "0", ")", ")", "{", "if", "(", "ACPV", "->", "LabelId", "==", "LabelId", ")", "return", "true", ";", "if", "(", "Kind", "==", "ARMCP", "::", "CPValue", "||", "Kind", "==", "ARMCP", "::", "CPExtSymbol", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["hasSameValue", "-", "Return", "true", "if", "this", "ARM", "constpool", "value", "can", "share", "the", "same", "constantpool", "entry", "as", "another", "ARM", "constpool", "value", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "0", "ARMCP::CPValue", "ARMCP::CPExtSymbol"], "File": "ARMConstantPoolValue3", "Func": "hasSameValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10475, "Length": 102} {"ground_truth": ["", "void", "ARMConstantPoolValue", "::", "print", "(", "raw_ostream", "&", "O", ")", "const", "{", "if", "(", "CVal", ")", "O", "<<", "CVal", "->", "getName", "(", ")", ";", "else", "O", "<<", "S", ";", "if", "(", "Modifier", ")", "O", "<<", "\"(\"", "<<", "Modifier", "<<", "\")\"", ";", "if", "(", "PCAdjust", "!=", "0", ")", "{", "O", "<<", "\"-(LPC\"", "<<", "LabelId", "<<", "\"+\"", "<<", "(", "unsigned", ")", "PCAdjust", ";", "if", "(", "AddCurrentAddress", ")", "O", "<<", "\"-.\"", ";", "O", "<<", "\")\"", ";", "}", "}", ""], "natrual_language": ["print", "-", "Print", "a", "debug", "representation", "of", "the", "operand", "to", "the", "given", "stream", "."], "TS_V_token": ["ARM", "ARM", "\"(\"", "\")\"", "0", "\"-(LPC\"", "\"+\"", "\"-.\"", "\")\""], "File": "ARMConstantPoolValue3", "Func": "print", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10476, "Length": 74} {"ground_truth": ["", "void", "ARMConstantPoolValue", "::", "print", "(", "raw_ostream", "&", "O", ")", "const", "{", "if", "(", "GV", ")", "O", "<<", "GV", "->", "getName", "(", ")", ";", "else", "O", "<<", "S", ";", "if", "(", "Modifier", ")", "O", "<<", "\"(\"", "<<", "Modifier", "<<", "\")\"", ";", "if", "(", "PCAdjust", "!=", "0", ")", "{", "O", "<<", "\"-(LPC\"", "<<", "LabelId", "<<", "\"+\"", "<<", "(", "unsigned", ")", "PCAdjust", ";", "if", "(", "AddCurrentAddress", ")", "O", "<<", "\"-.\"", ";", "O", "<<", "\")\"", ";", "}", "}", ""], "natrual_language": ["print", "-", "Print", "a", "debug", "representation", "of", "the", "operand", "to", "the", "given", "stream", "."], "TS_V_token": ["ARM", "ARM", "\"(\"", "\")\"", "0", "\"-(LPC\"", "\"+\"", "\"-.\"", "\")\""], "File": "ARMConstantPoolValue7", "Func": "print", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10477, "Length": 74} {"ground_truth": ["", "static", "bool", "classof", "(", "const", "ARMConstantPoolValue", "*", "ACPV", ")", "{", "return", "ACPV", "->", "isMachineBasicBlock", "(", ")", ";", "}", ""], "natrual_language": ["Methods", "for", "support", "type", "inquiry", "through", "isa", ",", "cast", ",", "and", "dyn_cast", ":"], "TS_V_token": ["ARM", "ARM"], "File": "ARMConstantPoolValue", "Func": "classof", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10478, "Length": 18} {"ground_truth": ["", "bool", "equals", "(", "const", "ARMConstantPoolMBB", "*", "A", ")", "const", "{", "return", "MBB", "==", "A", "->", "MBB", "&&", "ARMConstantPoolValue", "::", "equals", "(", "A", ")", ";", "}", ""], "natrual_language": ["equals", "-", "Check", "for", "string", "equality", ",", "this", "is", "more", "efficient", "than", "compare", "(", ")", "when", "the", "relative", "ordering", "of", "inequal", "strings", "is", "n't", "needed", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMConstantPoolValue", "Func": "equals", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10479, "Length": 25} {"ground_truth": ["", "const", "MachineBasicBlock", "*", "getMBB", "(", ")", "const", "{", "return", "MBB", ";", "}", ""], "natrual_language": ["Return", "a", "reference", "to", "the", "basic", "block", "containing", "this", "bundle", "."], "TS_V_token": ["ARM"], "File": "ARMConstantPoolValue", "Func": "getMBB", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10480, "Length": 12} {"ground_truth": ["", "const", "char", "*", "getSymbol", "(", ")", "const", "{", "return", "S", ".", "c_str", "(", ")", ";", "}", ""], "natrual_language": ["Get", "the", "target", "address", "and", "flags", "for", "the", "named", "symbol", "."], "TS_V_token": ["ARM"], "File": "ARMConstantPoolValue", "Func": "getSymbol", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10481, "Length": 16} {"ground_truth": ["", "bool", "isBlockAddress", "(", ")", "const", "{", "return", "Kind", "==", "ARMCP", "::", "CPBlockAddress", ";", "}", ""], "natrual_language": ["isBlockAddress", "-", "Tests", "if", "this", "is", "a", "MO_BlockAddress", "operand", "."], "TS_V_token": ["ARM", "ARMCP::CPBlockAddress"], "File": "ARMConstantPoolValue", "Func": "isBlockAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10482, "Length": 14} {"ground_truth": ["", "void", "print", "(", "raw_ostream", "*", "O", ")", "const", "{", "if", "(", "O", ")", "print", "(", "*", "O", ")", ";", "}", ""], "natrual_language": ["print", "-", "Print", "a", "debug", "representation", "of", "the", "operand", "to", "the", "given", "stream", "."], "TS_V_token": ["ARM"], "File": "ARMConstantPoolValue", "Func": "print", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10483, "Length": 20} {"ground_truth": ["", "static", "bool", "Check", "(", "DecodeStatus", "&", "Out", ",", "DecodeStatus", "In", ")", "{", "switch", "(", "In", ")", "{", "case", "MCDisassembler", "::", "Success", ":", "return", "true", ";", "case", "MCDisassembler", "::", "SoftFail", ":", "Out", "=", "In", ";", "return", "true", ";", "case", "MCDisassembler", "::", "Fail", ":", "Out", "=", "In", ";", "return", "false", ";", "}", "llvm_unreachable", "(", "\"Invalid DecodeStatus!\"", ")", ";", "}", ""], "natrual_language": ["Matches", "check", "string", "and", "its", "``", "not", "strings", "''", "and/or", "``", "dag", "strings", "''", "."], "TS_V_token": ["ARM", "\"Invalid DecodeStatus!\""], "File": "ARMDisassembler (2)", "Func": "Check", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10484, "Length": 56} {"ground_truth": ["", "static", "void", "tryAddingPcLoadReferenceComment", "(", "uint64_t", "Address", ",", "int", "Value", ",", "const", "void", "*", "Decoder", ")", "{", "const", "MCDisassembler", "*", "Dis", "=", "static_cast", "<", "const", "MCDisassembler", "*", ">", "(", "Decoder", ")", ";", "Dis", "->", "tryAddingPcLoadReferenceComment", "(", "Value", ",", "Address", ")", ";", "}", ""], "natrual_language": ["Try", "to", "add", "a", "comment", "on", "the", "PC-relative", "load", "."], "TS_V_token": ["ARM"], "File": "ARMDisassembler (2)", "Func": "tryAddingPcLoadReferenceComment", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10485, "Length": 41} {"ground_truth": ["", "static", "bool", "tryAddingSymbolicOperand", "(", "uint64_t", "Address", ",", "int32_t", "Value", ",", "bool", "isBranch", ",", "uint64_t", "InstSize", ",", "MCInst", "&", "MI", ",", "const", "void", "*", "Decoder", ")", "{", "const", "MCDisassembler", "*", "Dis", "=", "static_cast", "<", "const", "MCDisassembler", "*", ">", "(", "Decoder", ")", ";", "return", "Dis", "->", "tryAddingSymbolicOperand", "(", "MI", ",", "(", "uint32_t", ")", "Value", ",", "Address", ",", "isBranch", ",", "0", ",", "InstSize", ")", ";", "}", ""], "natrual_language": ["Try", "to", "add", "a", "symbolic", "operand", "instead", "of", "Value", "to", "the", "MCInst", "."], "TS_V_token": ["ARM", "0"], "File": "ARMDisassembler (2)", "Func": "tryAddingSymbolicOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10486, "Length": 63} {"ground_truth": ["", "static", "void", "tryAddingPcLoadReferenceComment", "(", "uint64_t", "Address", ",", "int", "Value", ",", "const", "void", "*", "Decoder", ")", "{", "const", "MCDisassembler", "*", "Dis", "=", "static_cast", "<", "const", "MCDisassembler", "*", ">", "(", "Decoder", ")", ";", "LLVMSymbolLookupCallback", "SymbolLookUp", "=", "Dis", "->", "getLLVMSymbolLookupCallback", "(", ")", ";", "if", "(", "SymbolLookUp", ")", "{", "void", "*", "DisInfo", "=", "Dis", "->", "getDisInfoBlock", "(", ")", ";", "uint64_t", "ReferenceType", ";", "ReferenceType", "=", "LLVMDisassembler_ReferenceType_In_PCrel_Load", ";", "const", "char", "*", "ReferenceName", ";", "(", "void", ")", "SymbolLookUp", "(", "DisInfo", ",", "Value", ",", "&", "ReferenceType", ",", "Address", ",", "&", "ReferenceName", ")", ";", "if", "(", "ReferenceType", "==", "LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr", "||", "ReferenceType", "==", "LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr", ")", "(", "*", "Dis", "->", "CommentStream", ")", "<<", "\"literal pool for: \"", "<<", "ReferenceName", ";", "}", "}", ""], "natrual_language": ["Try", "to", "add", "a", "comment", "on", "the", "PC-relative", "load", "."], "TS_V_token": ["ARM", "\"literal pool for: \""], "File": "ARMDisassembler10", "Func": "tryAddingPcLoadReferenceComment", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10487, "Length": 108} {"ground_truth": ["", "bool", "ThumbDisassembler", "::", "getInstruction", "(", "MCInst", "&", "MI", ",", "uint64_t", "&", "Size", ",", "const", "MemoryObject", "&", "Region", ",", "uint64_t", "Address", ",", "raw_ostream", "&", "os", ")", "const", "{", "uint32_t", "insn", "=", "0", ";", "uint16_t", "insn1", "=", "0", ";", "uint8_t", "bytes", "[", "2", "]", ";", "if", "(", "Region", ".", "readBytes", "(", "Address", ",", "2", ",", "(", "uint8_t", "*", ")", "bytes", ",", "NULL", ")", "==", "-", "1", ")", "return", "false", ";", "insn", "=", "(", "bytes", "[", "1", "]", "<<", "8", ")", "|", "bytes", "[", "0", "]", ";", "unsigned", "bits15_11", "=", "slice", "(", "insn", ",", "15", ",", "11", ")", ";", "bool", "IsThumb2", "=", "false", ";", "if", "(", "bits15_11", "==", "0x1D", "||", "bits15_11", "==", "0x1E", "||", "bits15_11", "==", "0x1F", ")", "{", "IsThumb2", "=", "true", ";", "if", "(", "Region", ".", "readBytes", "(", "Address", "+", "2", ",", "2", ",", "(", "uint8_t", "*", ")", "bytes", ",", "NULL", ")", "==", "-", "1", ")", "return", "false", ";", "insn1", "=", "(", "bytes", "[", "1", "]", "<<", "8", ")", "|", "bytes", "[", "0", "]", ";", "insn", "=", "(", "insn", "<<", "16", "|", "insn1", ")", ";", "}", "unsigned", "Opcode", "=", "decodeThumbSideEffect", "(", "IsThumb2", ",", "insn", ")", ";", "if", "(", "Thumb2PreloadOpcodeNoPCI", "(", "Opcode", ")", "&&", "slice", "(", "insn", ",", "19", ",", "16", ")", "==", "15", ")", "Opcode", "=", "T2Morph2Preload2PCI", "(", "Opcode", ")", ";", "ARMFormat", "Format", "=", "ARMFormats", "[", "Opcode", "]", ";", "Size", "=", "IsThumb2", "?", "4", ":", "2", ";", "DEBUG", "(", "{", "errs", "(", ")", "<<", "\"Opcode=\"", "<<", "Opcode", "<<", "\" Name=\"", "<<", "ARMUtils", "::", "OpcodeName", "(", "Opcode", ")", "<<", "\" Format=\"", "<<", "stringForARMFormat", "(", "Format", ")", "<<", "'('", "<<", "(", "int", ")", "Format", "<<", "\")\\n\"", ";", "showBitVector", "(", "errs", "(", ")", ",", "insn", ")", ";", "}", ")", ";", "ARMBasicMCBuilder", "*", "Builder", "=", "CreateMCBuilder", "(", "Opcode", ",", "Format", ")", ";", "Builder", "->", "SetSession", "(", "const_cast", "<", "Session", "*", ">", "(", "&", "SO", ")", ")", ";", "if", "(", "!", "Builder", ")", "return", "false", ";", "if", "(", "!", "Builder", "->", "Build", "(", "MI", ",", "insn", ")", ")", "return", "false", ";", "delete", "Builder", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "the", "disassembly", "of", "a", "single", "instruction", "."], "TS_V_token": ["ARM", "0", "0", "2", "2", "1", "1", "8", "0", "15", "11", "0x1D", "0x1E", "0x1F", "2", "2", "1", "1", "8", "0", "16", "19", "16", "15", "ARM", "ARM", "4", "2", "\"Opcode=\"", "\" Name=\"", "ARMUtils::OpcodeName", "\" Format=\"", "ARM", "\")\\n\"", "ARM"], "File": "ARMDisassembler11", "Func": "getInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10488, "Length": 329} {"ground_truth": ["", "static", "bool", "Check", "(", "DecodeStatus", "&", "Out", ",", "DecodeStatus", "In", ")", "{", "switch", "(", "In", ")", "{", "case", "MCDisassembler", "::", "Success", ":", "return", "true", ";", "case", "MCDisassembler", "::", "SoftFail", ":", "Out", "=", "In", ";", "return", "true", ";", "case", "MCDisassembler", "::", "Fail", ":", "Out", "=", "In", ";", "return", "false", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Matches", "check", "string", "and", "its", "``", "not", "strings", "''", "and/or", "``", "dag", "strings", "''", "."], "TS_V_token": ["ARM"], "File": "ARMDisassembler13", "Func": "Check", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10489, "Length": 54} {"ground_truth": ["", "DecodeStatus", "ARMDisassembler", "::", "getInstruction", "(", "MCInst", "&", "MI", ",", "uint64_t", "&", "Size", ",", "ArrayRef", "<", "uint8_t", ">", "Bytes", ",", "uint64_t", "Address", ",", "raw_ostream", "&", "CS", ")", "const", "{", "if", "(", "STI", ".", "getFeatureBits", "(", ")", "[", "ARM", "::", "ModeThumb", "]", ")", "return", "getThumbInstruction", "(", "MI", ",", "Size", ",", "Bytes", ",", "Address", ",", "CS", ")", ";", "return", "getARMInstruction", "(", "MI", ",", "Size", ",", "Bytes", ",", "Address", ",", "CS", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "disassembly", "of", "a", "single", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::ModeThumb", "ARM"], "File": "ARMDisassembler15", "Func": "getInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10490, "Length": 70} {"ground_truth": ["", "bool", "ThumbDisassembler", "::", "getInstruction", "(", "MCInst", "&", "MI", ",", "uint64_t", "&", "Size", ",", "const", "MemoryObject", "&", "Region", ",", "uint64_t", "Address", ",", "raw_ostream", "&", "os", ")", "const", "{", "unsigned", "insn", "=", "0", ";", "uint16_t", "insn1", "=", "0", ";", "uint8_t", "bytes", "[", "2", "]", ";", "if", "(", "Region", ".", "readBytes", "(", "Address", ",", "2", ",", "(", "uint8_t", "*", ")", "bytes", ",", "NULL", ")", "==", "-", "1", ")", "return", "false", ";", "insn", "=", "(", "bytes", "[", "1", "]", "<<", "8", ")", "|", "bytes", "[", "0", "]", ";", "unsigned", "bits15_11", "=", "slice", "(", "insn", ",", "15", ",", "11", ")", ";", "bool", "IsThumb2", "=", "false", ";", "if", "(", "bits15_11", "==", "0x1D", "||", "bits15_11", "==", "0x1E", "||", "bits15_11", "==", "0x1F", ")", "{", "IsThumb2", "=", "true", ";", "if", "(", "Region", ".", "readBytes", "(", "Address", "+", "2", ",", "2", ",", "(", "uint8_t", "*", ")", "bytes", ",", "NULL", ")", "==", "-", "1", ")", "return", "false", ";", "insn1", "=", "(", "bytes", "[", "1", "]", "<<", "8", ")", "|", "bytes", "[", "0", "]", ";", "insn", "=", "(", "insn", "<<", "16", "|", "insn1", ")", ";", "}", "unsigned", "Opcode", "=", "decodeThumbSideEffect", "(", "IsThumb2", ",", "insn", ")", ";", "ARMFormat", "Format", "=", "ARMFormats", "[", "Opcode", "]", ";", "Size", "=", "IsThumb2", "?", "4", ":", "2", ";", "DEBUG", "(", "{", "errs", "(", ")", "<<", "\"Opcode=\"", "<<", "Opcode", "<<", "\" Name=\"", "<<", "ARMUtils", "::", "OpcodeName", "(", "Opcode", ")", "<<", "\" Format=\"", "<<", "stringForARMFormat", "(", "Format", ")", "<<", "'('", "<<", "(", "int", ")", "Format", "<<", "\")\\n\"", ";", "showBitVector", "(", "errs", "(", ")", ",", "insn", ")", ";", "}", ")", ";", "ARMBasicMCBuilder", "*", "Builder", "=", "CreateMCBuilder", "(", "Opcode", ",", "Format", ")", ";", "if", "(", "!", "Builder", ")", "return", "false", ";", "Builder", "->", "SetSession", "(", "const_cast", "<", "Session", "*", ">", "(", "&", "SO", ")", ")", ";", "if", "(", "!", "Builder", "->", "Build", "(", "MI", ",", "insn", ")", ")", "return", "false", ";", "delete", "Builder", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "the", "disassembly", "of", "a", "single", "instruction", "."], "TS_V_token": ["ARM", "0", "0", "2", "2", "1", "1", "8", "0", "15", "11", "0x1D", "0x1E", "0x1F", "2", "2", "1", "1", "8", "0", "16", "ARM", "ARM", "4", "2", "\"Opcode=\"", "\" Name=\"", "ARMUtils::OpcodeName", "\" Format=\"", "ARM", "\")\\n\"", "ARM"], "File": "ARMDisassembler20", "Func": "getInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10491, "Length": 304} {"ground_truth": ["", "bool", "ThumbDisassembler", "::", "getInstruction", "(", "MCInst", "&", "MI", ",", "uint64_t", "&", "Size", ",", "const", "MemoryObject", "&", "Region", ",", "uint64_t", "Address", ",", "raw_ostream", "&", "os", ")", "const", "{", "unsigned", "insn", "=", "0", ";", "uint16_t", "insn1", "=", "0", ";", "uint8_t", "bytes", "[", "2", "]", ";", "if", "(", "Region", ".", "readBytes", "(", "Address", ",", "2", ",", "(", "uint8_t", "*", ")", "bytes", ",", "NULL", ")", "==", "-", "1", ")", "return", "false", ";", "insn", "=", "(", "bytes", "[", "1", "]", "<<", "8", ")", "|", "bytes", "[", "0", "]", ";", "unsigned", "bits15_11", "=", "slice", "(", "insn", ",", "15", ",", "11", ")", ";", "bool", "IsThumb2", "=", "false", ";", "if", "(", "bits15_11", "==", "0x1D", "||", "bits15_11", "==", "0x1E", "||", "bits15_11", "==", "0x1F", ")", "{", "IsThumb2", "=", "true", ";", "if", "(", "Region", ".", "readBytes", "(", "Address", "+", "2", ",", "2", ",", "(", "uint8_t", "*", ")", "bytes", ",", "NULL", ")", "==", "-", "1", ")", "return", "false", ";", "insn1", "=", "(", "bytes", "[", "1", "]", "<<", "8", ")", "|", "bytes", "[", "0", "]", ";", "insn", "=", "(", "insn", "<<", "16", "|", "insn1", ")", ";", "}", "unsigned", "Opcode", "=", "decodeThumbSideEffect", "(", "IsThumb2", ",", "insn", ")", ";", "if", "(", "Thumb2PreloadOpcodeNoPCI", "(", "Opcode", ")", "&&", "slice", "(", "insn", ",", "19", ",", "16", ")", "==", "15", ")", "Opcode", "=", "T2Morph2Preload2PCI", "(", "Opcode", ")", ";", "ARMFormat", "Format", "=", "ARMFormats", "[", "Opcode", "]", ";", "Size", "=", "IsThumb2", "?", "4", ":", "2", ";", "DEBUG", "(", "{", "errs", "(", ")", "<<", "\"Opcode=\"", "<<", "Opcode", "<<", "\" Name=\"", "<<", "ARMUtils", "::", "OpcodeName", "(", "Opcode", ")", "<<", "\" Format=\"", "<<", "stringForARMFormat", "(", "Format", ")", "<<", "'('", "<<", "(", "int", ")", "Format", "<<", "\")\\n\"", ";", "showBitVector", "(", "errs", "(", ")", ",", "insn", ")", ";", "}", ")", ";", "ARMBasicMCBuilder", "*", "Builder", "=", "CreateMCBuilder", "(", "Opcode", ",", "Format", ")", ";", "if", "(", "!", "Builder", ")", "return", "false", ";", "Builder", "->", "SetSession", "(", "const_cast", "<", "Session", "*", ">", "(", "&", "SO", ")", ")", ";", "if", "(", "!", "Builder", "->", "Build", "(", "MI", ",", "insn", ")", ")", "return", "false", ";", "delete", "Builder", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "the", "disassembly", "of", "a", "single", "instruction", "."], "TS_V_token": ["ARM", "0", "0", "2", "2", "1", "1", "8", "0", "15", "11", "0x1D", "0x1E", "0x1F", "2", "2", "1", "1", "8", "0", "16", "19", "16", "15", "ARM", "ARM", "4", "2", "\"Opcode=\"", "\" Name=\"", "ARMUtils::OpcodeName", "\" Format=\"", "ARM", "\")\\n\"", "ARM"], "File": "ARMDisassembler24", "Func": "getInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10492, "Length": 329} {"ground_truth": ["", "DecodeStatus", "ARMDisassembler", "::", "getInstruction", "(", "MCInst", "&", "MI", ",", "uint64_t", "&", "Size", ",", "ArrayRef", "<", "uint8_t", ">", "Bytes", ",", "uint64_t", "Address", ",", "raw_ostream", "&", "OS", ",", "raw_ostream", "&", "CS", ")", "const", "{", "if", "(", "STI", ".", "getFeatureBits", "(", ")", "[", "ARM", "::", "ModeThumb", "]", ")", "return", "getThumbInstruction", "(", "MI", ",", "Size", ",", "Bytes", ",", "Address", ",", "OS", ",", "CS", ")", ";", "return", "getARMInstruction", "(", "MI", ",", "Size", ",", "Bytes", ",", "Address", ",", "OS", ",", "CS", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "disassembly", "of", "a", "single", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::ModeThumb", "ARM"], "File": "ARMDisassembler34", "Func": "getInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10493, "Length": 78} {"ground_truth": ["", "static", "void", "tryAddingPcLoadReferenceComment", "(", "uint64_t", "Address", ",", "int", "Value", ",", "const", "MCDisassembler", "*", "Decoder", ")", "{", "const", "MCDisassembler", "*", "Dis", "=", "static_cast", "<", "const", "MCDisassembler", "*", ">", "(", "Decoder", ")", ";", "Dis", "->", "tryAddingPcLoadReferenceComment", "(", "Value", ",", "Address", ")", ";", "}", ""], "natrual_language": ["Try", "to", "add", "a", "comment", "on", "the", "PC-relative", "load", "."], "TS_V_token": ["ARM"], "File": "ARMDisassembler39", "Func": "tryAddingPcLoadReferenceComment", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10494, "Length": 41} {"ground_truth": ["", "static", "bool", "tryAddingSymbolicOperand", "(", "uint64_t", "Address", ",", "int32_t", "Value", ",", "bool", "isBranch", ",", "uint64_t", "InstSize", ",", "MCInst", "&", "MI", ",", "const", "MCDisassembler", "*", "Decoder", ")", "{", "return", "Decoder", "->", "tryAddingSymbolicOperand", "(", "MI", ",", "(", "uint32_t", ")", "Value", ",", "Address", ",", "isBranch", ",", "0", ",", "0", ",", "InstSize", ")", ";", "}", ""], "natrual_language": ["Try", "to", "add", "a", "symbolic", "operand", "instead", "of", "Value", "to", "the", "MCInst", "."], "TS_V_token": ["ARM", "0", "0"], "File": "ARMDisassembler39", "Func": "tryAddingSymbolicOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10495, "Length": 50} {"ground_truth": ["", "DecodeStatus", "ARMDisassembler", "::", "getInstruction", "(", "MCInst", "&", "MI", ",", "uint64_t", "&", "Size", ",", "ArrayRef", "<", "uint8_t", ">", "Bytes", ",", "uint64_t", "Address", ",", "raw_ostream", "&", "OS", ",", "raw_ostream", "&", "CS", ")", "const", "{", "CommentStream", "=", "&", "CS", ";", "assert", "(", "!", "STI", ".", "getFeatureBits", "(", ")", "[", "ARM", "::", "ModeThumb", "]", "&&", "\"Asked to disassemble an ARM instruction but Subtarget is in Thumb \"", "\"mode!\"", ")", ";", "if", "(", "Bytes", ".", "size", "(", ")", "<", "4", ")", "{", "Size", "=", "0", ";", "return", "MCDisassembler", "::", "Fail", ";", "}", "uint32_t", "Insn", "=", "(", "Bytes", "[", "3", "]", "<<", "24", ")", "|", "(", "Bytes", "[", "2", "]", "<<", "16", ")", "|", "(", "Bytes", "[", "1", "]", "<<", "8", ")", "|", "(", "Bytes", "[", "0", "]", "<<", "0", ")", ";", "DecodeStatus", "Result", "=", "decodeInstruction", "(", "DecoderTableARM32", ",", "MI", ",", "Insn", ",", "Address", ",", "this", ",", "STI", ")", ";", "if", "(", "Result", "!=", "MCDisassembler", "::", "Fail", ")", "{", "Size", "=", "4", ";", "return", "checkDecodedInstruction", "(", "MI", ",", "Size", ",", "Address", ",", "OS", ",", "CS", ",", "Insn", ",", "Result", ")", ";", "}", "struct", "DecodeTable", "{", "const", "uint8_t", "*", "P", ";", "bool", "DecodePred", ";", "}", ";", "const", "DecodeTable", "Tables", "[", "]", "=", "{", "{", "DecoderTableVFP32", ",", "false", "}", ",", "{", "DecoderTableVFPV832", ",", "false", "}", ",", "{", "DecoderTableNEONData32", ",", "true", "}", ",", "{", "DecoderTableNEONLoadStore32", ",", "true", "}", ",", "{", "DecoderTableNEONDup32", ",", "true", "}", ",", "{", "DecoderTablev8NEON32", ",", "false", "}", ",", "{", "DecoderTablev8Crypto32", ",", "false", "}", ",", "}", ";", "for", "(", "auto", "Table", ":", "Tables", ")", "{", "Result", "=", "decodeInstruction", "(", "Table", ".", "P", ",", "MI", ",", "Insn", ",", "Address", ",", "this", ",", "STI", ")", ";", "if", "(", "Result", "!=", "MCDisassembler", "::", "Fail", ")", "{", "Size", "=", "4", ";", "if", "(", "Table", ".", "DecodePred", "&&", "!", "DecodePredicateOperand", "(", "MI", ",", "0xE", ",", "Address", ",", "this", ")", ")", "return", "MCDisassembler", "::", "Fail", ";", "return", "Result", ";", "}", "}", "Size", "=", "4", ";", "return", "MCDisassembler", "::", "Fail", ";", "}", ""], "natrual_language": ["Returns", "the", "disassembly", "of", "a", "single", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::ModeThumb", "\"Asked to disassemble an ARM instruction but Subtarget is in Thumb \"", "\"mode!\"", "4", "0", "3", "24", "2", "16", "1", "8", "0", "0", "ARM", "4", "4", "0xE", "4"], "File": "ARMDisassembler46", "Func": "getInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10496, "Length": 307} {"ground_truth": ["", "DecodeStatus", "ARMDisassembler", "::", "getInstruction", "(", "MCInst", "&", "MI", ",", "uint64_t", "&", "Size", ",", "ArrayRef", "<", "uint8_t", ">", "Bytes", ",", "uint64_t", "Address", ",", "raw_ostream", "&", "OS", ",", "raw_ostream", "&", "CS", ")", "const", "{", "CommentStream", "=", "&", "CS", ";", "assert", "(", "!", "STI", ".", "getFeatureBits", "(", ")", "[", "ARM", "::", "ModeThumb", "]", "&&", "\"Asked to disassemble an ARM instruction but Subtarget is in Thumb \"", "\"mode!\"", ")", ";", "if", "(", "Bytes", ".", "size", "(", ")", "<", "4", ")", "{", "Size", "=", "0", ";", "return", "MCDisassembler", "::", "Fail", ";", "}", "uint32_t", "Insn", "=", "(", "Bytes", "[", "3", "]", "<<", "24", ")", "|", "(", "Bytes", "[", "2", "]", "<<", "16", ")", "|", "(", "Bytes", "[", "1", "]", "<<", "8", ")", "|", "(", "Bytes", "[", "0", "]", "<<", "0", ")", ";", "DecodeStatus", "Result", "=", "decodeInstruction", "(", "DecoderTableARM32", ",", "MI", ",", "Insn", ",", "Address", ",", "this", ",", "STI", ")", ";", "if", "(", "Result", "!=", "MCDisassembler", "::", "Fail", ")", "{", "Size", "=", "4", ";", "return", "checkDecodedInstruction", "(", "MI", ",", "Size", ",", "Address", ",", "OS", ",", "CS", ",", "Insn", ",", "Result", ")", ";", "}", "struct", "DecodeTable", "{", "const", "uint8_t", "*", "P", ";", "bool", "DecodePred", ";", "}", ";", "const", "DecodeTable", "Tables", "[", "]", "=", "{", "{", "DecoderTableVFP32", ",", "false", "}", ",", "{", "DecoderTableVFPV832", ",", "false", "}", ",", "{", "DecoderTableNEONData32", ",", "true", "}", ",", "{", "DecoderTableNEONLoadStore32", ",", "true", "}", ",", "{", "DecoderTableNEONDup32", ",", "true", "}", ",", "{", "DecoderTablev8NEON32", ",", "false", "}", ",", "{", "DecoderTablev8Crypto32", ",", "false", "}", ",", "}", ";", "for", "(", "auto", "Table", ":", "Tables", ")", "{", "Result", "=", "decodeInstruction", "(", "Table", ".", "P", ",", "MI", ",", "Insn", ",", "Address", ",", "this", ",", "STI", ")", ";", "if", "(", "Result", "!=", "MCDisassembler", "::", "Fail", ")", "{", "Size", "=", "4", ";", "if", "(", "Table", ".", "DecodePred", "&&", "!", "DecodePredicateOperand", "(", "MI", ",", "0xE", ",", "Address", ",", "this", ")", ")", "return", "MCDisassembler", "::", "Fail", ";", "return", "Result", ";", "}", "}", "Size", "=", "0", ";", "return", "MCDisassembler", "::", "Fail", ";", "}", ""], "natrual_language": ["Returns", "the", "disassembly", "of", "a", "single", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::ModeThumb", "\"Asked to disassemble an ARM instruction but Subtarget is in Thumb \"", "\"mode!\"", "4", "0", "3", "24", "2", "16", "1", "8", "0", "0", "ARM", "4", "4", "0xE", "0"], "File": "ARMDisassembler58", "Func": "getInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10497, "Length": 307} {"ground_truth": ["", "static", "bool", "tryAddingSymbolicOperand", "(", "uint64_t", "Address", ",", "int32_t", "Value", ",", "bool", "isBranch", ",", "uint64_t", "InstSize", ",", "MCInst", "&", "MI", ",", "const", "MCDisassembler", "*", "Decoder", ")", "{", "return", "Decoder", "->", "tryAddingSymbolicOperand", "(", "MI", ",", "(", "uint32_t", ")", "Value", ",", "Address", ",", "isBranch", ",", "0", ",", "InstSize", ")", ";", "}", ""], "natrual_language": ["Try", "to", "add", "a", "symbolic", "operand", "instead", "of", "Value", "to", "the", "MCInst", "."], "TS_V_token": ["ARM", "0"], "File": "ARMDisassembler6", "Func": "tryAddingSymbolicOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10498, "Length": 48} {"ground_truth": ["", "static", "inline", "unsigned", "slice", "(", "uint32_t", "Bits", ",", "unsigned", "From", ",", "unsigned", "To", ")", "{", "assert", "(", "From", "<", "32", "&&", "To", "<", "32", "&&", "From", ">=", "To", ")", ";", "return", "(", "Bits", ">>", "To", ")", "&", "(", "(", "1", "<<", "(", "From", "-", "To", "+", "1", ")", ")", "-", "1", ")", ";", "}", ""], "natrual_language": ["Return", "a", "reference", "to", "the", "substring", "from", "[", "Start", ",", "End", ")", "."], "TS_V_token": ["ARM", "32", "32", "1", "1", "1"], "File": "ARMDisassemblerCore", "Func": "slice", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10499, "Length": 54} {"ground_truth": ["", "size_t", "ARMELFAttributeData", "::", "emit", "(", "char", "*", "pBuf", ")", "const", "{", "char", "*", "buffer", "=", "pBuf", ";", "const", "ELFAttributeValue", "&", "attr_conformance", "=", "m_Attrs", "[", "Tag_conformance", "]", ";", "if", "(", "attr_conformance", ".", "shouldEmit", "(", ")", ")", "{", "if", "(", "!", "ELFAttributeData", "::", "WriteAttribute", "(", "Tag_conformance", ",", "attr_conformance", ",", "buffer", ")", ")", "{", "return", "0", ";", "}", "}", "const", "ELFAttributeValue", "&", "attr_nodefaults", "=", "m_Attrs", "[", "Tag_nodefaults", "]", ";", "if", "(", "attr_nodefaults", ".", "shouldEmit", "(", ")", ")", "{", "if", "(", "!", "ELFAttributeData", "::", "WriteAttribute", "(", "Tag_nodefaults", ",", "attr_nodefaults", ",", "buffer", ")", ")", "{", "return", "0", ";", "}", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Tag_nodefaults", ";", "++", "i", ")", "{", "TagType", "tag", "=", "static_cast", "<", "TagType", ">", "(", "i", ")", ";", "const", "ELFAttributeValue", "&", "value", "=", "m_Attrs", "[", "tag", "]", ";", "if", "(", "value", ".", "shouldEmit", "(", ")", "&&", "!", "ELFAttributeData", "::", "WriteAttribute", "(", "tag", ",", "value", ",", "buffer", ")", ")", "{", "return", "0", ";", "}", "}", "for", "(", "unsigned", "i", "=", "(", "Tag_nodefaults", "+", "1", ")", ";", "i", "<=", "Tag_Max", ";", "++", "i", ")", "{", "TagType", "tag", "=", "static_cast", "<", "TagType", ">", "(", "i", ")", ";", "const", "ELFAttributeValue", "&", "value", "=", "m_Attrs", "[", "tag", "]", ";", "if", "(", "value", ".", "shouldEmit", "(", ")", "&&", "(", "i", "!=", "Tag_conformance", ")", "&&", "!", "ELFAttributeData", "::", "WriteAttribute", "(", "tag", ",", "value", ",", "buffer", ")", ")", "{", "return", "0", ";", "}", "}", "for", "(", "UnknownAttrsMap", "::", "const_iterator", "unknown_attr_it", "=", "m_UnknownAttrs", ".", "begin", "(", ")", ",", "unknown_attr_end", "=", "m_UnknownAttrs", ".", "end", "(", ")", ";", "unknown_attr_it", "!=", "unknown_attr_end", ";", "++", "unknown_attr_it", ")", "{", "TagType", "tag", "=", "unknown_attr_it", "->", "first", ";", "const", "ELFAttributeValue", "&", "value", "=", "unknown_attr_it", "->", "second", ";", "if", "(", "value", ".", "shouldEmit", "(", ")", "&&", "!", "ELFAttributeData", "::", "WriteAttribute", "(", "tag", ",", "value", ",", "buffer", ")", ")", "{", "return", "0", ";", "}", "}", "return", "(", "buffer", "-", "pBuf", ")", ";", "}", ""], "natrual_language": ["Output", "the", "remark", "via", "the", "diagnostic", "handler", "and", "to", "the", "optimization", "record", "file", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "0", "0", "1", "0", "0"], "File": "ARMELFAttributeData", "Func": "emit", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10500, "Length": 308} {"ground_truth": ["", "const", "ELFAttributeValue", "*", "ARMELFAttributeData", "::", "getAttributeValue", "(", "TagType", "pTag", ")", "const", "{", "if", "(", "pTag", "<=", "Tag_Max", ")", "{", "const", "ELFAttributeValue", "&", "attr_value", "=", "m_Attrs", "[", "pTag", "]", ";", "if", "(", "attr_value", ".", "isInitialized", "(", ")", ")", "{", "return", "&", "attr_value", ";", "}", "else", "{", "return", "NULL", ";", "}", "}", "else", "{", "UnknownAttrsMap", "::", "const_iterator", "attr_it", "=", "m_UnknownAttrs", ".", "find", "(", "pTag", ")", ";", "if", "(", "attr_it", "==", "m_UnknownAttrs", ".", "end", "(", ")", ")", "{", "return", "NULL", ";", "}", "else", "{", "return", "&", "attr_it", "->", "second", ";", "}", "}", "}", ""], "natrual_language": ["Extract", "a", "DWARF", "form", "value", "from", "a", "DIE", "specified", "by", "DIE", "offset", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMELFAttributeData", "Func": "getAttributeValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10501, "Length": 90} {"ground_truth": ["", "void", "ARMTargetELFStreamer", "::", "emitInst", "(", "uint32_t", "Inst", ",", "char", "Suffix", ")", "{", "getStreamer", "(", ")", ".", "emitInst", "(", "Inst", ",", "Suffix", ")", ";", "}", ""], "natrual_language": ["Callback", "used", "to", "implement", "the", ".inst", "directive", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMELFStreamer (2)", "Func": "emitInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10502, "Length": 24} {"ground_truth": ["", "void", "EmitInstruction", "(", "const", "MCInst", "&", "Inst", ",", "const", "MCSubtargetInfo", "&", "STI", ")", "override", "{", "if", "(", "IsThumb", ")", "EmitThumbMappingSymbol", "(", ")", ";", "else", "EmitARMMappingSymbol", "(", ")", ";", "MCELFStreamer", "::", "EmitInstruction", "(", "Inst", ",", "STI", ")", ";", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMELFStreamer (2)", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10503, "Length": 38} {"ground_truth": ["", "void", "ARMTargetELFStreamer", "::", "emitLabel", "(", "MCSymbol", "*", "Symbol", ")", "{", "ARMELFStreamer", "&", "Streamer", "=", "getStreamer", "(", ")", ";", "if", "(", "!", "Streamer", ".", "IsThumb", ")", "return", ";", "Streamer", ".", "getAssembler", "(", ")", ".", "registerSymbol", "(", "*", "Symbol", ")", ";", "unsigned", "Type", "=", "cast", "<", "MCSymbolELF", ">", "(", "Symbol", ")", "->", "getType", "(", ")", ";", "if", "(", "Type", "==", "ELF", "::", "STT_FUNC", "||", "Type", "==", "ELF", "::", "STT_GNU_IFUNC", ")", "Streamer", ".", "EmitThumbFunc", "(", "Symbol", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "label", "for", "Symbol", "into", "the", "current", "section", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMELFStreamer (2)", "Func": "emitLabel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10504, "Length": 76} {"ground_truth": ["", "ARMELFStreamer", "&", "ARMTargetELFStreamer", "::", "getStreamer", "(", ")", "{", "return", "static_cast", "<", "ARMELFStreamer", "&", ">", "(", "Streamer", ")", ";", "}", ""], "natrual_language": ["Return", "the", "output", "streamer", "for", "the", "assembler", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMELFStreamer (2)", "Func": "getStreamer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10505, "Length": 19} {"ground_truth": ["", "void", "ARMELFStreamer", "::", "Reset", "(", ")", "{", "ExTab", "=", "nullptr", ";", "FnStart", "=", "nullptr", ";", "Personality", "=", "nullptr", ";", "PersonalityIndex", "=", "ARM", "::", "EHABI", "::", "NUM_PERSONALITY_INDEX", ";", "FPReg", "=", "ARM", "::", "SP", ";", "FPOffset", "=", "0", ";", "SPOffset", "=", "0", ";", "PendingOffset", "=", "0", ";", "UsedFP", "=", "false", ";", "CantUnwind", "=", "false", ";", "Opcodes", ".", "clear", "(", ")", ";", "UnwindOpAsm", ".", "Reset", "(", ")", ";", "}", ""], "natrual_language": ["Reset", "the", "unwind", "opcode", "assembler", "."], "TS_V_token": ["ARM", "ARM", "ARM::EHABI", "ARM::SP", "0", "0", "0"], "File": "ARMELFStreamer (2)", "Func": "Reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10506, "Length": 66} {"ground_truth": ["", "void", "EmitInstruction", "(", "const", "MCInst", "&", "Inst", ",", "const", "MCSubtargetInfo", "&", "STI", ",", "bool", ")", "override", "{", "if", "(", "IsThumb", ")", "EmitThumbMappingSymbol", "(", ")", ";", "else", "EmitARMMappingSymbol", "(", ")", ";", "MCELFStreamer", "::", "EmitInstruction", "(", "Inst", ",", "STI", ")", ";", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMELFStreamer11", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10507, "Length": 40} {"ground_truth": ["", "void", "ARMELFStreamer", "::", "reset", "(", ")", "{", "MCTargetStreamer", "&", "TS", "=", "*", "getTargetStreamer", "(", ")", ";", "ARMTargetStreamer", "&", "ATS", "=", "static_cast", "<", "ARMTargetStreamer", "&", ">", "(", "TS", ")", ";", "ATS", ".", "reset", "(", ")", ";", "MappingSymbolCounter", "=", "0", ";", "MCELFStreamer", "::", "reset", "(", ")", ";", "getAssembler", "(", ")", ".", "setELFHeaderEFlags", "(", "ELF", "::", "EF_ARM_EABI_VER5", ")", ";", "}", ""], "natrual_language": ["Reset", "an", "existing", "scalar", "value", "for", "Def", "and", "a", "given", "Instance", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM"], "File": "ARMELFStreamer11", "Func": "reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10508, "Length": 57} {"ground_truth": ["", "void", "emitInst", "(", "uint32_t", "Inst", ",", "char", "Suffix", ")", "{", "unsigned", "Size", ";", "char", "Buffer", "[", "4", "]", ";", "const", "bool", "LittleEndian", "=", "getContext", "(", ")", ".", "getAsmInfo", "(", ")", "->", "isLittleEndian", "(", ")", ";", "switch", "(", "Suffix", ")", "{", "case", "'\\0'", ":", "Size", "=", "4", ";", "assert", "(", "!", "IsThumb", ")", ";", "EmitARMMappingSymbol", "(", ")", ";", "for", "(", "unsigned", "II", "=", "0", ",", "IE", "=", "Size", ";", "II", "!=", "IE", ";", "II", "++", ")", "{", "const", "unsigned", "I", "=", "LittleEndian", "?", "(", "Size", "-", "II", "-", "1", ")", ":", "II", ";", "Buffer", "[", "Size", "-", "II", "-", "1", "]", "=", "uint8_t", "(", "Inst", ">>", "I", "*", "CHAR_BIT", ")", ";", "}", "break", ";", "case", "'n'", ":", "case", "'w'", ":", "Size", "=", "(", "Suffix", "==", "'n'", "?", "2", ":", "4", ")", ";", "assert", "(", "IsThumb", ")", ";", "EmitThumbMappingSymbol", "(", ")", ";", "for", "(", "unsigned", "II", "=", "0", ",", "IE", "=", "Size", ";", "II", "!=", "IE", ";", "II", "=", "II", "+", "2", ")", "{", "const", "unsigned", "I0", "=", "LittleEndian", "?", "II", "+", "0", ":", "II", "+", "1", ";", "const", "unsigned", "I1", "=", "LittleEndian", "?", "II", "+", "1", ":", "II", "+", "0", ";", "Buffer", "[", "Size", "-", "II", "-", "2", "]", "=", "uint8_t", "(", "Inst", ">>", "I0", "*", "CHAR_BIT", ")", ";", "Buffer", "[", "Size", "-", "II", "-", "1", "]", "=", "uint8_t", "(", "Inst", ">>", "I1", "*", "CHAR_BIT", ")", ";", "}", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Invalid Suffix\"", ")", ";", "}", "MCELFStreamer", "::", "EmitBytes", "(", "StringRef", "(", "Buffer", ",", "Size", ")", ")", ";", "}", ""], "natrual_language": ["Callback", "used", "to", "implement", "the", ".inst", "directive", "."], "TS_V_token": ["ARM", "4", "4", "ARM", "0", "1", "1", "2", "4", "0", "2", "0", "1", "1", "0", "2", "1", "\"Invalid Suffix\""], "File": "ARMELFStreamer14", "Func": "emitInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10509, "Length": 250} {"ground_truth": ["", "void", "ARMELFStreamer", "::", "reset", "(", ")", "{", "MCTargetStreamer", "&", "TS", "=", "*", "getTargetStreamer", "(", ")", ";", "ARMTargetStreamer", "&", "ATS", "=", "static_cast", "<", "ARMTargetStreamer", "&", ">", "(", "TS", ")", ";", "ATS", ".", "reset", "(", ")", ";", "MappingSymbolCounter", "=", "0", ";", "MCELFStreamer", "::", "reset", "(", ")", ";", "LastMappingSymbols", ".", "clear", "(", ")", ";", "LastEMSInfo", ".", "reset", "(", ")", ";", "getAssembler", "(", ")", ".", "setELFHeaderEFlags", "(", "ELF", "::", "EF_ARM_EABI_VER5", ")", ";", "}", ""], "natrual_language": ["Reset", "an", "existing", "scalar", "value", "for", "Def", "and", "a", "given", "Instance", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM"], "File": "ARMELFStreamer14", "Func": "reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10510, "Length": 69} {"ground_truth": ["", "void", "ARMTargetAsmStreamer", "::", "emitInst", "(", "uint32_t", "Inst", ",", "char", "Suffix", ")", "{", "OS", "<<", "\"\\t.inst\"", ";", "if", "(", "Suffix", ")", "OS", "<<", "\".\"", "<<", "Suffix", ";", "OS", "<<", "\"\\t0x\"", "<<", "utohexstr", "(", "Inst", ")", "<<", "\"\\n\"", ";", "}", ""], "natrual_language": ["Callback", "used", "to", "implement", "the", ".inst", "directive", "."], "TS_V_token": ["ARM", "ARM", "\"\\t.inst\"", "\".\"", "\"\\t0x\"", "\"\\n\""], "File": "ARMELFStreamer15", "Func": "emitInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10511, "Length": 38} {"ground_truth": ["", "void", "ARMELFStreamer", "::", "Reset", "(", ")", "{", "ExTab", "=", "NULL", ";", "FnStart", "=", "NULL", ";", "Personality", "=", "NULL", ";", "PersonalityIndex", "=", "ARM", "::", "EHABI", "::", "NUM_PERSONALITY_INDEX", ";", "FPReg", "=", "ARM", "::", "SP", ";", "FPOffset", "=", "0", ";", "SPOffset", "=", "0", ";", "PendingOffset", "=", "0", ";", "UsedFP", "=", "false", ";", "CantUnwind", "=", "false", ";", "Opcodes", ".", "clear", "(", ")", ";", "UnwindOpAsm", ".", "Reset", "(", ")", ";", "}", ""], "natrual_language": ["Reset", "the", "unwind", "opcode", "assembler", "."], "TS_V_token": ["ARM", "ARM", "ARM::EHABI", "ARM::SP", "0", "0", "0"], "File": "ARMELFStreamer15", "Func": "Reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10512, "Length": 66} {"ground_truth": ["", "void", "emitFill", "(", "const", "MCExpr", "&", "NumBytes", ",", "uint64_t", "FillValue", ",", "SMLoc", "Loc", ")", "override", "{", "EmitDataMappingSymbol", "(", ")", ";", "MCObjectStreamer", "::", "emitFill", "(", "NumBytes", ",", "FillValue", ",", "Loc", ")", ";", "}", ""], "natrual_language": ["Emit", "Size", "bytes", "worth", "of", "the", "value", "specified", "by", "FillValue", "."], "TS_V_token": ["ARM"], "File": "ARMELFStreamer16", "Func": "emitFill", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10513, "Length": 32} {"ground_truth": ["", "static", "bool", "classof", "(", "const", "MCStreamer", "*", "S", ")", "{", "return", "S", "->", "getKind", "(", ")", "==", "SK_ARMELFStreamer", ";", "}", ""], "natrual_language": ["Methods", "for", "support", "type", "inquiry", "through", "isa", ",", "cast", ",", "and", "dyn_cast", ":"], "TS_V_token": ["ARM", "ARM"], "File": "ARMELFStreamer1", "Func": "classof", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10514, "Length": 20} {"ground_truth": ["", "virtual", "void", "EmitInstruction", "(", "const", "MCInst", "&", "Inst", ")", "{", "if", "(", "IsThumb", ")", "EmitThumbMappingSymbol", "(", ")", ";", "else", "EmitARMMappingSymbol", "(", ")", ";", "MCELFStreamer", "::", "EmitInstruction", "(", "Inst", ")", ";", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMELFStreamer1", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10515, "Length": 31} {"ground_truth": ["", "void", "ARMELFStreamer", "::", "EmitRegSave", "(", "const", "SmallVectorImpl", "<", "unsigned", ">", "&", "RegList", ",", "bool", "IsVector", ")", "{", "}", ""], "natrual_language": ["Emit", "unwind", "opcodes", "for", ".save", "directives", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMELFStreamer1", "Func": "EmitRegSave", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10516, "Length": 18} {"ground_truth": ["", "void", "ARMELFStreamer", "::", "Reset", "(", ")", "{", "ExTab", "=", "NULL", ";", "FnStart", "=", "NULL", ";", "Personality", "=", "NULL", ";", "CantUnwind", "=", "false", ";", "}", ""], "natrual_language": ["Reset", "the", "unwind", "opcode", "assembler", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMELFStreamer1", "Func": "Reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10517, "Length": 24} {"ground_truth": ["", "void", "ARMTargetELFStreamer", "::", "emitLabel", "(", "MCSymbol", "*", "Symbol", ")", "{", "ARMELFStreamer", "&", "Streamer", "=", "getStreamer", "(", ")", ";", "if", "(", "!", "Streamer", ".", "IsThumb", ")", "return", ";", "const", "MCSymbolData", "&", "SD", "=", "Streamer", ".", "getOrCreateSymbolData", "(", "Symbol", ")", ";", "unsigned", "Type", "=", "MCELF", "::", "GetType", "(", "SD", ")", ";", "if", "(", "Type", "==", "ELF_STT_Func", "||", "Type", "==", "ELF_STT_GnuIFunc", ")", "Streamer", ".", "EmitThumbFunc", "(", "Symbol", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "label", "for", "Symbol", "into", "the", "current", "section", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMELFStreamer20", "Func": "emitLabel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10518, "Length": 67} {"ground_truth": ["", "void", "changeSection", "(", "MCSection", "*", "Section", ",", "const", "MCExpr", "*", "Subsection", ")", "override", "{", "LastMappingSymbols", "[", "getCurrentSection", "(", ")", ".", "first", "]", "=", "std", "::", "move", "(", "LastEMSInfo", ")", ";", "MCELFStreamer", "::", "changeSection", "(", "Section", ",", "Subsection", ")", ";", "auto", "LastMappingSymbol", "=", "LastMappingSymbols", ".", "find", "(", "Section", ")", ";", "if", "(", "LastMappingSymbol", "!=", "LastMappingSymbols", ".", "end", "(", ")", ")", "{", "LastEMSInfo", "=", "std", "::", "move", "(", "LastMappingSymbol", "->", "second", ")", ";", "return", ";", "}", "LastEMSInfo", ".", "reset", "(", "new", "ElfMappingSymbolInfo", "(", "SMLoc", "(", ")", ",", "nullptr", ",", "0", ")", ")", ";", "}", ""], "natrual_language": ["Update", "streamer", "for", "a", "new", "active", "section", "."], "TS_V_token": ["ARM", "0"], "File": "ARMELFStreamer22", "Func": "changeSection", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10519, "Length": 92} {"ground_truth": ["", "void", "emitAssemblerFlag", "(", "MCAssemblerFlag", "Flag", ")", "override", "{", "MCELFStreamer", "::", "emitAssemblerFlag", "(", "Flag", ")", ";", "switch", "(", "Flag", ")", "{", "case", "MCAF_SyntaxUnified", ":", "return", ";", "case", "MCAF_Code16", ":", "IsThumb", "=", "true", ";", "return", ";", "case", "MCAF_Code32", ":", "IsThumb", "=", "false", ";", "return", ";", "case", "MCAF_Code64", ":", "return", ";", "case", "MCAF_SubsectionsViaSymbols", ":", "return", ";", "}", "}", ""], "natrual_language": ["Note", "in", "the", "output", "the", "specified", "Flag", "."], "TS_V_token": ["ARM"], "File": "ARMELFStreamer22", "Func": "emitAssemblerFlag", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10520, "Length": 55} {"ground_truth": ["", "void", "emitBytes", "(", "StringRef", "Data", ")", "override", "{", "emitDataMappingSymbol", "(", ")", ";", "MCELFStreamer", "::", "emitBytes", "(", "Data", ")", ";", "}", ""], "natrual_language": ["Emit", "the", "bytes", "in", "Data", "into", "the", "output", "."], "TS_V_token": ["ARM"], "File": "ARMELFStreamer22", "Func": "emitBytes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10521, "Length": 20} {"ground_truth": ["", "void", "emitFill", "(", "const", "MCExpr", "&", "NumBytes", ",", "uint64_t", "FillValue", ",", "SMLoc", "Loc", ")", "override", "{", "emitDataMappingSymbol", "(", ")", ";", "MCObjectStreamer", "::", "emitFill", "(", "NumBytes", ",", "FillValue", ",", "Loc", ")", ";", "}", ""], "natrual_language": ["Emit", "Size", "bytes", "worth", "of", "the", "value", "specified", "by", "FillValue", "."], "TS_V_token": ["ARM"], "File": "ARMELFStreamer22", "Func": "emitFill", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10522, "Length": 32} {"ground_truth": ["", "void", "emitInst", "(", "uint32_t", "Inst", ",", "char", "Suffix", ")", "{", "unsigned", "Size", ";", "char", "Buffer", "[", "4", "]", ";", "const", "bool", "LittleEndian", "=", "getContext", "(", ")", ".", "getAsmInfo", "(", ")", "->", "isLittleEndian", "(", ")", ";", "switch", "(", "Suffix", ")", "{", "case", "'\\0'", ":", "Size", "=", "4", ";", "assert", "(", "!", "IsThumb", ")", ";", "EmitARMMappingSymbol", "(", ")", ";", "for", "(", "unsigned", "II", "=", "0", ",", "IE", "=", "Size", ";", "II", "!=", "IE", ";", "II", "++", ")", "{", "const", "unsigned", "I", "=", "LittleEndian", "?", "(", "Size", "-", "II", "-", "1", ")", ":", "II", ";", "Buffer", "[", "Size", "-", "II", "-", "1", "]", "=", "uint8_t", "(", "Inst", ">>", "I", "*", "CHAR_BIT", ")", ";", "}", "break", ";", "case", "'n'", ":", "case", "'w'", ":", "Size", "=", "(", "Suffix", "==", "'n'", "?", "2", ":", "4", ")", ";", "assert", "(", "IsThumb", ")", ";", "EmitThumbMappingSymbol", "(", ")", ";", "for", "(", "unsigned", "II", "=", "0", ",", "IE", "=", "Size", ";", "II", "!=", "IE", ";", "II", "=", "II", "+", "2", ")", "{", "const", "unsigned", "I0", "=", "LittleEndian", "?", "II", "+", "0", ":", "II", "+", "1", ";", "const", "unsigned", "I1", "=", "LittleEndian", "?", "II", "+", "1", ":", "II", "+", "0", ";", "Buffer", "[", "Size", "-", "II", "-", "2", "]", "=", "uint8_t", "(", "Inst", ">>", "I0", "*", "CHAR_BIT", ")", ";", "Buffer", "[", "Size", "-", "II", "-", "1", "]", "=", "uint8_t", "(", "Inst", ">>", "I1", "*", "CHAR_BIT", ")", ";", "}", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Invalid Suffix\"", ")", ";", "}", "MCELFStreamer", "::", "emitBytes", "(", "StringRef", "(", "Buffer", ",", "Size", ")", ")", ";", "}", ""], "natrual_language": ["Callback", "used", "to", "implement", "the", ".inst", "directive", "."], "TS_V_token": ["ARM", "4", "4", "ARM", "0", "1", "1", "2", "4", "0", "2", "0", "1", "1", "0", "2", "1", "\"Invalid Suffix\""], "File": "ARMELFStreamer22", "Func": "emitInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10523, "Length": 250} {"ground_truth": ["", "void", "emitInstruction", "(", "const", "MCInst", "&", "Inst", ",", "const", "MCSubtargetInfo", "&", "STI", ")", "override", "{", "if", "(", "IsThumb", ")", "EmitThumbMappingSymbol", "(", ")", ";", "else", "EmitARMMappingSymbol", "(", ")", ";", "MCELFStreamer", "::", "emitInstruction", "(", "Inst", ",", "STI", ")", ";", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "to", "emit", "instructions", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMELFStreamer22", "Func": "emitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10524, "Length": 38} {"ground_truth": ["", "void", "ARMTargetELFStreamer", "::", "emitLabel", "(", "MCSymbol", "*", "Symbol", ")", "{", "ARMELFStreamer", "&", "Streamer", "=", "getStreamer", "(", ")", ";", "if", "(", "!", "Streamer", ".", "IsThumb", ")", "return", ";", "Streamer", ".", "getAssembler", "(", ")", ".", "registerSymbol", "(", "*", "Symbol", ")", ";", "unsigned", "Type", "=", "cast", "<", "MCSymbolELF", ">", "(", "Symbol", ")", "->", "getType", "(", ")", ";", "if", "(", "Type", "==", "ELF", "::", "STT_FUNC", "||", "Type", "==", "ELF", "::", "STT_GNU_IFUNC", ")", "Streamer", ".", "emitThumbFunc", "(", "Symbol", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "label", "for", "Symbol", "into", "the", "current", "section", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMELFStreamer22", "Func": "emitLabel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10525, "Length": 76} {"ground_truth": ["", "bool", "emitSymbolAttribute", "(", "MCSymbol", "*", "Symbol", ",", "MCSymbolAttr", "Attribute", ")", "override", "{", "bool", "Val", "=", "MCELFStreamer", "::", "emitSymbolAttribute", "(", "Symbol", ",", "Attribute", ")", ";", "if", "(", "!", "IsThumb", ")", "return", "Val", ";", "unsigned", "Type", "=", "cast", "<", "MCSymbolELF", ">", "(", "Symbol", ")", "->", "getType", "(", ")", ";", "if", "(", "(", "Type", "==", "ELF", "::", "STT_FUNC", "||", "Type", "==", "ELF", "::", "STT_GNU_IFUNC", ")", "&&", "Symbol", "->", "isDefined", "(", ")", ")", "getAssembler", "(", ")", ".", "setIsThumbFunc", "(", "Symbol", ")", ";", "return", "Val", ";", "}", ""], "natrual_language": ["Add", "the", "given", "Attribute", "to", "Symbol", "."], "TS_V_token": ["ARM"], "File": "ARMELFStreamer22", "Func": "emitSymbolAttribute", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10526, "Length": 82} {"ground_truth": ["", "void", "emitThumbFunc", "(", "MCSymbol", "*", "Func", ")", "override", "{", "getAssembler", "(", ")", ".", "setIsThumbFunc", "(", "Func", ")", ";", "emitSymbolAttribute", "(", "Func", ",", "MCSA_ELF_TypeFunction", ")", ";", "}", ""], "natrual_language": ["Note", "in", "the", "output", "that", "the", "specified", "Func", "is", "a", "Thumb", "mode", "function", "(", "ARM", "target", "only", ")", "."], "TS_V_token": ["ARM"], "File": "ARMELFStreamer22", "Func": "emitThumbFunc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10527, "Length": 26} {"ground_truth": ["", "void", "emitValueImpl", "(", "const", "MCExpr", "*", "Value", ",", "unsigned", "Size", ",", "SMLoc", "Loc", ")", "override", "{", "if", "(", "const", "MCSymbolRefExpr", "*", "SRE", "=", "dyn_cast_or_null", "<", "MCSymbolRefExpr", ">", "(", "Value", ")", ")", "{", "if", "(", "SRE", "->", "getKind", "(", ")", "==", "MCSymbolRefExpr", "::", "VK_ARM_SBREL", "&&", "!", "(", "Size", "==", "4", ")", ")", "{", "getContext", "(", ")", ".", "reportError", "(", "Loc", ",", "\"relocated expression must be 32-bit\"", ")", ";", "return", ";", "}", "getOrCreateDataFragment", "(", ")", ";", "}", "emitDataMappingSymbol", "(", ")", ";", "MCELFStreamer", "::", "emitValueImpl", "(", "Value", ",", "Size", ",", "Loc", ")", ";", "}", ""], "natrual_language": ["Overriding", "these", "functions", "allows", "us", "to", "dismiss", "all", "labels", "that", "are", "candidates", "for", "marking", "as", "microMIPS", "when", ".word/.long/.4byte", "etc", "directives", "are", "emitted", "."], "TS_V_token": ["ARM", "ARM", "4", "\"relocated expression must be 32-bit\""], "File": "ARMELFStreamer22", "Func": "emitValueImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10528, "Length": 87} {"ground_truth": ["", "void", "ARMELFStreamer", "::", "finishImpl", "(", ")", "{", "MCTargetStreamer", "&", "TS", "=", "*", "getTargetStreamer", "(", ")", ";", "ARMTargetStreamer", "&", "ATS", "=", "static_cast", "<", "ARMTargetStreamer", "&", ">", "(", "TS", ")", ";", "ATS", ".", "finishAttributeSection", "(", ")", ";", "MCELFStreamer", "::", "finishImpl", "(", ")", ";", "}", ""], "natrual_language": ["Streamer", "specific", "finalization", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMELFStreamer22", "Func": "finishImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10529, "Length": 42} {"ground_truth": ["", "void", "EmitInstruction", "(", "const", "MCInst", "&", "Inst", ",", "const", "MCSubtargetInfo", "&", "STI", ")", "override", "{", "if", "(", "IsThumb", ")", "EmitThumbMappingSymbol", "(", ")", ";", "else", "EmitARMMappingSymbol", "(", ")", ";", "MCELFStreamer", "::", "EmitInstruction", "(", "Inst", ",", "STI", ")", ";", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMELFStreamer27", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10530, "Length": 38} {"ground_truth": ["", "void", "ARMTargetELFStreamer", "::", "emitLabel", "(", "MCSymbol", "*", "Symbol", ")", "{", "ARMELFStreamer", "&", "Streamer", "=", "getStreamer", "(", ")", ";", "if", "(", "!", "Streamer", ".", "IsThumb", ")", "return", ";", "const", "MCSymbolData", "&", "SD", "=", "Streamer", ".", "getOrCreateSymbolData", "(", "Symbol", ")", ";", "if", "(", "MCELF", "::", "GetType", "(", "SD", ")", "&", "(", "ELF", "::", "STT_FUNC", "<<", "ELF_STT_Shift", ")", ")", "Streamer", ".", "EmitThumbFunc", "(", "Symbol", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "label", "for", "Symbol", "into", "the", "current", "section", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMELFStreamer30", "Func": "emitLabel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10531, "Length": 64} {"ground_truth": ["", "void", "ARMELFStreamer", "::", "EmitRegSave", "(", "const", "SmallVectorImpl", "<", "unsigned", ">", "&", "RegList", ",", "bool", "IsVector", ")", "{", "unsigned", "Count", "=", "0", ";", "uint32_t", "Mask", "=", "0", ";", "const", "MCRegisterInfo", "*", "MRI", "=", "getContext", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "for", "(", "size_t", "i", "=", "0", ";", "i", "<", "RegList", ".", "size", "(", ")", ";", "++", "i", ")", "{", "unsigned", "Reg", "=", "MRI", "->", "getEncodingValue", "(", "RegList", "[", "i", "]", ")", ";", "assert", "(", "Reg", "<", "(", "IsVector", "?", "32U", ":", "16U", ")", "&&", "\"Register out of range\"", ")", ";", "unsigned", "Bit", "=", "(", "1u", "<<", "Reg", ")", ";", "if", "(", "(", "Mask", "&", "Bit", ")", "==", "0", ")", "{", "Mask", "|=", "Bit", ";", "++", "Count", ";", "}", "}", "SPOffset", "-=", "Count", "*", "(", "IsVector", "?", "8", ":", "4", ")", ";", "FlushPendingOffset", "(", ")", ";", "if", "(", "IsVector", ")", "UnwindOpAsm", ".", "EmitVFPRegSave", "(", "Mask", ")", ";", "else", "UnwindOpAsm", ".", "EmitRegSave", "(", "Mask", ")", ";", "}", ""], "natrual_language": ["Emit", "unwind", "opcodes", "for", ".save", "directives", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "0", "32U", "16U", "\"Register out of range\"", "1u", "0", "8", "4"], "File": "ARMELFStreamer3", "Func": "EmitRegSave", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10532, "Length": 152} {"ground_truth": ["", "void", "ARMELFStreamer", "::", "Reset", "(", ")", "{", "ExTab", "=", "NULL", ";", "FnStart", "=", "NULL", ";", "Personality", "=", "NULL", ";", "PersonalityIndex", "=", "NUM_PERSONALITY_INDEX", ";", "FPReg", "=", "ARM", "::", "SP", ";", "FPOffset", "=", "0", ";", "SPOffset", "=", "0", ";", "PendingOffset", "=", "0", ";", "UsedFP", "=", "false", ";", "CantUnwind", "=", "false", ";", "Opcodes", ".", "clear", "(", ")", ";", "UnwindOpAsm", ".", "Reset", "(", ")", ";", "}", ""], "natrual_language": ["Reset", "the", "unwind", "opcode", "assembler", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP", "0", "0", "0"], "File": "ARMELFStreamer3", "Func": "Reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10533, "Length": 62} {"ground_truth": ["", "ARMELFStreamer", "&", "ARMTargetELFStreamer", "::", "getStreamer", "(", ")", "{", "ARMELFStreamer", "*", "S", "=", "static_cast", "<", "ARMELFStreamer", "*", ">", "(", "Streamer", ")", ";", "return", "*", "S", ";", "}", ""], "natrual_language": ["Return", "the", "output", "streamer", "for", "the", "assembler", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMELFStreamer52", "Func": "getStreamer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10534, "Length": 26} {"ground_truth": ["", "const_iterator", "begin", "(", ")", "const", "{", "return", "m_SectToExData", ".", "begin", "(", ")", ";", "}", ""], "natrual_language": ["Recipe", "iterator", "methods", "."], "TS_V_token": ["ARM"], "File": "ARMException", "Func": "begin", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10535, "Length": 14} {"ground_truth": ["", "std", "::", "unique_ptr", "<", "ARMInputExMap", ">", "ARMInputExMap", "::", "create", "(", "Input", "&", "pInput", ")", "{", "std", "::", "unique_ptr", "<", "ARMInputExMap", ">", "exMap", "(", "new", "ARMInputExMap", "(", ")", ")", ";", "LDContext", "*", "ctx", "=", "pInput", ".", "context", "(", ")", ";", "for", "(", "LDContext", "::", "sect_iterator", "it", "=", "ctx", "->", "sectBegin", "(", ")", ",", "end", "=", "ctx", "->", "sectEnd", "(", ")", ";", "it", "!=", "end", ";", "++", "it", ")", "{", "LDSection", "*", "sect", "=", "*", "it", ";", "if", "(", "sect", "->", "type", "(", ")", "==", "llvm", "::", "ELF", "::", "SHT_ARM_EXIDX", ")", "{", "ARMExSectionTuple", "*", "exTuple", "=", "exMap", "->", "getOrCreateByExSection", "(", "*", "sect", ")", ";", "exTuple", "->", "setExIdxSection", "(", "sect", ")", ";", "exTuple", "->", "setTextSection", "(", "sect", "->", "getLink", "(", ")", ")", ";", "if", "(", "sect", "->", "getLink", "(", ")", "==", "NULL", ")", "{", "fatal", "(", "diag", "::", "eh_missing_text_section", ")", "<<", "sect", "->", "name", "(", ")", "<<", "pInput", ".", "name", "(", ")", ";", "}", "}", "}", "ARMInputExMap", "::", "iterator", "it", "=", "exMap", "->", "begin", "(", ")", ";", "ARMInputExMap", "::", "iterator", "end", "=", "exMap", "->", "end", "(", ")", ";", "while", "(", "it", "!=", "end", ")", "{", "ARMExSectionTuple", "*", "exTuple", "=", "it", "->", "second", ".", "get", "(", ")", ";", "LDSection", "*", "const", "text", "=", "exTuple", "->", "getTextSection", "(", ")", ";", "LDSection", "*", "const", "exIdx", "=", "exTuple", "->", "getExIdxSection", "(", ")", ";", "if", "(", "(", "text", "->", "kind", "(", ")", "==", "LDFileFormat", "::", "Ignore", ")", "||", "(", "text", "->", "kind", "(", ")", "==", "LDFileFormat", "::", "Folded", ")", ")", "{", "exIdx", "->", "setKind", "(", "LDFileFormat", "::", "Ignore", ")", ";", "ARMInputExMap", "::", "iterator", "deadIt", "=", "it", "++", ";", "exMap", "->", "erase", "(", "deadIt", ")", ";", "continue", ";", "}", "RegionFragment", "*", "textFrag", "=", "findRegionFragment", "(", "*", "text", ")", ";", "RegionFragment", "*", "exIdxFrag", "=", "findRegionFragment", "(", "*", "exIdx", ")", ";", "exTuple", "->", "setTextFragment", "(", "textFrag", ")", ";", "exTuple", "->", "setExIdxFragment", "(", "exIdxFrag", ")", ";", "if", "(", "exIdxFrag", "==", "NULL", ")", "{", "ARMInputExMap", "::", "iterator", "deadIt", "=", "it", "++", ";", "exMap", "->", "erase", "(", "deadIt", ")", ";", "continue", ";", "}", "++", "it", ";", "}", "return", "exMap", ";", "}", ""], "natrual_language": ["This", "creates", "an", "identified", "struct", "."], "TS_V_token": ["ARM", "ARM", "ARMInputExMap::create", "ARM", "ARM", "ARM", "ARM", "ARMInputExMap::iterator", "ARMInputExMap::iterator", "ARM", "ARMInputExMap::iterator", "ARMInputExMap::iterator"], "File": "ARMException", "Func": "create", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10536, "Length": 337} {"ground_truth": ["", "const_iterator", "end", "(", ")", "const", "{", "return", "m_SectToExData", ".", "end", "(", ")", ";", "}", ""], "natrual_language": ["Get", "a", "const_iterator", "to", "the", "end", "of", "the", "symbol", "table", "."], "TS_V_token": ["ARM"], "File": "ARMException", "Func": "end", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10537, "Length": 14} {"ground_truth": ["", "void", "erase", "(", "iterator", "it", ")", "{", "m_SectToExData", ".", "erase", "(", "it", ")", ";", "}", ""], "natrual_language": ["erase", "-", "Erases", "an", "element", "identified", "by", "Key", ",", "if", "it", "exists", "."], "TS_V_token": ["ARM"], "File": "ARMException", "Func": "erase", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10538, "Length": 15} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM pseudo instruction expansion pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM pseudo instruction expansion pass\""], "File": "ARMExpandPseudoInsts (2)", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10539, "Length": 13} {"ground_truth": ["", "bool", "ARMExpandPseudo", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "ExpandMBB", "(", "*", "MFI", ")", ";", "if", "(", "VerifyARMPseudo", ")", "MF", ".", "verify", "(", "this", ",", "\"After expanding ARM pseudo instructions.\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "\"After expanding ARM pseudo instructions.\""], "File": "ARMExpandPseudoInsts (2)", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10540, "Length": 112} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"ARM pseudo instruction expansion pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM pseudo instruction expansion pass\""], "File": "ARMExpandPseudoInsts11", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10541, "Length": 13} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "ARM_EXPAND_PSEUDO_NAME", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMExpandPseudoInsts13", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10542, "Length": 11} {"ground_truth": ["", "bool", "ARMExpandPseudo", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM EXPAND PSEUDO INSTRUCTIONS **********\\n\"", "<<", "\"********** Function: \"", "<<", "MF", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "MF", ")", "Modified", "|=", "ExpandMBB", "(", "MBB", ")", ";", "if", "(", "VerifyARMPseudo", ")", "MF", ".", "verify", "(", "this", ",", "\"After expanding ARM pseudo instructions.\"", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"***************************************************\\n\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"********** ARM EXPAND PSEUDO INSTRUCTIONS **********\\n\"", "\"********** Function: \"", "ARM", "\"After expanding ARM pseudo instructions.\"", "\"***************************************************\\n\""], "File": "ARMExpandPseudoInsts13", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10543, "Length": 119} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM pseudo instruction expansion pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM pseudo instruction expansion pass\""], "File": "ARMExpandPseudoInsts18", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10544, "Length": 11} {"ground_truth": ["", "bool", "ARMExpandPseudo", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "MF", ")", "Modified", "|=", "ExpandMBB", "(", "MBB", ")", ";", "if", "(", "VerifyARMPseudo", ")", "MF", ".", "verify", "(", "this", ",", "\"After expanding ARM pseudo instructions.\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "\"After expanding ARM pseudo instructions.\""], "File": "ARMExpandPseudoInsts21", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10545, "Length": 91} {"ground_truth": ["", "bool", "ARMExpandPseudo", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "TII", "=", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "MF", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "ExpandMBB", "(", "*", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMExpandPseudoInsts25", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10546, "Length": 79} {"ground_truth": ["", "bool", "ARMExpandPseudo", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "MF", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "STI", "=", "&", "MF", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "ExpandMBB", "(", "*", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMExpandPseudoInsts34", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10547, "Length": 103} {"ground_truth": ["", "bool", "ARMExpandPseudo", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "STI", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "IsRelocPIC", "=", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "ExpandMBB", "(", "*", "MFI", ")", ";", "if", "(", "VerifyARMPseudo", ")", "MF", ".", "verify", "(", "this", ",", "\"After expanding ARM pseudo instructions.\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"After expanding ARM pseudo instructions.\""], "File": "ARMExpandPseudoInsts44", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10548, "Length": 142} {"ground_truth": ["", "bool", "ARMExpandPseudo", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "STI", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM EXPAND PSEUDO INSTRUCTIONS **********\\n\"", "<<", "\"********** Function: \"", "<<", "MF", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "MF", ")", "Modified", "|=", "ExpandMBB", "(", "MBB", ")", ";", "if", "(", "VerifyARMPseudo", ")", "MF", ".", "verify", "(", "this", ",", "\"After expanding ARM pseudo instructions.\"", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"***************************************************\\n\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"********** ARM EXPAND PSEUDO INSTRUCTIONS **********\\n\"", "\"********** Function: \"", "ARM", "\"After expanding ARM pseudo instructions.\"", "\"***************************************************\\n\""], "File": "ARMExpandPseudoInsts47", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10549, "Length": 114} {"ground_truth": ["", "bool", "ARMExpandPseudo", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "STI", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "ExpandMBB", "(", "*", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMExpandPseudoInsts5", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10550, "Length": 113} {"ground_truth": ["", "bool", "ARMExpandPseudo", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "TM", ".", "getSubtargetImpl", "(", ")", "->", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "TM", ".", "getSubtargetImpl", "(", ")", "->", "getRegisterInfo", "(", ")", ";", "STI", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "ExpandMBB", "(", "*", "MFI", ")", ";", "if", "(", "VerifyARMPseudo", ")", "MF", ".", "verify", "(", "this", ",", "\"After expanding ARM pseudo instructions.\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"After expanding ARM pseudo instructions.\""], "File": "ARMExpandPseudoInsts67", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10551, "Length": 134} {"ground_truth": ["", "bool", "ARMExpandPseudo", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "IsRelocPIC", "=", "MF", ".", "getTarget", "(", ")", ".", "getRelocationModel", "(", ")", "==", "Reloc", "::", "PIC_", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "ExpandMBB", "(", "*", "MFI", ")", ";", "if", "(", "VerifyARMPseudo", ")", "MF", ".", "verify", "(", "this", ",", "\"After expanding ARM pseudo instructions.\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "\"After expanding ARM pseudo instructions.\""], "File": "ARMExpandPseudoInsts78", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10552, "Length": 128} {"ground_truth": ["", "bool", "ARMExpandPseudo", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "TII", "=", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "ExpandMBB", "(", "*", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMExpandPseudoInsts79", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10553, "Length": 67} {"ground_truth": ["", "bool", "ARMExpandPseudo", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "STI", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "ExpandMBB", "(", "*", "MFI", ")", ";", "if", "(", "VerifyARMPseudo", ")", "MF", ".", "verify", "(", "this", ",", "\"After expanding ARM pseudo instructions.\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"After expanding ARM pseudo instructions.\""], "File": "ARMExpandPseudoInsts", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10554, "Length": 126} {"ground_truth": ["", "FastISel", "*", "ARM", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ",", "const", "TargetLibraryInfo", "*", "libInfo", ")", "{", "const", "TargetMachine", "&", "TM", "=", "funcInfo", ".", "MF", "->", "getTarget", "(", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "bool", "UseFastISel", "=", "false", ";", "UseFastISel", "|=", "Subtarget", "->", "isTargetIOS", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ";", "UseFastISel", "|=", "Subtarget", "->", "isTargetLinux", "(", ")", "&&", "!", "Subtarget", "->", "isThumb", "(", ")", ";", "UseFastISel", "|=", "Subtarget", "->", "isTargetNaCl", "(", ")", "&&", "!", "Subtarget", "->", "isThumb", "(", ")", ";", "if", "(", "UseFastISel", ")", "{", "TM", ".", "Options", ".", "NoFramePointerElim", "=", "true", ";", "return", "new", "ARMFastISel", "(", "funcInfo", ",", "libInfo", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM::createFastISel", "ARM", "ARM", "ARM", "0"], "File": "ARMFastISel (2)1", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10555, "Length": 121} {"ground_truth": ["", "CCAssignFn", "*", "ARMFastISel", "::", "CCAssignFnForCall", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "Return", ",", "bool", "isVarArg", ")", "{", "switch", "(", "CC", ")", "{", "default", ":", "report_fatal_error", "(", "\"Unsupported calling convention\"", ")", ";", "case", "CallingConv", "::", "Fast", ":", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "!", "isVarArg", ")", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "return", "(", "Return", "?", "RetFastCC_ARM_APCS", ":", "FastCC_ARM_APCS", ")", ";", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "}", "LLVM_FALLTHROUGH", ";", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "CXX_FAST_TLS", ":", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "TM", ".", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Hard", "&&", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "else", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "}", "else", "{", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "}", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "Swift", ":", "if", "(", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "LLVM_FALLTHROUGH", ";", "case", "CallingConv", "::", "ARM_AAPCS", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "case", "CallingConv", "::", "ARM_APCS", ":", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "GHC", ":", "if", "(", "Return", ")", "report_fatal_error", "(", "\"Can't return in GHC call convention\"", ")", ";", "else", "return", "CC_ARM_APCS_GHC", ";", "}", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM", "\"Unsupported calling convention\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"Can't return in GHC call convention\"", "ARM"], "File": "ARMFastISel (2)2", "Func": "CCAssignFnForCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10556, "Length": 223} {"ground_truth": ["", "FastISel", "*", "ARM", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ",", "const", "TargetLibraryInfo", "*", "libInfo", ")", "{", "if", "(", "funcInfo", ".", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "useFastISel", "(", ")", ")", "return", "new", "ARMFastISel", "(", "funcInfo", ",", "libInfo", ")", ";", "return", "nullptr", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM::createFastISel", "ARM", "ARM"], "File": "ARMFastISel (2)2", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10557, "Length": 46} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_i", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "uint64_t", "Imm", ")", "{", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addImm", "(", "Imm", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addImm", "(", "Imm", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "a", "single", "immediate", "operand", ",", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "0"], "File": "ARMFastISel (2)2", "Func": "fastEmitInst_i", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10558, "Length": 144} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_r", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Op0", ",", "bool", "Op0IsKill", ")", "{", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "Op0", "=", "constrainOperandRegClass", "(", "II", ",", "Op0", ",", "1", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addReg", "(", "Op0", ",", "Op0IsKill", "*", "RegState", "::", "Kill", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addReg", "(", "Op0", ",", "Op0IsKill", "*", "RegState", "::", "Kill", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "one", "register", "operand", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0"], "File": "ARMFastISel (2)2", "Func": "fastEmitInst_r", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10559, "Length": 170} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_ri", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Op0", ",", "bool", "Op0IsKill", ",", "uint64_t", "Imm", ")", "{", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "Op0", "=", "constrainOperandRegClass", "(", "II", ",", "Op0", ",", "1", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addReg", "(", "Op0", ",", "Op0IsKill", "*", "RegState", "::", "Kill", ")", ".", "addImm", "(", "Imm", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addReg", "(", "Op0", ",", "Op0IsKill", "*", "RegState", "::", "Kill", ")", ".", "addImm", "(", "Imm", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "a", "register", "operand", ",", "an", "immediate", ",", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0"], "File": "ARMFastISel (2)2", "Func": "fastEmitInst_ri", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10560, "Length": 183} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_rr", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Op0", ",", "bool", "Op0IsKill", ",", "unsigned", "Op1", ",", "bool", "Op1IsKill", ")", "{", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "Op0", "=", "constrainOperandRegClass", "(", "II", ",", "Op0", ",", "1", ")", ";", "Op1", "=", "constrainOperandRegClass", "(", "II", ",", "Op1", ",", "2", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addReg", "(", "Op0", ",", "Op0IsKill", "*", "RegState", "::", "Kill", ")", ".", "addReg", "(", "Op1", ",", "Op1IsKill", "*", "RegState", "::", "Kill", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addReg", "(", "Op0", ",", "Op0IsKill", "*", "RegState", "::", "Kill", ")", ".", "addReg", "(", "Op1", ",", "Op1IsKill", "*", "RegState", "::", "Kill", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "two", "register", "operands", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "2", "1", "0"], "File": "ARMFastISel (2)2", "Func": "fastEmitInst_rr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10561, "Length": 209} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastMaterializeAlloca", "(", "const", "AllocaInst", "*", "AI", ")", "{", "if", "(", "!", "FuncInfo", ".", "StaticAllocaMap", ".", "count", "(", "AI", ")", ")", "return", "0", ";", "MVT", "VT", ";", "if", "(", "!", "isLoadTypeLegal", "(", "AI", "->", "getType", "(", ")", ",", "VT", ")", ")", "return", "0", ";", "DenseMap", "<", "const", "AllocaInst", "*", ",", "int", ">", "::", "iterator", "SI", "=", "FuncInfo", ".", "StaticAllocaMap", ".", "find", "(", "AI", ")", ";", "if", "(", "SI", "!=", "FuncInfo", ".", "StaticAllocaMap", ".", "end", "(", ")", ")", "{", "unsigned", "Opc", "=", "isThumb2", "?", "ARM", "::", "t2ADDri", ":", "ARM", "::", "ADDri", ";", "const", "TargetRegisterClass", "*", "RC", "=", "TLI", ".", "getRegClassFor", "(", "VT", ")", ";", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "ResultReg", "=", "constrainOperandRegClass", "(", "TII", ".", "get", "(", "Opc", ")", ",", "ResultReg", ",", "0", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "Opc", ")", ",", "ResultReg", ")", ".", "addFrameIndex", "(", "SI", "->", "second", ")", ".", "addImm", "(", "0", ")", ")", ";", "return", "ResultReg", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Emit", "an", "alloca", "address", "in", "a", "register", "using", "target-specific", "logic", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "ARM::t2ADDri", "ARM::ADDri", "0", "0", "0"], "File": "ARMFastISel (2)2", "Func": "fastMaterializeAlloca", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10562, "Length": 175} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastMaterializeConstant", "(", "const", "Constant", "*", "C", ")", "{", "EVT", "CEVT", "=", "TLI", ".", "getValueType", "(", "DL", ",", "C", "->", "getType", "(", ")", ",", "true", ")", ";", "if", "(", "!", "CEVT", ".", "isSimple", "(", ")", ")", "return", "0", ";", "MVT", "VT", "=", "CEVT", ".", "getSimpleVT", "(", ")", ";", "if", "(", "const", "ConstantFP", "*", "CFP", "=", "dyn_cast", "<", "ConstantFP", ">", "(", "C", ")", ")", "return", "ARMMaterializeFP", "(", "CFP", ",", "VT", ")", ";", "else", "if", "(", "const", "GlobalValue", "*", "GV", "=", "dyn_cast", "<", "GlobalValue", ">", "(", "C", ")", ")", "return", "ARMMaterializeGV", "(", "GV", ",", "VT", ")", ";", "else", "if", "(", "isa", "<", "ConstantInt", ">", "(", "C", ")", ")", "return", "ARMMaterializeInt", "(", "C", ",", "VT", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["Emit", "a", "constant", "in", "a", "register", "using", "target-specific", "logic", ",", "such", "as", "constant", "pool", "loads", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM", "ARM", "ARM", "0"], "File": "ARMFastISel (2)2", "Func": "fastMaterializeConstant", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10563, "Length": 120} {"ground_truth": ["", "bool", "ARMFastISel", "::", "isTypeLegal", "(", "Type", "*", "Ty", ",", "MVT", "&", "VT", ")", "{", "EVT", "evt", "=", "TLI", ".", "getValueType", "(", "DL", ",", "Ty", ",", "true", ")", ";", "if", "(", "evt", "==", "MVT", "::", "Other", "||", "!", "evt", ".", "isSimple", "(", ")", ")", "return", "false", ";", "VT", "=", "evt", ".", "getSimpleVT", "(", ")", ";", "return", "TLI", ".", "isTypeLegal", "(", "VT", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "this", "type", "is", "legal", "."], "TS_V_token": ["ARM", "ARM", "MVT::Other"], "File": "ARMFastISel (2)2", "Func": "isTypeLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10564, "Length": 63} {"ground_truth": ["", "CCAssignFn", "*", "ARMFastISel", "::", "CCAssignFnForCall", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "Return", ",", "bool", "isVarArg", ")", "{", "switch", "(", "CC", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unsupported calling convention\"", ")", ";", "case", "CallingConv", "::", "Fast", ":", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "!", "isVarArg", ")", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "return", "(", "Return", "?", "RetFastCC_ARM_APCS", ":", "FastCC_ARM_APCS", ")", ";", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "}", "LLVM_FALLTHROUGH", ";", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "CXX_FAST_TLS", ":", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "TM", ".", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Hard", "&&", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "else", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "}", "else", "{", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "}", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "Swift", ":", "if", "(", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "LLVM_FALLTHROUGH", ";", "case", "CallingConv", "::", "ARM_AAPCS", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "case", "CallingConv", "::", "ARM_APCS", ":", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "GHC", ":", "if", "(", "Return", ")", "llvm_unreachable", "(", "\"Can't return in GHC call convention\"", ")", ";", "else", "return", "CC_ARM_APCS_GHC", ";", "}", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM", "\"Unsupported calling convention\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"Can't return in GHC call convention\"", "ARM"], "File": "ARMFastISel (2)3", "Func": "CCAssignFnForCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10565, "Length": 223} {"ground_truth": ["", "bool", "ARMFastISel", "::", "fastLowerArguments", "(", ")", "{", "if", "(", "!", "FuncInfo", ".", "CanLowerReturn", ")", "return", "false", ";", "const", "Function", "*", "F", "=", "FuncInfo", ".", "Fn", ";", "if", "(", "F", "->", "isVarArg", "(", ")", ")", "return", "false", ";", "CallingConv", "::", "ID", "CC", "=", "F", "->", "getCallingConv", "(", ")", ";", "switch", "(", "CC", ")", "{", "default", ":", "return", "false", ";", "case", "CallingConv", "::", "Fast", ":", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "ARM_AAPCS", ":", "case", "CallingConv", "::", "ARM_APCS", ":", "case", "CallingConv", "::", "Swift", ":", "break", ";", "}", "for", "(", "const", "Argument", "&", "Arg", ":", "F", "->", "args", "(", ")", ")", "{", "if", "(", "Arg", ".", "getArgNo", "(", ")", ">=", "4", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasAttribute", "(", "Attribute", "::", "InReg", ")", "||", "Arg", ".", "hasAttribute", "(", "Attribute", "::", "StructRet", ")", "||", "Arg", ".", "hasAttribute", "(", "Attribute", "::", "SwiftSelf", ")", "||", "Arg", ".", "hasAttribute", "(", "Attribute", "::", "SwiftError", ")", "||", "Arg", ".", "hasAttribute", "(", "Attribute", "::", "ByVal", ")", ")", "return", "false", ";", "Type", "*", "ArgTy", "=", "Arg", ".", "getType", "(", ")", ";", "if", "(", "ArgTy", "->", "isStructTy", "(", ")", "||", "ArgTy", "->", "isArrayTy", "(", ")", "||", "ArgTy", "->", "isVectorTy", "(", ")", ")", "return", "false", ";", "EVT", "ArgVT", "=", "TLI", ".", "getValueType", "(", "DL", ",", "ArgTy", ")", ";", "if", "(", "!", "ArgVT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "switch", "(", "ArgVT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i32", ":", "break", ";", "default", ":", "return", "false", ";", "}", "}", "static", "const", "MCPhysReg", "GPRArgRegs", "[", "]", "=", "{", "ARM", "::", "R0", ",", "ARM", "::", "R1", ",", "ARM", "::", "R2", ",", "ARM", "::", "R3", "}", ";", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "rGPRRegClass", ";", "for", "(", "const", "Argument", "&", "Arg", ":", "F", "->", "args", "(", ")", ")", "{", "unsigned", "ArgNo", "=", "Arg", ".", "getArgNo", "(", ")", ";", "unsigned", "SrcReg", "=", "GPRArgRegs", "[", "ArgNo", "]", ";", "unsigned", "DstReg", "=", "FuncInfo", ".", "MF", "->", "addLiveIn", "(", "SrcReg", ",", "RC", ")", ";", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "DstReg", ",", "getKillRegState", "(", "true", ")", ")", ";", "updateValueMap", "(", "&", "Arg", ",", "ResultReg", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "by", "target-independent", "code", "to", "do", "target-", "specific", "argument", "lowering", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "4", "MVT::i8", "MVT::i16", "MVT::i32", "ARM::R0", "ARM::R1", "ARM::R2", "ARM::R3", "ARM::rGPRRegClass"], "File": "ARMFastISel (2)3", "Func": "fastLowerArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10566, "Length": 396} {"ground_truth": ["", "CCAssignFn", "*", "ARMFastISel", "::", "CCAssignFnForCall", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "Return", ",", "bool", "isVarArg", ")", "{", "switch", "(", "CC", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unsupported calling convention\"", ")", ";", "case", "CallingConv", "::", "Fast", ":", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "!", "isVarArg", ")", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "return", "(", "Return", "?", "RetFastCC_ARM_APCS", ":", "FastCC_ARM_APCS", ")", ";", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "}", "case", "CallingConv", "::", "C", ":", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "TM", ".", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Hard", "&&", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "else", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "}", "else", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "if", "(", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "case", "CallingConv", "::", "ARM_AAPCS", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "case", "CallingConv", "::", "ARM_APCS", ":", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "GHC", ":", "if", "(", "Return", ")", "llvm_unreachable", "(", "\"Can't return in GHC call convention\"", ")", ";", "else", "return", "CC_ARM_APCS_GHC", ";", "}", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM", "\"Unsupported calling convention\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"Can't return in GHC call convention\"", "ARM"], "File": "ARMFastISel (2)", "Func": "CCAssignFnForCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10567, "Length": 207} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "constrainOperandRegClass", "(", "const", "MCInstrDesc", "&", "II", ",", "unsigned", "Op", ",", "unsigned", "OpNum", ")", "{", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "Op", ")", ")", "{", "const", "TargetRegisterClass", "*", "RegClass", "=", "TII", ".", "getRegClass", "(", "II", ",", "OpNum", ",", "&", "TRI", ",", "*", "FuncInfo", ".", "MF", ")", ";", "if", "(", "!", "MRI", ".", "constrainRegClass", "(", "Op", ",", "RegClass", ")", ")", "{", "unsigned", "NewOp", "=", "createResultReg", "(", "RegClass", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "NewOp", ")", ".", "addReg", "(", "Op", ")", ")", ";", "return", "NewOp", ";", "}", "}", "return", "Op", ";", "}", ""], "natrual_language": ["Try", "to", "constrain", "Op", "so", "that", "it", "is", "usable", "by", "argument", "OpNum", "of", "the", "provided", "MCInstrDesc", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFastISel (2)", "Func": "constrainOperandRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10568, "Length": 112} {"ground_truth": ["", "FastISel", "*", "ARM", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ",", "const", "TargetLibraryInfo", "*", "libInfo", ")", "{", "const", "TargetMachine", "&", "TM", "=", "funcInfo", ".", "MF", "->", "getTarget", "(", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "bool", "UseFastISel", "=", "false", ";", "UseFastISel", "|=", "Subtarget", "->", "isTargetMachO", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ";", "UseFastISel", "|=", "Subtarget", "->", "isTargetLinux", "(", ")", "&&", "!", "Subtarget", "->", "isThumb", "(", ")", ";", "UseFastISel", "|=", "Subtarget", "->", "isTargetNaCl", "(", ")", "&&", "!", "Subtarget", "->", "isThumb", "(", ")", ";", "if", "(", "UseFastISel", ")", "{", "TM", ".", "Options", ".", "NoFramePointerElim", "=", "true", ";", "return", "new", "ARMFastISel", "(", "funcInfo", ",", "libInfo", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM::createFastISel", "ARM", "ARM", "ARM", "0"], "File": "ARMFastISel (2)", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10569, "Length": 121} {"ground_truth": ["", "bool", "ARMFastISel", "::", "isTypeLegal", "(", "Type", "*", "Ty", ",", "MVT", "&", "VT", ")", "{", "EVT", "evt", "=", "TLI", ".", "getValueType", "(", "Ty", ",", "true", ")", ";", "if", "(", "evt", "==", "MVT", "::", "Other", "||", "!", "evt", ".", "isSimple", "(", ")", ")", "return", "false", ";", "VT", "=", "evt", ".", "getSimpleVT", "(", ")", ";", "return", "TLI", ".", "isTypeLegal", "(", "VT", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "this", "type", "is", "legal", "."], "TS_V_token": ["ARM", "ARM", "MVT::Other"], "File": "ARMFastISel (2)", "Func": "isTypeLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10570, "Length": 61} {"ground_truth": ["", "CCAssignFn", "*", "ARMFastISel", "::", "CCAssignFnForCall", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "Return", ",", "bool", "isVarArg", ")", "{", "switch", "(", "CC", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unsupported calling convention\"", ")", ";", "case", "CallingConv", "::", "Fast", ":", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "!", "isVarArg", ")", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "return", "(", "Return", "?", "RetFastCC_ARM_APCS", ":", "FastCC_ARM_APCS", ")", ";", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "}", "case", "CallingConv", "::", "C", ":", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "TM", ".", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Hard", "&&", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "else", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "}", "else", "{", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "}", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "if", "(", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "case", "CallingConv", "::", "ARM_AAPCS", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "case", "CallingConv", "::", "ARM_APCS", ":", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "GHC", ":", "if", "(", "Return", ")", "llvm_unreachable", "(", "\"Can't return in GHC call convention\"", ")", ";", "else", "return", "CC_ARM_APCS_GHC", ";", "}", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM", "\"Unsupported calling convention\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"Can't return in GHC call convention\"", "ARM"], "File": "ARMFastISel (3)", "Func": "CCAssignFnForCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10571, "Length": 209} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_rri", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Op0", ",", "bool", "Op0IsKill", ",", "unsigned", "Op1", ",", "bool", "Op1IsKill", ",", "uint64_t", "Imm", ")", "{", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "Op0", "=", "constrainOperandRegClass", "(", "II", ",", "Op0", ",", "1", ")", ";", "Op1", "=", "constrainOperandRegClass", "(", "II", ",", "Op1", ",", "2", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addReg", "(", "Op0", ",", "Op0IsKill", "*", "RegState", "::", "Kill", ")", ".", "addReg", "(", "Op1", ",", "Op1IsKill", "*", "RegState", "::", "Kill", ")", ".", "addImm", "(", "Imm", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addReg", "(", "Op0", ",", "Op0IsKill", "*", "RegState", "::", "Kill", ")", ".", "addReg", "(", "Op1", ",", "Op1IsKill", "*", "RegState", "::", "Kill", ")", ".", "addImm", "(", "Imm", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "two", "register", "operands", ",", "an", "immediate", ",", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "2", "1", "0"], "File": "ARMFastISel (3)", "Func": "fastEmitInst_rri", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10572, "Length": 222} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_rrr", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Op0", ",", "bool", "Op0IsKill", ",", "unsigned", "Op1", ",", "bool", "Op1IsKill", ",", "unsigned", "Op2", ",", "bool", "Op2IsKill", ")", "{", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "Op0", "=", "constrainOperandRegClass", "(", "II", ",", "Op0", ",", "1", ")", ";", "Op1", "=", "constrainOperandRegClass", "(", "II", ",", "Op1", ",", "2", ")", ";", "Op2", "=", "constrainOperandRegClass", "(", "II", ",", "Op1", ",", "3", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addReg", "(", "Op0", ",", "Op0IsKill", "*", "RegState", "::", "Kill", ")", ".", "addReg", "(", "Op1", ",", "Op1IsKill", "*", "RegState", "::", "Kill", ")", ".", "addReg", "(", "Op2", ",", "Op2IsKill", "*", "RegState", "::", "Kill", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addReg", "(", "Op0", ",", "Op0IsKill", "*", "RegState", "::", "Kill", ")", ".", "addReg", "(", "Op1", ",", "Op1IsKill", "*", "RegState", "::", "Kill", ")", ".", "addReg", "(", "Op2", ",", "Op2IsKill", "*", "RegState", "::", "Kill", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "three", "register", "operands", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "2", "3", "1", "0"], "File": "ARMFastISel (3)", "Func": "fastEmitInst_rrr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10573, "Length": 248} {"ground_truth": ["", "bool", "ARMFastISel", "::", "fastLowerArguments", "(", ")", "{", "if", "(", "!", "FuncInfo", ".", "CanLowerReturn", ")", "return", "false", ";", "const", "Function", "*", "F", "=", "FuncInfo", ".", "Fn", ";", "if", "(", "F", "->", "isVarArg", "(", ")", ")", "return", "false", ";", "CallingConv", "::", "ID", "CC", "=", "F", "->", "getCallingConv", "(", ")", ";", "switch", "(", "CC", ")", "{", "default", ":", "return", "false", ";", "case", "CallingConv", "::", "Fast", ":", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "ARM_AAPCS", ":", "case", "CallingConv", "::", "ARM_APCS", ":", "break", ";", "}", "unsigned", "Idx", "=", "1", ";", "for", "(", "Function", "::", "const_arg_iterator", "I", "=", "F", "->", "arg_begin", "(", ")", ",", "E", "=", "F", "->", "arg_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ",", "++", "Idx", ")", "{", "if", "(", "Idx", ">", "4", ")", "return", "false", ";", "if", "(", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "InReg", ")", "||", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "StructRet", ")", "||", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "ByVal", ")", ")", "return", "false", ";", "Type", "*", "ArgTy", "=", "I", "->", "getType", "(", ")", ";", "if", "(", "ArgTy", "->", "isStructTy", "(", ")", "||", "ArgTy", "->", "isArrayTy", "(", ")", "||", "ArgTy", "->", "isVectorTy", "(", ")", ")", "return", "false", ";", "EVT", "ArgVT", "=", "TLI", ".", "getValueType", "(", "DL", ",", "ArgTy", ")", ";", "if", "(", "!", "ArgVT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "switch", "(", "ArgVT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i32", ":", "break", ";", "default", ":", "return", "false", ";", "}", "}", "static", "const", "MCPhysReg", "GPRArgRegs", "[", "]", "=", "{", "ARM", "::", "R0", ",", "ARM", "::", "R1", ",", "ARM", "::", "R2", ",", "ARM", "::", "R3", "}", ";", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "rGPRRegClass", ";", "Idx", "=", "0", ";", "for", "(", "Function", "::", "const_arg_iterator", "I", "=", "F", "->", "arg_begin", "(", ")", ",", "E", "=", "F", "->", "arg_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ",", "++", "Idx", ")", "{", "unsigned", "SrcReg", "=", "GPRArgRegs", "[", "Idx", "]", ";", "unsigned", "DstReg", "=", "FuncInfo", ".", "MF", "->", "addLiveIn", "(", "SrcReg", ",", "RC", ")", ";", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "DstReg", ",", "getKillRegState", "(", "true", ")", ")", ";", "updateValueMap", "(", "&", "*", "I", ",", "ResultReg", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "by", "target-independent", "code", "to", "do", "target-", "specific", "argument", "lowering", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "1", "4", "MVT::i8", "MVT::i16", "MVT::i32", "ARM::R0", "ARM::R1", "ARM::R2", "ARM::R3", "ARM::rGPRRegClass", "0"], "File": "ARMFastISel (3)", "Func": "fastLowerArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10574, "Length": 424} {"ground_truth": ["", "CCAssignFn", "*", "ARMFastISel", "::", "CCAssignFnForCall", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "Return", ",", "bool", "isVarArg", ")", "{", "switch", "(", "CC", ")", "{", "default", ":", "report_fatal_error", "(", "\"Unsupported calling convention\"", ")", ";", "case", "CallingConv", "::", "Fast", ":", "if", "(", "Subtarget", "->", "hasVFP2Base", "(", ")", "&&", "!", "isVarArg", ")", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "return", "(", "Return", "?", "RetFastCC_ARM_APCS", ":", "FastCC_ARM_APCS", ")", ";", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "}", "LLVM_FALLTHROUGH", ";", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "CXX_FAST_TLS", ":", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "hasVFP2Base", "(", ")", "&&", "TM", ".", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Hard", "&&", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "else", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "}", "else", "{", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "}", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "Swift", ":", "if", "(", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "LLVM_FALLTHROUGH", ";", "case", "CallingConv", "::", "ARM_AAPCS", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "case", "CallingConv", "::", "ARM_APCS", ":", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "GHC", ":", "if", "(", "Return", ")", "report_fatal_error", "(", "\"Can't return in GHC call convention\"", ")", ";", "else", "return", "CC_ARM_APCS_GHC", ";", "case", "CallingConv", "::", "CFGuard_Check", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_Win32_CFGuard_Check", ")", ";", "}", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM", "\"Unsupported calling convention\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"Can't return in GHC call convention\"", "ARM", "ARM", "ARM"], "File": "ARMFastISel11", "Func": "CCAssignFnForCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10575, "Length": 237} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_r", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Op0", ",", "bool", "Op0IsKill", ")", "{", "Register", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "Op0", "=", "constrainOperandRegClass", "(", "II", ",", "Op0", ",", "1", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addReg", "(", "Op0", ",", "Op0IsKill", "*", "RegState", "::", "Kill", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addReg", "(", "Op0", ",", "Op0IsKill", "*", "RegState", "::", "Kill", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "one", "register", "operand", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0"], "File": "ARMFastISel11", "Func": "fastEmitInst_r", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10576, "Length": 170} {"ground_truth": ["", "bool", "ARMFastISel", "::", "fastLowerArguments", "(", ")", "{", "if", "(", "!", "FuncInfo", ".", "CanLowerReturn", ")", "return", "false", ";", "const", "Function", "*", "F", "=", "FuncInfo", ".", "Fn", ";", "if", "(", "F", "->", "isVarArg", "(", ")", ")", "return", "false", ";", "CallingConv", "::", "ID", "CC", "=", "F", "->", "getCallingConv", "(", ")", ";", "switch", "(", "CC", ")", "{", "default", ":", "return", "false", ";", "case", "CallingConv", "::", "Fast", ":", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "ARM_AAPCS", ":", "case", "CallingConv", "::", "ARM_APCS", ":", "break", ";", "}", "unsigned", "Idx", "=", "1", ";", "for", "(", "Function", "::", "const_arg_iterator", "I", "=", "F", "->", "arg_begin", "(", ")", ",", "E", "=", "F", "->", "arg_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ",", "++", "Idx", ")", "{", "if", "(", "Idx", ">", "4", ")", "return", "false", ";", "if", "(", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "InReg", ")", "||", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "StructRet", ")", "||", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "ByVal", ")", ")", "return", "false", ";", "Type", "*", "ArgTy", "=", "I", "->", "getType", "(", ")", ";", "if", "(", "ArgTy", "->", "isStructTy", "(", ")", "||", "ArgTy", "->", "isArrayTy", "(", ")", "||", "ArgTy", "->", "isVectorTy", "(", ")", ")", "return", "false", ";", "EVT", "ArgVT", "=", "TLI", ".", "getValueType", "(", "DL", ",", "ArgTy", ")", ";", "if", "(", "!", "ArgVT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "switch", "(", "ArgVT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i32", ":", "break", ";", "default", ":", "return", "false", ";", "}", "}", "static", "const", "uint16_t", "GPRArgRegs", "[", "]", "=", "{", "ARM", "::", "R0", ",", "ARM", "::", "R1", ",", "ARM", "::", "R2", ",", "ARM", "::", "R3", "}", ";", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "rGPRRegClass", ";", "Idx", "=", "0", ";", "for", "(", "Function", "::", "const_arg_iterator", "I", "=", "F", "->", "arg_begin", "(", ")", ",", "E", "=", "F", "->", "arg_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ",", "++", "Idx", ")", "{", "unsigned", "SrcReg", "=", "GPRArgRegs", "[", "Idx", "]", ";", "unsigned", "DstReg", "=", "FuncInfo", ".", "MF", "->", "addLiveIn", "(", "SrcReg", ",", "RC", ")", ";", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "DstReg", ",", "getKillRegState", "(", "true", ")", ")", ";", "updateValueMap", "(", "&", "*", "I", ",", "ResultReg", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "by", "target-independent", "code", "to", "do", "target-", "specific", "argument", "lowering", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "1", "4", "MVT::i8", "MVT::i16", "MVT::i32", "ARM::R0", "ARM::R1", "ARM::R2", "ARM::R3", "ARM::rGPRRegClass", "0"], "File": "ARMFastISel13", "Func": "fastLowerArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10577, "Length": 424} {"ground_truth": ["", "FastISel", "*", "ARM", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ",", "const", "TargetLibraryInfo", "*", "libInfo", ")", "{", "const", "TargetMachine", "&", "TM", "=", "funcInfo", ".", "MF", "->", "getTarget", "(", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "Subtarget", "->", "isTargetIOS", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "new", "ARMFastISel", "(", "funcInfo", ",", "libInfo", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM::createFastISel", "ARM", "ARM", "ARM", "0"], "File": "ARMFastISel15", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10578, "Length": 72} {"ground_truth": ["", "FastISel", "*", "ARM", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ",", "const", "TargetLibraryInfo", "*", "libInfo", ")", "{", "const", "TargetMachine", "&", "TM", "=", "funcInfo", ".", "MF", "->", "getTarget", "(", ")", ";", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "funcInfo", ".", "MF", "->", "getSubtarget", "(", ")", ")", ";", "bool", "UseFastISel", "=", "false", ";", "UseFastISel", "|=", "STI", ".", "isTargetMachO", "(", ")", "&&", "!", "STI", ".", "isThumb1Only", "(", ")", ";", "UseFastISel", "|=", "STI", ".", "isTargetLinux", "(", ")", "&&", "!", "STI", ".", "isThumb", "(", ")", ";", "UseFastISel", "|=", "STI", ".", "isTargetNaCl", "(", ")", "&&", "!", "STI", ".", "isThumb", "(", ")", ";", "if", "(", "UseFastISel", ")", "{", "TM", ".", "Options", ".", "NoFramePointerElim", "=", "true", ";", "return", "new", "ARMFastISel", "(", "funcInfo", ",", "libInfo", ")", ";", "}", "return", "nullptr", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM::createFastISel", "ARM", "ARM", "ARM"], "File": "ARMFastISel17", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10579, "Length": 127} {"ground_truth": ["", "bool", "ARMFastISel", "::", "fastLowerArguments", "(", ")", "{", "if", "(", "!", "FuncInfo", ".", "CanLowerReturn", ")", "return", "false", ";", "const", "Function", "*", "F", "=", "FuncInfo", ".", "Fn", ";", "if", "(", "F", "->", "isVarArg", "(", ")", ")", "return", "false", ";", "CallingConv", "::", "ID", "CC", "=", "F", "->", "getCallingConv", "(", ")", ";", "switch", "(", "CC", ")", "{", "default", ":", "return", "false", ";", "case", "CallingConv", "::", "Fast", ":", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "ARM_AAPCS", ":", "case", "CallingConv", "::", "ARM_APCS", ":", "break", ";", "}", "unsigned", "Idx", "=", "1", ";", "for", "(", "Function", "::", "const_arg_iterator", "I", "=", "F", "->", "arg_begin", "(", ")", ",", "E", "=", "F", "->", "arg_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ",", "++", "Idx", ")", "{", "if", "(", "Idx", ">", "4", ")", "return", "false", ";", "if", "(", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "InReg", ")", "||", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "StructRet", ")", "||", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "ByVal", ")", ")", "return", "false", ";", "Type", "*", "ArgTy", "=", "I", "->", "getType", "(", ")", ";", "if", "(", "ArgTy", "->", "isStructTy", "(", ")", "||", "ArgTy", "->", "isArrayTy", "(", ")", "||", "ArgTy", "->", "isVectorTy", "(", ")", ")", "return", "false", ";", "EVT", "ArgVT", "=", "TLI", ".", "getValueType", "(", "ArgTy", ")", ";", "if", "(", "!", "ArgVT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "switch", "(", "ArgVT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i32", ":", "break", ";", "default", ":", "return", "false", ";", "}", "}", "static", "const", "uint16_t", "GPRArgRegs", "[", "]", "=", "{", "ARM", "::", "R0", ",", "ARM", "::", "R1", ",", "ARM", "::", "R2", ",", "ARM", "::", "R3", "}", ";", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "rGPRRegClass", ";", "Idx", "=", "0", ";", "for", "(", "Function", "::", "const_arg_iterator", "I", "=", "F", "->", "arg_begin", "(", ")", ",", "E", "=", "F", "->", "arg_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ",", "++", "Idx", ")", "{", "unsigned", "SrcReg", "=", "GPRArgRegs", "[", "Idx", "]", ";", "unsigned", "DstReg", "=", "FuncInfo", ".", "MF", "->", "addLiveIn", "(", "SrcReg", ",", "RC", ")", ";", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "DstReg", ",", "getKillRegState", "(", "true", ")", ")", ";", "updateValueMap", "(", "I", ",", "ResultReg", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "by", "target-independent", "code", "to", "do", "target-", "specific", "argument", "lowering", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "1", "4", "MVT::i8", "MVT::i16", "MVT::i32", "ARM::R0", "ARM::R1", "ARM::R2", "ARM::R3", "ARM::rGPRRegClass", "0"], "File": "ARMFastISel17", "Func": "fastLowerArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10580, "Length": 420} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastMaterializeConstant", "(", "const", "Constant", "*", "C", ")", "{", "EVT", "CEVT", "=", "TLI", ".", "getValueType", "(", "C", "->", "getType", "(", ")", ",", "true", ")", ";", "if", "(", "!", "CEVT", ".", "isSimple", "(", ")", ")", "return", "0", ";", "MVT", "VT", "=", "CEVT", ".", "getSimpleVT", "(", ")", ";", "if", "(", "const", "ConstantFP", "*", "CFP", "=", "dyn_cast", "<", "ConstantFP", ">", "(", "C", ")", ")", "return", "ARMMaterializeFP", "(", "CFP", ",", "VT", ")", ";", "else", "if", "(", "const", "GlobalValue", "*", "GV", "=", "dyn_cast", "<", "GlobalValue", ">", "(", "C", ")", ")", "return", "ARMMaterializeGV", "(", "GV", ",", "VT", ")", ";", "else", "if", "(", "isa", "<", "ConstantInt", ">", "(", "C", ")", ")", "return", "ARMMaterializeInt", "(", "C", ",", "VT", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["Emit", "a", "constant", "in", "a", "register", "using", "target-specific", "logic", ",", "such", "as", "constant", "pool", "loads", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM", "ARM", "ARM", "0"], "File": "ARMFastISel17", "Func": "fastMaterializeConstant", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10581, "Length": 118} {"ground_truth": ["", "CCAssignFn", "*", "ARMFastISel", "::", "CCAssignFnForCall", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "Return", ",", "bool", "isVarArg", ")", "{", "switch", "(", "CC", ")", "{", "default", ":", "report_fatal_error", "(", "\"Unsupported calling convention\"", ")", ";", "case", "CallingConv", "::", "Fast", ":", "if", "(", "Subtarget", "->", "hasVFP2Base", "(", ")", "&&", "!", "isVarArg", ")", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "return", "(", "Return", "?", "RetFastCC_ARM_APCS", ":", "FastCC_ARM_APCS", ")", ";", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "}", "LLVM_FALLTHROUGH", ";", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "CXX_FAST_TLS", ":", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "hasVFP2Base", "(", ")", "&&", "TM", ".", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Hard", "&&", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "else", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "}", "else", "{", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "}", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "Swift", ":", "if", "(", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "LLVM_FALLTHROUGH", ";", "case", "CallingConv", "::", "ARM_AAPCS", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "case", "CallingConv", "::", "ARM_APCS", ":", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "GHC", ":", "if", "(", "Return", ")", "report_fatal_error", "(", "\"Can't return in GHC call convention\"", ")", ";", "else", "return", "CC_ARM_APCS_GHC", ";", "}", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM", "\"Unsupported calling convention\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"Can't return in GHC call convention\"", "ARM"], "File": "ARMFastISel19", "Func": "CCAssignFnForCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10582, "Length": 223} {"ground_truth": ["", "llvm", "::", "FastISel", "*", "ARM", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ")", "{", "if", "(", "EnableARMFastISel", ")", "return", "new", "ARMFastISel", "(", "funcInfo", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM::createFastISel", "ARM", "ARM", "0"], "File": "ARMFastISel23", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10583, "Length": 28} {"ground_truth": ["", "bool", "ARMFastISel", "::", "isTypeLegal", "(", "const", "Type", "*", "Ty", ",", "EVT", "&", "VT", ")", "{", "VT", "=", "TLI", ".", "getValueType", "(", "Ty", ",", "true", ")", ";", "if", "(", "VT", "==", "MVT", "::", "Other", "||", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "return", "TLI", ".", "isTypeLegal", "(", "VT", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "this", "type", "is", "legal", "."], "TS_V_token": ["ARM", "ARM", "MVT::Other"], "File": "ARMFastISel23", "Func": "isTypeLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10584, "Length": 53} {"ground_truth": ["", "CCAssignFn", "*", "ARMFastISel", "::", "CCAssignFnForCall", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "Return", ",", "bool", "isVarArg", ")", "{", "switch", "(", "CC", ")", "{", "default", ":", "report_fatal_error", "(", "\"Unsupported calling convention\"", ")", ";", "case", "CallingConv", "::", "Fast", ":", "if", "(", "Subtarget", "->", "hasVFP2Base", "(", ")", "&&", "!", "isVarArg", ")", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "return", "(", "Return", "?", "RetFastCC_ARM_APCS", ":", "FastCC_ARM_APCS", ")", ";", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "}", "LLVM_FALLTHROUGH", ";", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "CXX_FAST_TLS", ":", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "hasVFP2Base", "(", ")", "&&", "TM", ".", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Hard", "&&", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "else", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "}", "else", "{", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "}", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "Swift", ":", "case", "CallingConv", "::", "SwiftTail", ":", "if", "(", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "LLVM_FALLTHROUGH", ";", "case", "CallingConv", "::", "ARM_AAPCS", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "case", "CallingConv", "::", "ARM_APCS", ":", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "GHC", ":", "if", "(", "Return", ")", "report_fatal_error", "(", "\"Can't return in GHC call convention\"", ")", ";", "else", "return", "CC_ARM_APCS_GHC", ";", "case", "CallingConv", "::", "CFGuard_Check", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_Win32_CFGuard_Check", ")", ";", "}", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM", "\"Unsupported calling convention\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"Can't return in GHC call convention\"", "ARM", "ARM", "ARM"], "File": "ARMFastISel24", "Func": "CCAssignFnForCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10585, "Length": 242} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_r", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Op0", ")", "{", "Register", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "Op0", "=", "constrainOperandRegClass", "(", "II", ",", "Op0", ",", "1", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addReg", "(", "Op0", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addReg", "(", "Op0", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "one", "register", "operand", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0"], "File": "ARMFastISel24", "Func": "fastEmitInst_r", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10586, "Length": 155} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_ri", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Op0", ",", "uint64_t", "Imm", ")", "{", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "Op0", "=", "constrainOperandRegClass", "(", "II", ",", "Op0", ",", "1", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addReg", "(", "Op0", ")", ".", "addImm", "(", "Imm", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addReg", "(", "Op0", ")", ".", "addImm", "(", "Imm", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "a", "register", "operand", ",", "an", "immediate", ",", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0"], "File": "ARMFastISel24", "Func": "fastEmitInst_ri", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10587, "Length": 168} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_rr", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Op0", ",", "unsigned", "Op1", ")", "{", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "Op0", "=", "constrainOperandRegClass", "(", "II", ",", "Op0", ",", "1", ")", ";", "Op1", "=", "constrainOperandRegClass", "(", "II", ",", "Op1", ",", "2", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addReg", "(", "Op0", ")", ".", "addReg", "(", "Op1", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addReg", "(", "Op0", ")", ".", "addReg", "(", "Op1", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "two", "register", "operands", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "2", "1", "0"], "File": "ARMFastISel24", "Func": "fastEmitInst_rr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10588, "Length": 179} {"ground_truth": ["", "CCAssignFn", "*", "ARMFastISel", "::", "CCAssignFnForCall", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "Return", ")", "{", "switch", "(", "CC", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unsupported calling convention\"", ")", ";", "case", "CallingConv", "::", "Fast", ":", "(", "void", ")", "RetFastCC_ARM_APCS", ";", "(", "void", ")", "FastCC_ARM_APCS", ";", "case", "CallingConv", "::", "C", ":", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "FloatABIType", "==", "FloatABI", "::", "Hard", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "else", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "}", "else", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "case", "CallingConv", "::", "ARM_AAPCS", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "case", "CallingConv", "::", "ARM_APCS", ":", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "}", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM", "\"Unsupported calling convention\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMFastISel26", "Func": "CCAssignFnForCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10589, "Length": 144} {"ground_truth": ["", "llvm", "::", "FastISel", "*", "ARM", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ")", "{", "const", "TargetMachine", "&", "TM", "=", "funcInfo", ".", "MF", "->", "getTarget", "(", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "Subtarget", "->", "isTargetDarwin", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", "&&", "!", "DisableARMFastISel", ")", "return", "new", "ARMFastISel", "(", "funcInfo", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM::createFastISel", "ARM", "ARM", "ARM", "ARM", "0"], "File": "ARMFastISel26", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10590, "Length": 70} {"ground_truth": ["", "bool", "ARMFastISel", "::", "isTypeLegal", "(", "const", "Type", "*", "Ty", ",", "MVT", "&", "VT", ")", "{", "EVT", "evt", "=", "TLI", ".", "getValueType", "(", "Ty", ",", "true", ")", ";", "if", "(", "evt", "==", "MVT", "::", "Other", "||", "!", "evt", ".", "isSimple", "(", ")", ")", "return", "false", ";", "VT", "=", "evt", ".", "getSimpleVT", "(", ")", ";", "return", "TLI", ".", "isTypeLegal", "(", "VT", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "this", "type", "is", "legal", "."], "TS_V_token": ["ARM", "ARM", "MVT::Other"], "File": "ARMFastISel26", "Func": "isTypeLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10591, "Length": 62} {"ground_truth": ["", "CCAssignFn", "*", "ARMFastISel", "::", "CCAssignFnForCall", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "Return", ")", "{", "switch", "(", "CC", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unsupported calling convention\"", ")", ";", "case", "CallingConv", "::", "Fast", ":", "(", "void", ")", "RetFastCC_ARM_APCS", ";", "(", "void", ")", "FastCC_ARM_APCS", ";", "case", "CallingConv", "::", "C", ":", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "TM", ".", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Hard", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "else", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "}", "else", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "case", "CallingConv", "::", "ARM_AAPCS", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "case", "CallingConv", "::", "ARM_APCS", ":", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "}", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM", "\"Unsupported calling convention\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMFastISel28", "Func": "CCAssignFnForCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10592, "Length": 148} {"ground_truth": ["", "FastISel", "*", "ARM", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ")", "{", "const", "TargetMachine", "&", "TM", "=", "funcInfo", ".", "MF", "->", "getTarget", "(", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "Subtarget", "->", "isTargetIOS", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "new", "ARMFastISel", "(", "funcInfo", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM::createFastISel", "ARM", "ARM", "ARM", "0"], "File": "ARMFastISel28", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10593, "Length": 65} {"ground_truth": ["", "bool", "ARMFastISel", "::", "fastLowerArguments", "(", ")", "{", "if", "(", "!", "FuncInfo", ".", "CanLowerReturn", ")", "return", "false", ";", "const", "Function", "*", "F", "=", "FuncInfo", ".", "Fn", ";", "if", "(", "F", "->", "isVarArg", "(", ")", ")", "return", "false", ";", "CallingConv", "::", "ID", "CC", "=", "F", "->", "getCallingConv", "(", ")", ";", "switch", "(", "CC", ")", "{", "default", ":", "return", "false", ";", "case", "CallingConv", "::", "Fast", ":", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "ARM_AAPCS", ":", "case", "CallingConv", "::", "ARM_APCS", ":", "case", "CallingConv", "::", "Swift", ":", "break", ";", "}", "unsigned", "Idx", "=", "1", ";", "for", "(", "Function", "::", "const_arg_iterator", "I", "=", "F", "->", "arg_begin", "(", ")", ",", "E", "=", "F", "->", "arg_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ",", "++", "Idx", ")", "{", "if", "(", "Idx", ">", "4", ")", "return", "false", ";", "if", "(", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "InReg", ")", "||", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "StructRet", ")", "||", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "SwiftSelf", ")", "||", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "SwiftError", ")", "||", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "ByVal", ")", ")", "return", "false", ";", "Type", "*", "ArgTy", "=", "I", "->", "getType", "(", ")", ";", "if", "(", "ArgTy", "->", "isStructTy", "(", ")", "||", "ArgTy", "->", "isArrayTy", "(", ")", "||", "ArgTy", "->", "isVectorTy", "(", ")", ")", "return", "false", ";", "EVT", "ArgVT", "=", "TLI", ".", "getValueType", "(", "DL", ",", "ArgTy", ")", ";", "if", "(", "!", "ArgVT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "switch", "(", "ArgVT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i32", ":", "break", ";", "default", ":", "return", "false", ";", "}", "}", "static", "const", "MCPhysReg", "GPRArgRegs", "[", "]", "=", "{", "ARM", "::", "R0", ",", "ARM", "::", "R1", ",", "ARM", "::", "R2", ",", "ARM", "::", "R3", "}", ";", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "rGPRRegClass", ";", "Idx", "=", "0", ";", "for", "(", "Function", "::", "const_arg_iterator", "I", "=", "F", "->", "arg_begin", "(", ")", ",", "E", "=", "F", "->", "arg_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ",", "++", "Idx", ")", "{", "unsigned", "SrcReg", "=", "GPRArgRegs", "[", "Idx", "]", ";", "unsigned", "DstReg", "=", "FuncInfo", ".", "MF", "->", "addLiveIn", "(", "SrcReg", ",", "RC", ")", ";", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "DstReg", ",", "getKillRegState", "(", "true", ")", ")", ";", "updateValueMap", "(", "&", "*", "I", ",", "ResultReg", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "by", "target-independent", "code", "to", "do", "target-", "specific", "argument", "lowering", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "1", "4", "MVT::i8", "MVT::i16", "MVT::i32", "ARM::R0", "ARM::R1", "ARM::R2", "ARM::R3", "ARM::rGPRRegClass", "0"], "File": "ARMFastISel29", "Func": "fastLowerArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10594, "Length": 459} {"ground_truth": ["", "FastISel", "*", "ARM", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ",", "const", "TargetLibraryInfo", "*", "libInfo", ")", "{", "const", "TargetMachine", "&", "TM", "=", "funcInfo", ".", "MF", "->", "getTarget", "(", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "bool", "UseFastISel", "=", "false", ";", "UseFastISel", "|=", "Subtarget", "->", "isTargetMachO", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ";", "UseFastISel", "|=", "Subtarget", "->", "isTargetLinux", "(", ")", "&&", "!", "Subtarget", "->", "isThumb", "(", ")", ";", "UseFastISel", "|=", "Subtarget", "->", "isTargetNaCl", "(", ")", "&&", "!", "Subtarget", "->", "isThumb", "(", ")", ";", "if", "(", "UseFastISel", ")", "{", "TM", ".", "Options", ".", "NoFramePointerElim", "=", "true", ";", "return", "new", "ARMFastISel", "(", "funcInfo", ",", "libInfo", ")", ";", "}", "return", "nullptr", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM::createFastISel", "ARM", "ARM", "ARM"], "File": "ARMFastISel35", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10595, "Length": 121} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_i", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "uint64_t", "Imm", ")", "{", "Register", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addImm", "(", "Imm", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addImm", "(", "Imm", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "a", "single", "immediate", "operand", ",", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "0"], "File": "ARMFastISel36", "Func": "fastEmitInst_i", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10596, "Length": 144} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_ri", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Op0", ",", "uint64_t", "Imm", ")", "{", "Register", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "Op0", "=", "constrainOperandRegClass", "(", "II", ",", "Op0", ",", "1", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addReg", "(", "Op0", ")", ".", "addImm", "(", "Imm", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addReg", "(", "Op0", ")", ".", "addImm", "(", "Imm", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "a", "register", "operand", ",", "an", "immediate", ",", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0"], "File": "ARMFastISel36", "Func": "fastEmitInst_ri", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10597, "Length": 168} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastEmitInst_rr", "(", "unsigned", "MachineInstOpcode", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Op0", ",", "unsigned", "Op1", ")", "{", "Register", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "const", "MCInstrDesc", "&", "II", "=", "TII", ".", "get", "(", "MachineInstOpcode", ")", ";", "Op0", "=", "constrainOperandRegClass", "(", "II", ",", "Op0", ",", "1", ")", ";", "Op1", "=", "constrainOperandRegClass", "(", "II", ",", "Op1", ",", "2", ")", ";", "if", "(", "II", ".", "getNumDefs", "(", ")", ">=", "1", ")", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ",", "ResultReg", ")", ".", "addReg", "(", "Op0", ")", ".", "addReg", "(", "Op1", ")", ")", ";", "}", "else", "{", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "II", ")", ".", "addReg", "(", "Op0", ")", ".", "addReg", "(", "Op1", ")", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "II", ".", "ImplicitDefs", "[", "0", "]", ")", ")", ";", "}", "return", "ResultReg", ";", "}", ""], "natrual_language": ["Emit", "a", "MachineInstr", "with", "two", "register", "operands", "and", "a", "result", "register", "in", "the", "given", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "1", "2", "1", "0"], "File": "ARMFastISel36", "Func": "fastEmitInst_rr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10598, "Length": 179} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "fastMaterializeAlloca", "(", "const", "AllocaInst", "*", "AI", ")", "{", "if", "(", "!", "FuncInfo", ".", "StaticAllocaMap", ".", "count", "(", "AI", ")", ")", "return", "0", ";", "MVT", "VT", ";", "if", "(", "!", "isLoadTypeLegal", "(", "AI", "->", "getType", "(", ")", ",", "VT", ")", ")", "return", "0", ";", "DenseMap", "<", "const", "AllocaInst", "*", ",", "int", ">", "::", "iterator", "SI", "=", "FuncInfo", ".", "StaticAllocaMap", ".", "find", "(", "AI", ")", ";", "if", "(", "SI", "!=", "FuncInfo", ".", "StaticAllocaMap", ".", "end", "(", ")", ")", "{", "unsigned", "Opc", "=", "isThumb2", "?", "ARM", "::", "t2ADDri", ":", "ARM", "::", "ADDri", ";", "const", "TargetRegisterClass", "*", "RC", "=", "TLI", ".", "getRegClassFor", "(", "VT", ")", ";", "Register", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "ResultReg", "=", "constrainOperandRegClass", "(", "TII", ".", "get", "(", "Opc", ")", ",", "ResultReg", ",", "0", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "Opc", ")", ",", "ResultReg", ")", ".", "addFrameIndex", "(", "SI", "->", "second", ")", ".", "addImm", "(", "0", ")", ")", ";", "return", "ResultReg", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Emit", "an", "alloca", "address", "in", "a", "register", "using", "target-specific", "logic", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "ARM::t2ADDri", "ARM::ADDri", "0", "0", "0"], "File": "ARMFastISel36", "Func": "fastMaterializeAlloca", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10599, "Length": 175} {"ground_truth": ["", "CCAssignFn", "*", "ARMFastISel", "::", "CCAssignFnForCall", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "Return", ",", "bool", "isVarArg", ")", "{", "switch", "(", "CC", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unsupported calling convention\"", ")", ";", "case", "CallingConv", "::", "Fast", ":", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "!", "isVarArg", ")", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "return", "(", "Return", "?", "RetFastCC_ARM_APCS", ":", "FastCC_ARM_APCS", ")", ";", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "}", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "CXX_FAST_TLS", ":", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "TM", ".", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Hard", "&&", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "else", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "}", "else", "{", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "}", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "Swift", ":", "if", "(", "!", "isVarArg", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "case", "CallingConv", "::", "ARM_AAPCS", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "case", "CallingConv", "::", "ARM_APCS", ":", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "GHC", ":", "if", "(", "Return", ")", "llvm_unreachable", "(", "\"Can't return in GHC call convention\"", ")", ";", "else", "return", "CC_ARM_APCS_GHC", ";", "}", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM", "\"Unsupported calling convention\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"Can't return in GHC call convention\"", "ARM"], "File": "ARMFastISel3", "Func": "CCAssignFnForCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10600, "Length": 219} {"ground_truth": ["", "FastISel", "*", "ARM", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ")", "{", "const", "TargetMachine", "&", "TM", "=", "funcInfo", ".", "MF", "->", "getTarget", "(", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "Subtarget", "->", "isTargetIOS", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", "&&", "!", "DisableARMFastISel", ")", "return", "new", "ARMFastISel", "(", "funcInfo", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM::createFastISel", "ARM", "ARM", "ARM", "ARM", "0"], "File": "ARMFastISel41", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10601, "Length": 68} {"ground_truth": ["", "llvm", "::", "FastISel", "*", "ARM", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ")", "{", "const", "TargetMachine", "&", "TM", "=", "funcInfo", ".", "MF", "->", "getTarget", "(", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "Subtarget", "->", "isTargetIOS", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", "&&", "!", "DisableARMFastISel", ")", "return", "new", "ARMFastISel", "(", "funcInfo", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM::createFastISel", "ARM", "ARM", "ARM", "ARM", "0"], "File": "ARMFastISel56", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10602, "Length": 70} {"ground_truth": ["", "bool", "ARMFastISel", "::", "fastLowerArguments", "(", ")", "{", "if", "(", "!", "FuncInfo", ".", "CanLowerReturn", ")", "return", "false", ";", "const", "Function", "*", "F", "=", "FuncInfo", ".", "Fn", ";", "if", "(", "F", "->", "isVarArg", "(", ")", ")", "return", "false", ";", "CallingConv", "::", "ID", "CC", "=", "F", "->", "getCallingConv", "(", ")", ";", "switch", "(", "CC", ")", "{", "default", ":", "return", "false", ";", "case", "CallingConv", "::", "Fast", ":", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "ARM_AAPCS", ":", "case", "CallingConv", "::", "ARM_APCS", ":", "case", "CallingConv", "::", "Swift", ":", "break", ";", "}", "for", "(", "const", "Argument", "&", "Arg", ":", "F", "->", "args", "(", ")", ")", "{", "if", "(", "Arg", ".", "getArgNo", "(", ")", ">=", "4", ")", "return", "false", ";", "if", "(", "Arg", ".", "hasAttribute", "(", "Attribute", "::", "InReg", ")", "||", "Arg", ".", "hasAttribute", "(", "Attribute", "::", "StructRet", ")", "||", "Arg", ".", "hasAttribute", "(", "Attribute", "::", "SwiftSelf", ")", "||", "Arg", ".", "hasAttribute", "(", "Attribute", "::", "SwiftError", ")", "||", "Arg", ".", "hasAttribute", "(", "Attribute", "::", "ByVal", ")", ")", "return", "false", ";", "Type", "*", "ArgTy", "=", "Arg", ".", "getType", "(", ")", ";", "if", "(", "ArgTy", "->", "isStructTy", "(", ")", "||", "ArgTy", "->", "isArrayTy", "(", ")", "||", "ArgTy", "->", "isVectorTy", "(", ")", ")", "return", "false", ";", "EVT", "ArgVT", "=", "TLI", ".", "getValueType", "(", "DL", ",", "ArgTy", ")", ";", "if", "(", "!", "ArgVT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "switch", "(", "ArgVT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i32", ":", "break", ";", "default", ":", "return", "false", ";", "}", "}", "static", "const", "MCPhysReg", "GPRArgRegs", "[", "]", "=", "{", "ARM", "::", "R0", ",", "ARM", "::", "R1", ",", "ARM", "::", "R2", ",", "ARM", "::", "R3", "}", ";", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "rGPRRegClass", ";", "for", "(", "Function", "::", "const_arg_iterator", "I", "=", "F", "->", "arg_begin", "(", ")", ",", "E", "=", "F", "->", "arg_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "unsigned", "ArgNo", "=", "I", "->", "getArgNo", "(", ")", ";", "unsigned", "SrcReg", "=", "GPRArgRegs", "[", "ArgNo", "]", ";", "unsigned", "DstReg", "=", "FuncInfo", ".", "MF", "->", "addLiveIn", "(", "SrcReg", ",", "RC", ")", ";", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "DstReg", ",", "getKillRegState", "(", "true", ")", ")", ";", "updateValueMap", "(", "&", "*", "I", ",", "ResultReg", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "by", "target-independent", "code", "to", "do", "target-", "specific", "argument", "lowering", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "4", "MVT::i8", "MVT::i16", "MVT::i32", "ARM::R0", "ARM::R1", "ARM::R2", "ARM::R3", "ARM::rGPRRegClass"], "File": "ARMFastISel5", "Func": "fastLowerArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10603, "Length": 412} {"ground_truth": ["", "unsigned", "ARMFastISel", "::", "constrainOperandRegClass", "(", "const", "MCInstrDesc", "&", "II", ",", "unsigned", "Op", ",", "unsigned", "OpNum", ")", "{", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "Op", ")", ")", "{", "const", "TargetRegisterClass", "*", "RegClass", "=", "TII", ".", "getRegClass", "(", "II", ",", "OpNum", ",", "&", "TRI", ",", "*", "FuncInfo", ".", "MF", ")", ";", "if", "(", "!", "MRI", ".", "constrainRegClass", "(", "Op", ",", "RegClass", ")", ")", "{", "unsigned", "NewOp", "=", "createResultReg", "(", "RegClass", ")", ";", "AddOptionalDefs", "(", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DL", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "NewOp", ")", ".", "addReg", "(", "Op", ")", ")", ";", "return", "NewOp", ";", "}", "}", "return", "Op", ";", "}", ""], "natrual_language": ["Try", "to", "constrain", "Op", "so", "that", "it", "is", "usable", "by", "argument", "OpNum", "of", "the", "provided", "MCInstrDesc", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFastISel63", "Func": "constrainOperandRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10604, "Length": 112} {"ground_truth": ["", "CCAssignFn", "*", "ARMFastISel", "::", "CCAssignFnForCall", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "Return", ")", "{", "switch", "(", "CC", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unsupported calling convention\"", ")", ";", "case", "CallingConv", "::", "Fast", ":", "(", "void", ")", "RetFastCC_ARM_APCS", ";", "(", "void", ")", "FastCC_ARM_APCS", ";", "case", "CallingConv", "::", "C", ":", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "hasVFP2", "(", ")", "&&", "FloatABIType", "==", "FloatABI", "::", "Hard", ")", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "else", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "}", "else", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS_VFP", ":", "CC_ARM_AAPCS_VFP", ")", ";", "case", "CallingConv", "::", "ARM_AAPCS", ":", "return", "(", "Return", "?", "RetCC_ARM_AAPCS", ":", "CC_ARM_AAPCS", ")", ";", "case", "CallingConv", "::", "ARM_APCS", ":", "return", "(", "Return", "?", "RetCC_ARM_APCS", ":", "CC_ARM_APCS", ")", ";", "case", "CallingConv", "::", "GHC", ":", "if", "(", "Return", ")", "llvm_unreachable", "(", "\"Can't return in GHC call convention\"", ")", ";", "else", "return", "CC_ARM_APCS_GHC", ";", "}", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM", "\"Unsupported calling convention\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"Can't return in GHC call convention\"", "ARM"], "File": "ARMFastISel77", "Func": "CCAssignFnForCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10605, "Length": 162} {"ground_truth": ["", "bool", "ARMFastISel", "::", "fastLowerArguments", "(", ")", "{", "if", "(", "!", "FuncInfo", ".", "CanLowerReturn", ")", "return", "false", ";", "const", "Function", "*", "F", "=", "FuncInfo", ".", "Fn", ";", "if", "(", "F", "->", "isVarArg", "(", ")", ")", "return", "false", ";", "CallingConv", "::", "ID", "CC", "=", "F", "->", "getCallingConv", "(", ")", ";", "switch", "(", "CC", ")", "{", "default", ":", "return", "false", ";", "case", "CallingConv", "::", "Fast", ":", "case", "CallingConv", "::", "C", ":", "case", "CallingConv", "::", "ARM_AAPCS_VFP", ":", "case", "CallingConv", "::", "ARM_AAPCS", ":", "case", "CallingConv", "::", "ARM_APCS", ":", "break", ";", "}", "unsigned", "Idx", "=", "1", ";", "for", "(", "Function", "::", "const_arg_iterator", "I", "=", "F", "->", "arg_begin", "(", ")", ",", "E", "=", "F", "->", "arg_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ",", "++", "Idx", ")", "{", "if", "(", "Idx", ">", "4", ")", "return", "false", ";", "if", "(", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "InReg", ")", "||", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "StructRet", ")", "||", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "Idx", ",", "Attribute", "::", "ByVal", ")", ")", "return", "false", ";", "Type", "*", "ArgTy", "=", "I", "->", "getType", "(", ")", ";", "if", "(", "ArgTy", "->", "isStructTy", "(", ")", "||", "ArgTy", "->", "isArrayTy", "(", ")", "||", "ArgTy", "->", "isVectorTy", "(", ")", ")", "return", "false", ";", "EVT", "ArgVT", "=", "TLI", ".", "getValueType", "(", "DL", ",", "ArgTy", ")", ";", "if", "(", "!", "ArgVT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "switch", "(", "ArgVT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i32", ":", "break", ";", "default", ":", "return", "false", ";", "}", "}", "static", "const", "uint16_t", "GPRArgRegs", "[", "]", "=", "{", "ARM", "::", "R0", ",", "ARM", "::", "R1", ",", "ARM", "::", "R2", ",", "ARM", "::", "R3", "}", ";", "const", "TargetRegisterClass", "*", "RC", "=", "&", "ARM", "::", "rGPRRegClass", ";", "Idx", "=", "0", ";", "for", "(", "Function", "::", "const_arg_iterator", "I", "=", "F", "->", "arg_begin", "(", ")", ",", "E", "=", "F", "->", "arg_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ",", "++", "Idx", ")", "{", "unsigned", "SrcReg", "=", "GPRArgRegs", "[", "Idx", "]", ";", "unsigned", "DstReg", "=", "FuncInfo", ".", "MF", "->", "addLiveIn", "(", "SrcReg", ",", "RC", ")", ";", "unsigned", "ResultReg", "=", "createResultReg", "(", "RC", ")", ";", "BuildMI", "(", "*", "FuncInfo", ".", "MBB", ",", "FuncInfo", ".", "InsertPt", ",", "DbgLoc", ",", "TII", ".", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "ResultReg", ")", ".", "addReg", "(", "DstReg", ",", "getKillRegState", "(", "true", ")", ")", ";", "updateValueMap", "(", "I", ",", "ResultReg", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "by", "target-independent", "code", "to", "do", "target-", "specific", "argument", "lowering", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "1", "4", "MVT::i8", "MVT::i16", "MVT::i32", "ARM::R0", "ARM::R1", "ARM::R2", "ARM::R3", "ARM::rGPRRegClass", "0"], "File": "ARMFastISel", "Func": "fastLowerArguments", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10606, "Length": 422} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "addRequired", "<", "ReachingDefAnalysis", ">", "(", ")", ";", "AU", ".", "setPreservesCFG", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMFixCortexA57AES1742098Pass", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10607, "Length": 33} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM fix for Cortex-A57 AES Erratum 1742098\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM fix for Cortex-A57 AES Erratum 1742098\""], "File": "ARMFixCortexA57AES1742098Pass", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10608, "Length": 11} {"ground_truth": ["", "bool", "ARMFixCortexA57AES1742098", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "F", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"***** ARMFixCortexA57AES1742098 *****\\n\"", ")", ";", "auto", "&", "STI", "=", "F", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", ".", "hasAES", "(", ")", "||", "!", "STI", ".", "fixCortexA57AES1742098", "(", ")", ")", "return", "false", ";", "const", "ARMBaseRegisterInfo", "*", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "const", "ARMBaseInstrInfo", "*", "TII", "=", "STI", ".", "getInstrInfo", "(", ")", ";", "auto", "&", "RDA", "=", "getAnalysis", "<", "ReachingDefAnalysis", ">", "(", ")", ";", "SmallVector", "<", "AESFixupLocation", ">", "FixupLocsForFn", "{", "}", ";", "analyzeMF", "(", "F", ",", "RDA", ",", "TRI", ",", "FixupLocsForFn", ")", ";", "bool", "Changed", "=", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Inserting \"", "<<", "FixupLocsForFn", ".", "size", "(", ")", "<<", "\" fixup(s)\\n\"", ")", ";", "for", "(", "AESFixupLocation", "&", "FixupLoc", ":", "FixupLocsForFn", ")", "{", "insertAESFixup", "(", "FixupLoc", ",", "TII", ",", "TRI", ")", ";", "Changed", "|=", "true", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "\"***** ARMFixCortexA57AES1742098 *****\\n\"", "ARM", "ARM", "ARM", "\"Inserting \"", "\" fixup(s)\\n\""], "File": "ARMFixCortexA57AES1742098Pass", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10609, "Length": 152} {"ground_truth": ["", "bool", "ARMFrameInfo", "::", "canSimplifyCallFramePseudos", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "hasReservedCallFrame", "(", "MF", ")", "||", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["canSimplifyCallFramePseudos", "-", "If", "there", "is", "a", "reserved", "call", "frame", ",", "the", "call", "frame", "pseudos", "can", "be", "simplified", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameInfo", "Func": "canSimplifyCallFramePseudos", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10610, "Length": 29} {"ground_truth": ["", "int", "ARMFrameInfo", "::", "getFrameIndexReference", "(", "const", "MachineFunction", "&", "MF", ",", "int", "FI", ",", "unsigned", "&", "FrameReg", ")", "const", "{", "return", "ResolveFrameIndexReference", "(", "MF", ",", "FI", ",", "FrameReg", ",", "0", ")", ";", "}", ""], "natrual_language": ["getFrameIndexReference", "-", "This", "method", "should", "return", "the", "base", "register", "and", "offset", "used", "to", "reference", "a", "frame", "index", "location", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMFrameInfo", "Func": "getFrameIndexReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10611, "Length": 32} {"ground_truth": ["", "bool", "ARMFrameInfo", "::", "hasFP", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetRegisterInfo", "*", "RegInfo", "=", "MF", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", ")", "return", "true", ";", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "return", "(", "(", "DisableFramePointerElim", "(", "MF", ")", "&&", "MFI", "->", "hasCalls", "(", ")", ")", "||", "RegInfo", "->", "needsStackRealignment", "(", "MF", ")", "||", "MFI", "->", "hasVarSizedObjects", "(", ")", "||", "MFI", "->", "isFrameAddressTaken", "(", ")", ")", ";", "}", ""], "natrual_language": ["hasFP", "-", "Return", "true", "if", "the", "specified", "function", "should", "have", "a", "dedicated", "frame", "pointer", "register", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameInfo", "Func": "hasFP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10612, "Length": 85} {"ground_truth": ["", "bool", "ARMFrameInfo", "::", "hasReservedCallFrame", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "FFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "CFSize", "=", "FFI", "->", "getMaxCallFrameSize", "(", ")", ";", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "12", ")", "-", "1", ")", "/", "2", ")", "return", "false", ";", "return", "!", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasReservedCallFrame", "-", "Under", "normal", "circumstances", ",", "when", "a", "frame", "pointer", "is", "not", "required", ",", "we", "reserve", "argument", "space", "for", "call", "sites", "in", "the", "function", "immediately", "on", "entry", "to", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "1", "12", "1", "2"], "File": "ARMFrameInfo", "Func": "hasReservedCallFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10613, "Length": 64} {"ground_truth": ["", "bool", "ARMFrameInfo", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "unsigned", "PopOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDMIA_UPD", ":", "ARM", "::", "LDMIA_UPD", ";", "unsigned", "LdrOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDR_POST", ":", "ARM", "::", "LDR_POST", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VLDMDIA_UPD", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "isVarArg", ",", "true", ",", "&", "isARMArea3Register", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea2Register", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea1Register", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM::t2LDMIA_UPD", "ARM::LDMIA_UPD", "ARM::t2LDR_POST", "ARM::LDR_POST", "ARM::VLDMDIA_UPD", "0", "ARM", "ARM", "ARM"], "File": "ARMFrameInfo", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10614, "Length": 191} {"ground_truth": ["", "bool", "ARMFrameInfo", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "unsigned", "PushOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STMDB_UPD", ":", "ARM", "::", "STMDB_UPD", ";", "unsigned", "PushOneOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STR_PRE", ":", "ARM", "::", "STR_PRE", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VSTMDDB_UPD", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea1Register", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea2Register", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "true", ",", "&", "isARMArea3Register", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::t2STMDB_UPD", "ARM::STMDB_UPD", "ARM::t2STR_PRE", "ARM::STR_PRE", "ARM::VSTMDDB_UPD", "ARM", "ARM", "0", "ARM"], "File": "ARMFrameInfo", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10615, "Length": 174} {"ground_truth": ["", "void", "addInst", "(", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SPAdjust", ",", "bool", "BeforeFPSet", "=", "false", ")", "{", "InstInfo", "Info", "=", "{", "I", ",", "SPAdjust", ",", "BeforeFPSet", "}", ";", "Insts", ".", "push_back", "(", "Info", ")", ";", "}", ""], "natrual_language": ["Add", "a", "new", "MCInst", "operand", "."], "TS_V_token": ["ARM"], "File": "ARMFrameLowering (2)1", "Func": "addInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10616, "Length": 36} {"ground_truth": ["", "void", "ARMFrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "Amount", "=", "alignSPAdjust", "(", "Amount", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", ")", ";", "bool", "isARM", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "int", "PIdx", "=", "Old", "->", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "Old", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "else", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ";", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "0", "ARM", "ARM", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", "ARM", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "2", "ARM", "3", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "ARM"], "File": "ARMFrameLowering (2)1", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10617, "Length": 300} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "hasFP", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetRegisterInfo", "*", "RegInfo", "=", "MF", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "if", "(", "STI", ".", "isTargetIOS", "(", ")", "||", "STI", ".", "isTargetWatchOS", "(", ")", ")", "return", "true", ";", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "return", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "Options", ".", "DisableFramePointerElim", "(", "MF", ")", "&&", "MFI", "->", "hasCalls", "(", ")", ")", "||", "RegInfo", "->", "needsStackRealignment", "(", "MF", ")", "||", "MFI", "->", "hasVarSizedObjects", "(", ")", "||", "MFI", "->", "isFrameAddressTaken", "(", ")", ")", ";", "}", ""], "natrual_language": ["hasFP", "-", "Return", "true", "if", "the", "specified", "function", "should", "have", "a", "dedicated", "frame", "pointer", "register", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameLowering (2)1", "Func": "hasFP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10618, "Length": 99} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "canSimplifyCallFramePseudos", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "hasReservedCallFrame", "(", "MF", ")", "||", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["canSimplifyCallFramePseudos", "-", "If", "there", "is", "a", "reserved", "call", "frame", ",", "the", "call", "frame", "pseudos", "can", "be", "simplified", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameLowering (2)", "Func": "canSimplifyCallFramePseudos", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10619, "Length": 29} {"ground_truth": ["", "void", "ARMFrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", ")", ";", "bool", "isARM", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "int", "PIdx", "=", "Old", "->", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "Old", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "else", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ";", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "0", "1", "ARM", "ARM", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", "ARM", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "2", "ARM", "3", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "ARM"], "File": "ARMFrameLowering (2)", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10620, "Length": 314} {"ground_truth": ["", "static", "void", "emitSPUpdate", "(", "bool", "isARM", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "const", "ARMBaseInstrInfo", "&", "TII", ",", "int", "NumBytes", ",", "unsigned", "MIFlags", "=", "MachineInstr", "::", "NoFlags", ",", "ARMCC", "::", "CondCodes", "Pred", "=", "ARMCC", "::", "AL", ",", "unsigned", "PredReg", "=", "0", ")", "{", "emitRegPlusImmediate", "(", "isARM", ",", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "MIFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "series", "of", "instructions", "to", "increment", "/", "decrement", "the", "stack", "pointer", "by", "a", "constant", "value", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARMCC::CondCodes", "ARMCC::AL", "0", "ARM", "ARM::SP", "ARM::SP"], "File": "ARMFrameLowering (2)", "Func": "emitSPUpdate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10621, "Length": 80} {"ground_truth": ["", "bool", "enableShrinkWrapping", "(", "const", "MachineFunction", "&", "MF", ")", "const", "override", "{", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "will", "correctly", "handle", "shrink", "wrapping", "."], "TS_V_token": ["ARM"], "File": "ARMFrameLowering (2)", "Func": "enableShrinkWrapping", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10622, "Length": 15} {"ground_truth": ["", "int", "ARMFrameLowering", "::", "getFrameIndexReference", "(", "const", "MachineFunction", "&", "MF", ",", "int", "FI", ",", "unsigned", "&", "FrameReg", ")", "const", "{", "return", "ResolveFrameIndexReference", "(", "MF", ",", "FI", ",", "FrameReg", ",", "0", ")", ";", "}", ""], "natrual_language": ["getFrameIndexReference", "-", "This", "method", "should", "return", "the", "base", "register", "and", "offset", "used", "to", "reference", "a", "frame", "index", "location", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMFrameLowering (2)", "Func": "getFrameIndexReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10623, "Length": 32} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "hasFP", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetRegisterInfo", "*", "RegInfo", "=", "MF", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "if", "(", "STI", ".", "isTargetIOS", "(", ")", ")", "return", "true", ";", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "return", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "Options", ".", "DisableFramePointerElim", "(", "MF", ")", "&&", "MFI", "->", "hasCalls", "(", ")", ")", "||", "RegInfo", "->", "needsStackRealignment", "(", "MF", ")", "||", "MFI", "->", "hasVarSizedObjects", "(", ")", "||", "MFI", "->", "isFrameAddressTaken", "(", ")", ")", ";", "}", ""], "natrual_language": ["hasFP", "-", "Return", "true", "if", "the", "specified", "function", "should", "have", "a", "dedicated", "frame", "pointer", "register", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameLowering (2)", "Func": "hasFP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10624, "Length": 93} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "hasReservedCallFrame", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "FFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "CFSize", "=", "FFI", "->", "getMaxCallFrameSize", "(", ")", ";", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "12", ")", "-", "1", ")", "/", "2", ")", "return", "false", ";", "return", "!", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasReservedCallFrame", "-", "Under", "normal", "circumstances", ",", "when", "a", "frame", "pointer", "is", "not", "required", ",", "we", "reserve", "argument", "space", "for", "call", "sites", "in", "the", "function", "immediately", "on", "entry", "to", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "1", "12", "1", "2"], "File": "ARMFrameLowering (2)", "Func": "hasReservedCallFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10625, "Length": 64} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getArgRegsSaveSize", "(", ")", ">", "0", ";", "unsigned", "NumAlignedDPRCS2Regs", "=", "AFI", "->", "getNumAlignedDPRCS2Regs", "(", ")", ";", "if", "(", "NumAlignedDPRCS2Regs", ")", "emitAlignedDPRCS2Restores", "(", "MBB", ",", "MI", ",", "NumAlignedDPRCS2Regs", ",", "CSI", ",", "TRI", ")", ";", "unsigned", "PopOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDMIA_UPD", ":", "ARM", "::", "LDMIA_UPD", ";", "unsigned", "LdrOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDR_POST", ":", "ARM", "::", "LDR_POST_IMM", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VLDMDIA_UPD", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "isVarArg", ",", "true", ",", "&", "isARMArea3Register", ",", "NumAlignedDPRCS2Regs", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea2Register", ",", "0", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea1Register", ",", "0", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM::t2LDMIA_UPD", "ARM::LDMIA_UPD", "ARM::t2LDR_POST", "ARM::LDR_POST_IMM", "ARM::VLDMDIA_UPD", "0", "ARM", "ARM", "0", "ARM", "0"], "File": "ARMFrameLowering (2)", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10626, "Length": 214} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "PushOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STMDB_UPD", ":", "ARM", "::", "STMDB_UPD", ";", "unsigned", "PushOneOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STR_PRE", ":", "ARM", "::", "STR_PRE_IMM", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VSTMDDB_UPD", ";", "unsigned", "NumAlignedDPRCS2Regs", "=", "AFI", "->", "getNumAlignedDPRCS2Regs", "(", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea1Register", ",", "0", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea2Register", ",", "0", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "true", ",", "&", "isARMArea3Register", ",", "NumAlignedDPRCS2Regs", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "if", "(", "NumAlignedDPRCS2Regs", ")", "emitAlignedDPRCS2Spills", "(", "MBB", ",", "MI", ",", "NumAlignedDPRCS2Regs", ",", "CSI", ",", "TRI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::t2STMDB_UPD", "ARM::STMDB_UPD", "ARM::t2STR_PRE", "ARM::STR_PRE_IMM", "ARM::VSTMDDB_UPD", "ARM", "0", "ARM", "0", "0", "ARM"], "File": "ARMFrameLowering (2)", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10627, "Length": 209} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "assignCalleeSavedSpillSlots", "(", "MachineFunction", "&", "MF", ",", "const", "TargetRegisterInfo", "*", "TRI", ",", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "if", "(", "STI", ".", "hasV8_1MMainlineOps", "(", ")", "&&", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isCmseNSEntryFunction", "(", ")", ")", "{", "CSI", ".", "emplace_back", "(", "ARM", "::", "FPCXTNS", ")", ";", "CSI", ".", "back", "(", ")", ".", "setRestored", "(", "false", ")", ";", "}", "const", "auto", "&", "AFI", "=", "*", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", ".", "shouldSignReturnAddress", "(", ")", ")", "{", "CSI", ".", "insert", "(", "find_if", "(", "CSI", ",", "[", "=", "]", "(", "const", "auto", "&", "CS", ")", "{", "unsigned", "Reg", "=", "CS", ".", "getReg", "(", ")", ";", "return", "Reg", "==", "ARM", "::", "R10", "||", "Reg", "==", "ARM", "::", "R11", "||", "Reg", "==", "ARM", "::", "R8", "||", "Reg", "==", "ARM", "::", "R9", "||", "ARM", "::", "DPRRegClass", ".", "contains", "(", "Reg", ")", ";", "}", ")", ",", "CalleeSavedInfo", "(", "ARM", "::", "R12", ")", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["This", "function", "will", "assign", "callee", "saved", "gprs", "to", "volatile", "vector", "registers", "for", "prologue", "spills", "when", "applicable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::FPCXTNS", "ARM", "ARM::R10", "ARM::R11", "ARM::R8", "ARM::R9", "ARM::DPRRegClass", "ARM::R12"], "File": "ARMFrameLowering100", "Func": "assignCalleeSavedSpillSlots", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10628, "Length": 169} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "canSimplifyCallFramePseudos", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "hasReservedCallFrame", "(", "MF", ")", "||", "MF", ".", "getFrameInfo", "(", ")", ".", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["canSimplifyCallFramePseudos", "-", "If", "there", "is", "a", "reserved", "call", "frame", ",", "the", "call", "frame", "pseudos", "can", "be", "simplified", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameLowering100", "Func": "canSimplifyCallFramePseudos", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10629, "Length": 29} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "ARMFrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "isARM", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "DebugLoc", "dl", "=", "I", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Opc", "=", "I", "->", "getOpcode", "(", ")", ";", "bool", "IsDestroy", "=", "Opc", "==", "TII", ".", "getCallFrameDestroyOpcode", "(", ")", ";", "unsigned", "CalleePopAmount", "=", "IsDestroy", "?", "I", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ":", "0", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", ")", ";", "int", "PIdx", "=", "I", "->", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "I", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "unsigned", "PredReg", "=", "TII", ".", "getFramePred", "(", "*", "I", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "if", "(", "IsDestroy", "&&", "CalleePopAmount", "!=", "-", "1U", ")", "return", "MBB", ".", "erase", "(", "I", ")", ";", "unsigned", "Amount", "=", "TII", ".", "getFrameSize", "(", "*", "I", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "Amount", "=", "alignSPAdjust", "(", "Amount", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "}", "}", "else", "if", "(", "CalleePopAmount", "!=", "-", "1U", ")", "{", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "CalleePopAmount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "return", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "1", "0", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "1U", "0", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "ARM", "1U", "ARM"], "File": "ARMFrameLowering100", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10630, "Length": 357} {"ground_truth": ["", "static", "void", "emitSPUpdate", "(", "bool", "isARM", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "DebugLoc", "&", "dl", ",", "const", "ARMBaseInstrInfo", "&", "TII", ",", "int", "NumBytes", ",", "unsigned", "MIFlags", "=", "MachineInstr", "::", "NoFlags", ",", "ARMCC", "::", "CondCodes", "Pred", "=", "ARMCC", "::", "AL", ",", "unsigned", "PredReg", "=", "0", ")", "{", "emitRegPlusImmediate", "(", "isARM", ",", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "MIFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "series", "of", "instructions", "to", "increment", "/", "decrement", "the", "stack", "pointer", "by", "a", "constant", "value", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARMCC::CondCodes", "ARMCC::AL", "0", "ARM", "ARM::SP", "ARM::SP"], "File": "ARMFrameLowering100", "Func": "emitSPUpdate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10631, "Length": 82} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "enableCalleeSaveSkip", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "assert", "(", "MF", ".", "getFunction", "(", ")", ".", "hasFnAttribute", "(", "Attribute", "::", "NoReturn", ")", "&&", "MF", ".", "getFunction", "(", ")", ".", "hasFnAttribute", "(", "Attribute", "::", "NoUnwind", ")", "&&", "!", "MF", ".", "getFunction", "(", ")", ".", "hasFnAttribute", "(", "Attribute", "::", "UWTable", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "can", "safely", "skip", "saving", "callee-saved", "registers", "for", "noreturn", "nounwind", "functions", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameLowering100", "Func": "enableCalleeSaveSkip", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10632, "Length": 59} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "enableShrinkWrapping", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "STI", ".", "hasV8_1MMainlineOps", "(", ")", "&&", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isCmseNSEntryFunction", "(", ")", ")", "return", "false", ";", "if", "(", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "shouldSignReturnAddress", "(", "false", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "will", "correctly", "handle", "shrink", "wrapping", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMFrameLowering100", "Func": "enableShrinkWrapping", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10633, "Length": 59} {"ground_truth": ["", "const", "TargetFrameLowering", "::", "SpillSlot", "*", "ARMFrameLowering", "::", "getCalleeSavedSpillSlots", "(", "unsigned", "&", "NumEntries", ")", "const", "{", "static", "const", "SpillSlot", "FixedSpillOffsets", "[", "]", "=", "{", "{", "ARM", "::", "FPCXTNS", ",", "-", "4", "}", "}", ";", "NumEntries", "=", "array_lengthof", "(", "FixedSpillOffsets", ")", ";", "return", "FixedSpillOffsets", ";", "}", ""], "natrual_language": ["getCalleeSavedSpillSlots", "-", "This", "method", "returns", "a", "pointer", "to", "an", "array", "of", "pairs", ",", "that", "contains", "an", "entry", "for", "each", "callee", "saved", "register", "that", "must", "be", "spilled", "to", "a", "particular", "stack", "location", "if", "it", "is", "spilled", "."], "TS_V_token": ["ARM", "ARM", "ARM::FPCXTNS", "4"], "File": "ARMFrameLowering100", "Func": "getCalleeSavedSpillSlots", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10634, "Length": 44} {"ground_truth": ["", "void", "ARMFrameLowering", "::", "getCalleeSaves", "(", "const", "MachineFunction", "&", "MF", ",", "BitVector", "&", "SavedRegs", ")", "const", "{", "TargetFrameLowering", "::", "getCalleeSaves", "(", "MF", ",", "SavedRegs", ")", ";", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "getPreservesR0", "(", ")", ")", "SavedRegs", ".", "set", "(", "ARM", "::", "R0", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "callee-saved", "registers", "as", "computed", "by", "determineCalleeSaves", "in", "the", "BitVector", "SavedRegs", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::R0"], "File": "ARMFrameLowering100", "Func": "getCalleeSaves", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10635, "Length": 57} {"ground_truth": ["", "StackOffset", "ARMFrameLowering", "::", "getFrameIndexReference", "(", "const", "MachineFunction", "&", "MF", ",", "int", "FI", ",", "Register", "&", "FrameReg", ")", "const", "{", "return", "StackOffset", "::", "getFixed", "(", "ResolveFrameIndexReference", "(", "MF", ",", "FI", ",", "FrameReg", ",", "0", ")", ")", ";", "}", ""], "natrual_language": ["getFrameIndexReference", "-", "This", "method", "should", "return", "the", "base", "register", "and", "offset", "used", "to", "reference", "a", "frame", "index", "location", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMFrameLowering100", "Func": "getFrameIndexReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10636, "Length": 37} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "hasFP", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetRegisterInfo", "*", "RegInfo", "=", "MF", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "const", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "if", "(", "MF", ".", "getTarget", "(", ")", ".", "Options", ".", "DisableFramePointerElim", "(", "MF", ")", ")", "return", "true", ";", "return", "(", "RegInfo", "->", "hasStackRealignment", "(", "MF", ")", "||", "MFI", ".", "hasVarSizedObjects", "(", ")", "||", "MFI", ".", "isFrameAddressTaken", "(", ")", ")", ";", "}", ""], "natrual_language": ["hasFP", "-", "Return", "true", "if", "the", "specified", "function", "should", "have", "a", "dedicated", "frame", "pointer", "register", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameLowering100", "Func": "hasFP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10637, "Length": 79} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "hasReservedCallFrame", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "CFSize", "=", "MFI", ".", "getMaxCallFrameSize", "(", ")", ";", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "12", ")", "-", "1", ")", "/", "2", ")", "return", "false", ";", "return", "!", "MFI", ".", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasReservedCallFrame", "-", "Under", "normal", "circumstances", ",", "when", "a", "frame", "pointer", "is", "not", "required", ",", "we", "reserve", "argument", "space", "for", "call", "sites", "in", "the", "function", "immediately", "on", "entry", "to", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "1", "12", "1", "2"], "File": "ARMFrameLowering100", "Func": "hasReservedCallFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10638, "Length": 60} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "keepFramePointer", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "useFastISel", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "wants", "to", "keep", "the", "frame", "pointer", "regardless", "of", "the", "function", "attribute", "``", "frame-pointer", "''", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMFrameLowering100", "Func": "keepFramePointer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10639, "Length": 27} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "MutableArrayRef", "<", "CalleeSavedInfo", ">", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getArgRegsSaveSize", "(", ")", ">", "0", ";", "unsigned", "NumAlignedDPRCS2Regs", "=", "AFI", "->", "getNumAlignedDPRCS2Regs", "(", ")", ";", "if", "(", "NumAlignedDPRCS2Regs", ")", "emitAlignedDPRCS2Restores", "(", "MBB", ",", "MI", ",", "NumAlignedDPRCS2Regs", ",", "CSI", ",", "TRI", ")", ";", "unsigned", "PopOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDMIA_UPD", ":", "ARM", "::", "LDMIA_UPD", ";", "unsigned", "LdrOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDR_POST", ":", "ARM", "::", "LDR_POST_IMM", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VLDMDIA_UPD", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "isVarArg", ",", "true", ",", "&", "isARMArea3Register", ",", "NumAlignedDPRCS2Regs", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea2Register", ",", "0", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea1Register", ",", "0", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM::t2LDMIA_UPD", "ARM::LDMIA_UPD", "ARM::t2LDR_POST", "ARM::LDR_POST_IMM", "ARM::VLDMDIA_UPD", "0", "ARM", "ARM", "0", "ARM", "0"], "File": "ARMFrameLowering100", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10640, "Length": 210} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "ArrayRef", "<", "CalleeSavedInfo", ">", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "PushOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STMDB_UPD", ":", "ARM", "::", "STMDB_UPD", ";", "unsigned", "PushOneOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STR_PRE", ":", "ARM", "::", "STR_PRE_IMM", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VSTMDDB_UPD", ";", "unsigned", "NumAlignedDPRCS2Regs", "=", "AFI", "->", "getNumAlignedDPRCS2Regs", "(", ")", ";", "if", "(", "AFI", "->", "shouldSignReturnAddress", "(", ")", ")", "{", "BuildMI", "(", "MBB", ",", "MI", ",", "DebugLoc", "(", ")", ",", "STI", ".", "getInstrInfo", "(", ")", "->", "get", "(", "ARM", "::", "t2PAC", ")", ")", ".", "setMIFlags", "(", "MachineInstr", "::", "FrameSetup", ")", ";", "}", "if", "(", "llvm", "::", "any_of", "(", "CSI", ",", "[", "]", "(", "const", "CalleeSavedInfo", "&", "C", ")", "{", "return", "C", ".", "getReg", "(", ")", "==", "ARM", "::", "FPCXTNS", ";", "}", ")", ")", "{", "BuildMI", "(", "MBB", ",", "MI", ",", "DebugLoc", "(", ")", ",", "STI", ".", "getInstrInfo", "(", ")", "->", "get", "(", "ARM", "::", "VSTR_FPCXTNS_pre", ")", ",", "ARM", "::", "SP", ")", ".", "addReg", "(", "ARM", "::", "SP", ")", ".", "addImm", "(", "-", "4", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea1Register", ",", "0", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea2Register", ",", "0", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "true", ",", "&", "isARMArea3Register", ",", "NumAlignedDPRCS2Regs", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "if", "(", "NumAlignedDPRCS2Regs", ")", "emitAlignedDPRCS2Spills", "(", "MBB", ",", "MI", ",", "NumAlignedDPRCS2Regs", ",", "CSI", ",", "TRI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::t2STMDB_UPD", "ARM::STMDB_UPD", "ARM::t2STR_PRE", "ARM::STR_PRE_IMM", "ARM::VSTMDDB_UPD", "ARM::t2PAC", "ARM::FPCXTNS", "ARM::VSTR_FPCXTNS_pre", "ARM::SP", "ARM::SP", "4", "ARMCC::AL", "ARM", "0", "ARM", "0", "0", "ARM"], "File": "ARMFrameLowering100", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10641, "Length": 330} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "ARMFrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "&", "Old", "=", "*", "I", ";", "DebugLoc", "dl", "=", "Old", ".", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "TII", ".", "getFrameSize", "(", "Old", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "Amount", "=", "alignSPAdjust", "(", "Amount", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", ")", ";", "bool", "isARM", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "unsigned", "Opc", "=", "Old", ".", "getOpcode", "(", ")", ";", "int", "PIdx", "=", "Old", ".", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "Old", ".", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "unsigned", "PredReg", "=", "TII", ".", "getFramePred", "(", "Old", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "}", "}", "return", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM", "ARM", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", "ARM", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "ARM"], "File": "ARMFrameLowering101", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10642, "Length": 282} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "hasFP", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetRegisterInfo", "*", "RegInfo", "=", "MF", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "const", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "if", "(", "MF", ".", "getTarget", "(", ")", ".", "Options", ".", "DisableFramePointerElim", "(", "MF", ")", ")", "return", "true", ";", "return", "(", "RegInfo", "->", "needsStackRealignment", "(", "MF", ")", "||", "MFI", ".", "hasVarSizedObjects", "(", ")", "||", "MFI", ".", "isFrameAddressTaken", "(", ")", ")", ";", "}", ""], "natrual_language": ["hasFP", "-", "Return", "true", "if", "the", "specified", "function", "should", "have", "a", "dedicated", "frame", "pointer", "register", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameLowering101", "Func": "hasFP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10643, "Length": 79} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getArgRegsSaveSize", "(", ")", ">", "0", ";", "unsigned", "NumAlignedDPRCS2Regs", "=", "AFI", "->", "getNumAlignedDPRCS2Regs", "(", ")", ";", "if", "(", "NumAlignedDPRCS2Regs", ")", "emitAlignedDPRCS2Restores", "(", "MBB", ",", "MI", ",", "NumAlignedDPRCS2Regs", ",", "CSI", ",", "TRI", ")", ";", "unsigned", "PopOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDMIA_UPD", ":", "ARM", "::", "LDMIA_UPD", ";", "unsigned", "LdrOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDR_POST", ":", "ARM", "::", "LDR_POST_IMM", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VLDMDIA_UPD", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "isVarArg", ",", "true", ",", "&", "isARMArea3Register", ",", "NumAlignedDPRCS2Regs", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea2Register", ",", "0", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea1Register", ",", "0", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM::t2LDMIA_UPD", "ARM::LDMIA_UPD", "ARM::t2LDR_POST", "ARM::LDR_POST_IMM", "ARM::VLDMDIA_UPD", "0", "ARM", "ARM", "0", "ARM", "0"], "File": "ARMFrameLowering101", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10644, "Length": 213} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "ARMFrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "&", "Old", "=", "*", "I", ";", "DebugLoc", "dl", "=", "Old", ".", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "Amount", "=", "alignSPAdjust", "(", "Amount", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", ")", ";", "bool", "isARM", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "unsigned", "Opc", "=", "Old", ".", "getOpcode", "(", ")", ";", "int", "PIdx", "=", "Old", ".", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "Old", ".", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "unsigned", "PredReg", "=", "Old", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "else", "{", "unsigned", "PredReg", "=", "Old", ".", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ";", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "}", "}", "return", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "0", "ARM", "ARM", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", "ARM", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "2", "ARM", "3", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "ARM"], "File": "ARMFrameLowering102", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10645, "Length": 304} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "assignCalleeSavedSpillSlots", "(", "MachineFunction", "&", "MF", ",", "const", "TargetRegisterInfo", "*", "TRI", ",", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "if", "(", "STI", ".", "hasV8_1MMainlineOps", "(", ")", "&&", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isCmseNSEntryFunction", "(", ")", ")", "{", "CSI", ".", "emplace_back", "(", "ARM", "::", "FPCXTNS", ")", ";", "CSI", ".", "back", "(", ")", ".", "setRestored", "(", "false", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["This", "function", "will", "assign", "callee", "saved", "gprs", "to", "volatile", "vector", "registers", "for", "prologue", "spills", "when", "applicable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::FPCXTNS"], "File": "ARMFrameLowering103", "Func": "assignCalleeSavedSpillSlots", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10646, "Length": 72} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "enableShrinkWrapping", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "STI", ".", "hasV8_1MMainlineOps", "(", ")", "&&", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isCmseNSEntryFunction", "(", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "will", "correctly", "handle", "shrink", "wrapping", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMFrameLowering103", "Func": "enableShrinkWrapping", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10647, "Length": 40} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "ArrayRef", "<", "CalleeSavedInfo", ">", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "PushOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STMDB_UPD", ":", "ARM", "::", "STMDB_UPD", ";", "unsigned", "PushOneOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STR_PRE", ":", "ARM", "::", "STR_PRE_IMM", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VSTMDDB_UPD", ";", "unsigned", "NumAlignedDPRCS2Regs", "=", "AFI", "->", "getNumAlignedDPRCS2Regs", "(", ")", ";", "if", "(", "llvm", "::", "any_of", "(", "CSI", ",", "[", "]", "(", "const", "CalleeSavedInfo", "&", "C", ")", "{", "return", "C", ".", "getReg", "(", ")", "==", "ARM", "::", "FPCXTNS", ";", "}", ")", ")", "{", "BuildMI", "(", "MBB", ",", "MI", ",", "DebugLoc", "(", ")", ",", "STI", ".", "getInstrInfo", "(", ")", "->", "get", "(", "ARM", "::", "VSTR_FPCXTNS_pre", ")", ",", "ARM", "::", "SP", ")", ".", "addReg", "(", "ARM", "::", "SP", ")", ".", "addImm", "(", "-", "4", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea1Register", ",", "0", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea2Register", ",", "0", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "true", ",", "&", "isARMArea3Register", ",", "NumAlignedDPRCS2Regs", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "if", "(", "NumAlignedDPRCS2Regs", ")", "emitAlignedDPRCS2Spills", "(", "MBB", ",", "MI", ",", "NumAlignedDPRCS2Regs", ",", "CSI", ",", "TRI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::t2STMDB_UPD", "ARM::STMDB_UPD", "ARM::t2STR_PRE", "ARM::STR_PRE_IMM", "ARM::VSTMDDB_UPD", "ARM::FPCXTNS", "ARM::VSTR_FPCXTNS_pre", "ARM::SP", "ARM::SP", "4", "ARMCC::AL", "ARM", "0", "ARM", "0", "0", "ARM"], "File": "ARMFrameLowering103", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10648, "Length": 289} {"ground_truth": ["", "static", "void", "emitSPUpdate", "(", "bool", "isARM", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "const", "ARMBaseInstrInfo", "&", "TII", ",", "int", "NumBytes", ",", "unsigned", "MIFlags", "=", "MachineInstr", "::", "NoFlags", ")", "{", "if", "(", "isARM", ")", "emitARMRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "dl", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "ARMCC", "::", "AL", ",", "0", ",", "TII", ",", "MIFlags", ")", ";", "else", "emitT2RegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "dl", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "ARMCC", "::", "AL", ",", "0", ",", "TII", ",", "MIFlags", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "series", "of", "instructions", "to", "increment", "/", "decrement", "the", "stack", "pointer", "by", "a", "constant", "value", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::SP", "ARM::SP", "ARMCC::AL", "0", "ARM::SP", "ARM::SP", "ARMCC::AL", "0"], "File": "ARMFrameLowering104", "Func": "emitSPUpdate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10649, "Length": 100} {"ground_truth": ["", "static", "unsigned", "estimateStackSize", "(", "MachineFunction", "&", "MF", ")", "{", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "const", "TargetRegisterInfo", "*", "RegInfo", "=", "MF", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "unsigned", "MaxAlign", "=", "MFI", "->", "getMaxAlignment", "(", ")", ";", "int", "Offset", "=", "0", ";", "for", "(", "int", "i", "=", "MFI", "->", "getObjectIndexBegin", "(", ")", ";", "i", "!=", "0", ";", "++", "i", ")", "{", "int", "FixedOff", "=", "-", "MFI", "->", "getObjectOffset", "(", "i", ")", ";", "if", "(", "FixedOff", ">", "Offset", ")", "Offset", "=", "FixedOff", ";", "}", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "MFI", "->", "getObjectIndexEnd", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "if", "(", "MFI", "->", "isDeadObjectIndex", "(", "i", ")", ")", "continue", ";", "Offset", "+=", "MFI", "->", "getObjectSize", "(", "i", ")", ";", "unsigned", "Align", "=", "MFI", "->", "getObjectAlignment", "(", "i", ")", ";", "Offset", "=", "(", "Offset", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "MaxAlign", "=", "std", "::", "max", "(", "Align", ",", "MaxAlign", ")", ";", "}", "if", "(", "MFI", "->", "adjustsStack", "(", ")", "&&", "TFI", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "Offset", "+=", "MFI", "->", "getMaxCallFrameSize", "(", ")", ";", "unsigned", "StackAlign", ";", "if", "(", "MFI", "->", "adjustsStack", "(", ")", "||", "MFI", "->", "hasVarSizedObjects", "(", ")", "||", "(", "RegInfo", "->", "needsStackRealignment", "(", "MF", ")", "&&", "MFI", "->", "getObjectIndexEnd", "(", ")", "!=", "0", ")", ")", "StackAlign", "=", "TFI", "->", "getStackAlignment", "(", ")", ";", "else", "StackAlign", "=", "TFI", "->", "getTransientStackAlignment", "(", ")", ";", "StackAlign", "=", "std", "::", "max", "(", "StackAlign", ",", "MaxAlign", ")", ";", "unsigned", "AlignMask", "=", "StackAlign", "-", "1", ";", "Offset", "=", "(", "Offset", "+", "AlignMask", ")", "&", "~", "uint64_t", "(", "AlignMask", ")", ";", "return", "(", "unsigned", ")", "Offset", ";", "}", ""], "natrual_language": ["Estimate", "and", "return", "the", "size", "of", "the", "stack", "frame", "."], "TS_V_token": ["ARM", "0", "0", "0", "1", "0", "1"], "File": "ARMFrameLowering104", "Func": "estimateStackSize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10650, "Length": 297} {"ground_truth": ["", "int", "ARMFrameLowering", "::", "getFrameIndexReference", "(", "const", "MachineFunction", "&", "MF", ",", "int", "FI", ",", "Register", "&", "FrameReg", ")", "const", "{", "return", "ResolveFrameIndexReference", "(", "MF", ",", "FI", ",", "FrameReg", ",", "0", ")", ";", "}", ""], "natrual_language": ["getFrameIndexReference", "-", "This", "method", "should", "return", "the", "base", "register", "and", "offset", "used", "to", "reference", "a", "frame", "index", "location", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMFrameLowering11", "Func": "getFrameIndexReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10651, "Length": 32} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "ArrayRef", "<", "CalleeSavedInfo", ">", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "PushOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STMDB_UPD", ":", "ARM", "::", "STMDB_UPD", ";", "unsigned", "PushOneOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STR_PRE", ":", "ARM", "::", "STR_PRE_IMM", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VSTMDDB_UPD", ";", "unsigned", "NumAlignedDPRCS2Regs", "=", "AFI", "->", "getNumAlignedDPRCS2Regs", "(", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea1Register", ",", "0", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea2Register", ",", "0", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "true", ",", "&", "isARMArea3Register", ",", "NumAlignedDPRCS2Regs", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "if", "(", "NumAlignedDPRCS2Regs", ")", "emitAlignedDPRCS2Spills", "(", "MBB", ",", "MI", ",", "NumAlignedDPRCS2Regs", ",", "CSI", ",", "TRI", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::t2STMDB_UPD", "ARM::STMDB_UPD", "ARM::t2STR_PRE", "ARM::STR_PRE_IMM", "ARM::VSTMDDB_UPD", "ARM", "0", "ARM", "0", "0", "ARM"], "File": "ARMFrameLowering11", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10652, "Length": 205} {"ground_truth": ["", "bool", "isProfitableForNoCSROpt", "(", "const", "Function", "&", "F", ")", "const", "override", "{", "return", "false", ";", "}", ""], "natrual_language": ["Check", "if", "the", "no-CSR", "optimisation", "is", "profitable", "for", "the", "given", "function", "."], "TS_V_token": ["ARM"], "File": "ARMFrameLowering15", "Func": "isProfitableForNoCSROpt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10653, "Length": 15} {"ground_truth": ["", "static", "void", "emitSPUpdate", "(", "bool", "isARM", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "const", "ARMBaseInstrInfo", "&", "TII", ",", "int", "NumBytes", ",", "unsigned", "MIFlags", "=", "MachineInstr", "::", "NoFlags", ",", "ARMCC", "::", "CondCodes", "Pred", "=", "ARMCC", "::", "AL", ",", "unsigned", "PredReg", "=", "0", ")", "{", "if", "(", "isARM", ")", "emitARMRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "dl", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "Pred", ",", "PredReg", ",", "TII", ",", "MIFlags", ")", ";", "else", "emitT2RegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "dl", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "Pred", ",", "PredReg", ",", "TII", ",", "MIFlags", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "series", "of", "instructions", "to", "increment", "/", "decrement", "the", "stack", "pointer", "by", "a", "constant", "value", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARMCC::CondCodes", "ARMCC::AL", "0", "ARM", "ARM", "ARM::SP", "ARM::SP", "ARM::SP", "ARM::SP"], "File": "ARMFrameLowering1", "Func": "emitSPUpdate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10654, "Length": 110} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "unsigned", "NumAlignedDPRCS2Regs", "=", "AFI", "->", "getNumAlignedDPRCS2Regs", "(", ")", ";", "if", "(", "NumAlignedDPRCS2Regs", ")", "emitAlignedDPRCS2Restores", "(", "MBB", ",", "MI", ",", "NumAlignedDPRCS2Regs", ",", "CSI", ",", "TRI", ")", ";", "unsigned", "PopOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDMIA_UPD", ":", "ARM", "::", "LDMIA_UPD", ";", "unsigned", "LdrOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDR_POST", ":", "ARM", "::", "LDR_POST_IMM", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VLDMDIA_UPD", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "isVarArg", ",", "true", ",", "&", "isARMArea3Register", ",", "NumAlignedDPRCS2Regs", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea2Register", ",", "0", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea1Register", ",", "0", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM::t2LDMIA_UPD", "ARM::LDMIA_UPD", "ARM::t2LDR_POST", "ARM::LDR_POST_IMM", "ARM::VLDMDIA_UPD", "0", "ARM", "ARM", "0", "ARM", "0"], "File": "ARMFrameLowering1", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10655, "Length": 214} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "hasFP", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetRegisterInfo", "*", "RegInfo", "=", "MF", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", ")", "return", "true", ";", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "return", "(", "(", "DisableFramePointerElim", "(", "MF", ")", "&&", "MFI", "->", "hasCalls", "(", ")", ")", "||", "RegInfo", "->", "needsStackRealignment", "(", "MF", ")", "||", "MFI", "->", "hasVarSizedObjects", "(", ")", "||", "MFI", "->", "isFrameAddressTaken", "(", ")", ")", ";", "}", ""], "natrual_language": ["hasFP", "-", "Return", "true", "if", "the", "specified", "function", "should", "have", "a", "dedicated", "frame", "pointer", "register", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameLowering25", "Func": "hasFP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10656, "Length": 85} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "unsigned", "PopOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDMIA_UPD", ":", "ARM", "::", "LDMIA_UPD", ";", "unsigned", "LdrOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDR_POST", ":", "ARM", "::", "LDR_POST", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VLDMDIA_UPD", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "isVarArg", ",", "true", ",", "&", "isARMArea3Register", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea2Register", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea1Register", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM::t2LDMIA_UPD", "ARM::LDMIA_UPD", "ARM::t2LDR_POST", "ARM::LDR_POST", "ARM::VLDMDIA_UPD", "0", "ARM", "ARM", "ARM"], "File": "ARMFrameLowering25", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10657, "Length": 182} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "PushOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STMDB_UPD", ":", "ARM", "::", "STMDB_UPD", ";", "unsigned", "PushOneOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STR_PRE", ":", "ARM", "::", "STR_PRE", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VSTMDDB_UPD", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea1Register", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea2Register", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "true", ",", "&", "isARMArea3Register", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::t2STMDB_UPD", "ARM::STMDB_UPD", "ARM::t2STR_PRE", "ARM::STR_PRE", "ARM::VSTMDDB_UPD", "ARM", "ARM", "0", "ARM"], "File": "ARMFrameLowering25", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10658, "Length": 177} {"ground_truth": ["", "void", "ARMFrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", ")", ";", "bool", "isARM", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "int", "PIdx", "=", "Old", "->", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "Old", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "else", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ";", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "0", "1", "ARM", "ARM", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", "ARM", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "2", "ARM", "3", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "ARM"], "File": "ARMFrameLowering26", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10659, "Length": 314} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "hasFP", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetRegisterInfo", "*", "RegInfo", "=", "MF", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "if", "(", "STI", ".", "isTargetIOS", "(", ")", "||", "STI", ".", "isTargetWatchOS", "(", ")", ")", "return", "true", ";", "const", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "return", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "Options", ".", "DisableFramePointerElim", "(", "MF", ")", "&&", "MFI", ".", "hasCalls", "(", ")", ")", "||", "RegInfo", "->", "needsStackRealignment", "(", "MF", ")", "||", "MFI", ".", "hasVarSizedObjects", "(", ")", "||", "MFI", ".", "isFrameAddressTaken", "(", ")", ")", ";", "}", ""], "natrual_language": ["hasFP", "-", "Return", "true", "if", "the", "specified", "function", "should", "have", "a", "dedicated", "frame", "pointer", "register", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameLowering39", "Func": "hasFP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10660, "Length": 99} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "assignCalleeSavedSpillSlots", "(", "MachineFunction", "&", "MF", ",", "const", "TargetRegisterInfo", "*", "TRI", ",", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "if", "(", "STI", ".", "hasV8_1MMainlineOps", "(", ")", "&&", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isCmseNSEntryFunction", "(", ")", ")", "{", "CSI", ".", "emplace_back", "(", "ARM", "::", "FPCXTNS", ")", ";", "CSI", ".", "back", "(", ")", ".", "setRestored", "(", "false", ")", ";", "}", "const", "auto", "&", "AFI", "=", "*", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", ".", "shouldSignReturnAddress", "(", ")", ")", "{", "CSI", ".", "insert", "(", "find_if", "(", "CSI", ",", "[", "=", "]", "(", "const", "auto", "&", "CS", ")", "{", "Register", "Reg", "=", "CS", ".", "getReg", "(", ")", ";", "return", "Reg", "==", "ARM", "::", "R10", "||", "Reg", "==", "ARM", "::", "R11", "||", "Reg", "==", "ARM", "::", "R8", "||", "Reg", "==", "ARM", "::", "R9", "||", "ARM", "::", "DPRRegClass", ".", "contains", "(", "Reg", ")", ";", "}", ")", ",", "CalleeSavedInfo", "(", "ARM", "::", "R12", ")", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["This", "function", "will", "assign", "callee", "saved", "gprs", "to", "volatile", "vector", "registers", "for", "prologue", "spills", "when", "applicable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::FPCXTNS", "ARM", "ARM::R10", "ARM::R11", "ARM::R8", "ARM::R9", "ARM::DPRRegClass", "ARM::R12"], "File": "ARMFrameLowering3", "Func": "assignCalleeSavedSpillSlots", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10661, "Length": 169} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "enableShrinkWrapping", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "STI", ".", "hasV8_1MMainlineOps", "(", ")", "&&", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "isCmseNSEntryFunction", "(", ")", ")", "return", "false", ";", "if", "(", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "shouldSignReturnAddress", "(", "true", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "will", "correctly", "handle", "shrink", "wrapping", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMFrameLowering3", "Func": "enableShrinkWrapping", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10662, "Length": 59} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "enableShrinkWrapping", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "MF", ".", "getFunction", "(", ")", ".", "hasMinSize", "(", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "will", "correctly", "handle", "shrink", "wrapping", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameLowering51", "Func": "enableShrinkWrapping", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10663, "Length": 31} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "ARMFrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "Amount", "=", "alignSPAdjust", "(", "Amount", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", ")", ";", "bool", "isARM", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "int", "PIdx", "=", "Old", "->", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "Old", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "else", "{", "unsigned", "PredReg", "=", "Old", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ";", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "}", "}", "return", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "0", "ARM", "ARM", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", "ARM", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "2", "ARM", "3", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "ARM"], "File": "ARMFrameLowering57", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10664, "Length": 303} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "ARMFrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "isARM", "=", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "DebugLoc", "dl", "=", "I", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Opc", "=", "I", "->", "getOpcode", "(", ")", ";", "bool", "IsDestroy", "=", "Opc", "==", "TII", ".", "getCallFrameDestroyOpcode", "(", ")", ";", "unsigned", "CalleePopAmount", "=", "IsDestroy", "?", "I", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ":", "0", ";", "assert", "(", "!", "AFI", "->", "isThumb1OnlyFunction", "(", ")", "&&", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", ")", ";", "int", "PIdx", "=", "I", "->", "findFirstPredOperandIdx", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "(", "PIdx", "==", "-", "1", ")", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "I", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ";", "unsigned", "PredReg", "=", "TII", ".", "getFramePred", "(", "*", "I", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "if", "(", "IsDestroy", "&&", "CalleePopAmount", "!=", "0", ")", "return", "MBB", ".", "erase", "(", "I", ")", ";", "unsigned", "Amount", "=", "TII", ".", "getFrameSize", "(", "*", "I", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "Amount", "=", "alignSPAdjust", "(", "Amount", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "Amount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "}", "}", "else", "if", "(", "CalleePopAmount", "!=", "0", ")", "{", "emitSPUpdate", "(", "isARM", ",", "MBB", ",", "I", ",", "dl", ",", "TII", ",", "-", "CalleePopAmount", ",", "MachineInstr", "::", "NoFlags", ",", "Pred", ",", "PredReg", ")", ";", "}", "return", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "1", "0", "\"This eliminateCallFramePseudoInstr does not support Thumb1!\"", "ARMCC::CondCodes", "1", "ARMCC::AL", "ARMCC::CondCodes", "0", "0", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP", "ARM", "0", "ARM"], "File": "ARMFrameLowering5", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10665, "Length": 355} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "unsigned", "PopOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDMIA_UPD", ":", "ARM", "::", "LDMIA_UPD", ";", "unsigned", "LdrOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2LDR_POST", ":", "ARM", "::", "LDR_POST_IMM", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VLDMDIA_UPD", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "isVarArg", ",", "true", ",", "&", "isARMArea3Register", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea2Register", ")", ";", "emitPopInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PopOpc", ",", "LdrOpc", ",", "isVarArg", ",", "false", ",", "&", "isARMArea1Register", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM::t2LDMIA_UPD", "ARM::LDMIA_UPD", "ARM::t2LDR_POST", "ARM::LDR_POST_IMM", "ARM::VLDMDIA_UPD", "0", "ARM", "ARM", "ARM"], "File": "ARMFrameLowering84", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10666, "Length": 182} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "PushOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STMDB_UPD", ":", "ARM", "::", "STMDB_UPD", ";", "unsigned", "PushOneOpc", "=", "AFI", "->", "isThumbFunction", "(", ")", "?", "ARM", "::", "t2STR_PRE", ":", "ARM", "::", "STR_PRE_IMM", ";", "unsigned", "FltOpc", "=", "ARM", "::", "VSTMDDB_UPD", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea1Register", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "PushOpc", ",", "PushOneOpc", ",", "false", ",", "&", "isARMArea2Register", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "emitPushInst", "(", "MBB", ",", "MI", ",", "CSI", ",", "FltOpc", ",", "0", ",", "true", ",", "&", "isARMArea3Register", ",", "MachineInstr", "::", "FrameSetup", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::t2STMDB_UPD", "ARM::STMDB_UPD", "ARM::t2STR_PRE", "ARM::STR_PRE_IMM", "ARM::VSTMDDB_UPD", "ARM", "ARM", "0", "ARM"], "File": "ARMFrameLowering84", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10667, "Length": 177} {"ground_truth": ["", "bool", "ARMFrameLowering", "::", "hasFP", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetRegisterInfo", "*", "RegInfo", "=", "MF", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "if", "(", "STI", ".", "isTargetIOS", "(", ")", ")", "return", "true", ";", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "return", "(", "(", "MF", ".", "getTarget", "(", ")", ".", "Options", ".", "DisableFramePointerElim", "(", "MF", ")", "&&", "MFI", "->", "hasCalls", "(", ")", ")", "||", "RegInfo", "->", "needsStackRealignment", "(", "MF", ")", "||", "MFI", "->", "hasVarSizedObjects", "(", ")", "||", "MFI", "->", "isFrameAddressTaken", "(", ")", ")", ";", "}", ""], "natrual_language": ["hasFP", "-", "Return", "true", "if", "the", "specified", "function", "should", "have", "a", "dedicated", "frame", "pointer", "register", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMFrameLowering", "Func": "hasFP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10668, "Length": 93} {"ground_truth": ["", "bool", "ARMGlobalMerge", "::", "doInitialization", "(", "Module", "&", "M", ")", "{", "SmallVector", "<", "GlobalVariable", "*", ",", "16", ">", "Globals", ",", "ConstGlobals", ",", "BSSGlobals", ";", "const", "TargetData", "*", "TD", "=", "TLI", "->", "getTargetData", "(", ")", ";", "unsigned", "MaxOffset", "=", "TLI", "->", "getMaximalGlobalOffset", "(", ")", ";", "bool", "Changed", "=", "false", ";", "if", "(", "TLI", "->", "getTargetMachine", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isTargetDarwin", "(", ")", ")", "return", "false", ";", "for", "(", "Module", "::", "global_iterator", "I", "=", "M", ".", "global_begin", "(", ")", ",", "E", "=", "M", ".", "global_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "if", "(", "!", "I", "->", "hasLocalLinkage", "(", ")", "||", "I", "->", "isThreadLocal", "(", ")", "||", "I", "->", "hasSection", "(", ")", ")", "continue", ";", "if", "(", "I", "->", "getAlignment", "(", ")", "!=", "0", ")", "continue", ";", "if", "(", "I", "->", "getName", "(", ")", ".", "startswith", "(", "\"llvm.\"", ")", "||", "I", "->", "getName", "(", ")", ".", "startswith", "(", "\".llvm.\"", ")", ")", "continue", ";", "if", "(", "TD", "->", "getTypeAllocSize", "(", "I", "->", "getType", "(", ")", "->", "getElementType", "(", ")", ")", "<", "MaxOffset", ")", "{", "const", "TargetLoweringObjectFile", "&", "TLOF", "=", "TLI", "->", "getObjFileLowering", "(", ")", ";", "if", "(", "TLOF", ".", "getKindForGlobal", "(", "I", ",", "TLI", "->", "getTargetMachine", "(", ")", ")", ".", "isBSSLocal", "(", ")", ")", "BSSGlobals", ".", "push_back", "(", "I", ")", ";", "else", "if", "(", "I", "->", "isConstant", "(", ")", ")", "ConstGlobals", ".", "push_back", "(", "I", ")", ";", "else", "Globals", ".", "push_back", "(", "I", ")", ";", "}", "}", "if", "(", "Globals", ".", "size", "(", ")", ">", "1", ")", "Changed", "|=", "doMerge", "(", "Globals", ",", "M", ",", "false", ")", ";", "if", "(", "BSSGlobals", ".", "size", "(", ")", ">", "1", ")", "Changed", "|=", "doMerge", "(", "BSSGlobals", ",", "M", ",", "false", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["Set", "up", "the", "AsmPrinter", "when", "we", "are", "working", "on", "a", "new", "module", "."], "TS_V_token": ["ARM", "ARM", "16", "ARM", "0", "\"llvm.\"", "\".llvm.\"", "1", "1"], "File": "ARMGlobalMerge2", "Func": "doInitialization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10669, "Length": 289} {"ground_truth": ["", "bool", "ARMGlobalMerge", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "return", "false", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMGlobalMerge2", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10670, "Length": 14} {"ground_truth": ["", "bool", "ARMGlobalMerge", "::", "doInitialization", "(", "Module", "&", "M", ")", "{", "SmallVector", "<", "GlobalVariable", "*", ",", "16", ">", "Globals", ",", "ConstGlobals", ",", "BSSGlobals", ";", "const", "TargetData", "*", "TD", "=", "TLI", "->", "getTargetData", "(", ")", ";", "unsigned", "MaxOffset", "=", "TLI", "->", "getMaximalGlobalOffset", "(", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "Module", "::", "global_iterator", "I", "=", "M", ".", "global_begin", "(", ")", ",", "E", "=", "M", ".", "global_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "if", "(", "!", "I", "->", "hasLocalLinkage", "(", ")", "||", "I", "->", "isThreadLocal", "(", ")", "||", "I", "->", "hasSection", "(", ")", ")", "continue", ";", "unsigned", "Alignment", "=", "I", "->", "getAlignment", "(", ")", ";", "Type", "*", "Ty", "=", "I", "->", "getType", "(", ")", "->", "getElementType", "(", ")", ";", "if", "(", "Alignment", ">", "TD", "->", "getABITypeAlignment", "(", "Ty", ")", ")", "continue", ";", "if", "(", "I", "->", "getName", "(", ")", ".", "startswith", "(", "\"llvm.\"", ")", "||", "I", "->", "getName", "(", ")", ".", "startswith", "(", "\".llvm.\"", ")", ")", "continue", ";", "if", "(", "TD", "->", "getTypeAllocSize", "(", "Ty", ")", "<", "MaxOffset", ")", "{", "const", "TargetLoweringObjectFile", "&", "TLOF", "=", "TLI", "->", "getObjFileLowering", "(", ")", ";", "if", "(", "TLOF", ".", "getKindForGlobal", "(", "I", ",", "TLI", "->", "getTargetMachine", "(", ")", ")", ".", "isBSSLocal", "(", ")", ")", "BSSGlobals", ".", "push_back", "(", "I", ")", ";", "else", "if", "(", "I", "->", "isConstant", "(", ")", ")", "ConstGlobals", ".", "push_back", "(", "I", ")", ";", "else", "Globals", ".", "push_back", "(", "I", ")", ";", "}", "}", "if", "(", "Globals", ".", "size", "(", ")", ">", "1", ")", "Changed", "|=", "doMerge", "(", "Globals", ",", "M", ",", "false", ")", ";", "if", "(", "BSSGlobals", ".", "size", "(", ")", ">", "1", ")", "Changed", "|=", "doMerge", "(", "BSSGlobals", ",", "M", ",", "false", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["Set", "up", "the", "AsmPrinter", "when", "we", "are", "working", "on", "a", "new", "module", "."], "TS_V_token": ["ARM", "ARM", "16", "\"llvm.\"", "\".llvm.\"", "1", "1"], "File": "ARMGlobalMerge3", "Func": "doInitialization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10671, "Length": 283} {"ground_truth": ["", "bool", "ARMGlobalMerge", "::", "doInitialization", "(", "Module", "&", "M", ")", "{", "SmallVector", "<", "GlobalVariable", "*", ",", "16", ">", "Globals", ",", "ConstGlobals", ";", "const", "TargetData", "*", "TD", "=", "TLI", "->", "getTargetData", "(", ")", ";", "unsigned", "MaxOffset", "=", "TLI", "->", "getMaximalGlobalOffset", "(", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "Module", "::", "global_iterator", "I", "=", "M", ".", "global_begin", "(", ")", ",", "E", "=", "M", ".", "global_end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "{", "if", "(", "!", "I", "->", "hasLocalLinkage", "(", ")", "||", "I", "->", "isThreadLocal", "(", ")", "||", "I", "->", "hasSection", "(", ")", ")", "continue", ";", "if", "(", "I", "->", "getAlignment", "(", ")", "!=", "0", ")", "continue", ";", "if", "(", "I", "->", "getName", "(", ")", ".", "startswith", "(", "\"llvm.\"", ")", "||", "I", "->", "getName", "(", ")", ".", "startswith", "(", "\".llvm.\"", ")", ")", "continue", ";", "if", "(", "TD", "->", "getTypeAllocSize", "(", "I", "->", "getType", "(", ")", ")", "<", "MaxOffset", ")", "{", "if", "(", "I", "->", "isConstant", "(", ")", ")", "ConstGlobals", ".", "push_back", "(", "I", ")", ";", "else", "Globals", ".", "push_back", "(", "I", ")", ";", "}", "}", "if", "(", "Globals", ".", "size", "(", ")", ">", "1", ")", "Changed", "|=", "doMerge", "(", "Globals", ",", "M", ",", "false", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["Set", "up", "the", "AsmPrinter", "when", "we", "are", "working", "on", "a", "new", "module", "."], "TS_V_token": ["ARM", "ARM", "16", "0", "\"llvm.\"", "\".llvm.\"", "1"], "File": "ARMGlobalMerge", "Func": "doInitialization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10672, "Length": 202} {"ground_truth": ["", "virtual", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "{", "AU", ".", "setPreservesCFG", "(", ")", ";", "FunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMGlobalMerge", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10673, "Length": 24} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"Merge internal globals\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"Merge internal globals\""], "File": "ARMGlobalMerge", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10674, "Length": 12} {"ground_truth": ["", "bool", "ARMGlobalMerge", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "return", "false", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMGlobalMerge", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10675, "Length": 14} {"ground_truth": ["", "uint64_t", "flags", "(", ")", "const", "{", "return", "llvm", "::", "ELF", "::", "EF_ARM_EABI_VER5", ";", "}", ""], "natrual_language": ["Get", "the", "flags", "for", "this", "GlobalValue", "(", "see", "struct", "GVFlags", ")", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMGNUInfo", "Func": "flags", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10676, "Length": 14} {"ground_truth": ["", "uint64_t", "ARMGOT", "::", "emit", "(", "MemoryRegion", "&", "pRegion", ")", "{", "uint32_t", "*", "buffer", "=", "reinterpret_cast", "<", "uint32_t", "*", ">", "(", "pRegion", ".", "begin", "(", ")", ")", ";", "ARMGOTEntry", "*", "got", "=", "NULL", ";", "uint64_t", "result", "=", "0x0", ";", "for", "(", "iterator", "it", "=", "begin", "(", ")", ",", "ie", "=", "end", "(", ")", ";", "it", "!=", "ie", ";", "++", "it", ",", "++", "buffer", ")", "{", "got", "=", "&", "(", "llvm", "::", "cast", "<", "ARMGOTEntry", ">", "(", "(", "*", "it", ")", ")", ")", ";", "*", "buffer", "=", "static_cast", "<", "uint32_t", ">", "(", "got", "->", "getValue", "(", ")", ")", ";", "result", "+=", "ARMGOTEntry", "::", "EntrySize", ";", "}", "return", "result", ";", "}", ""], "natrual_language": ["Output", "the", "remark", "via", "the", "diagnostic", "handler", "and", "to", "the", "optimization", "record", "file", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0x0", "ARM", "ARMGOTEntry::EntrySize"], "File": "ARMGOT", "Func": "emit", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10677, "Length": 108} {"ground_truth": ["", "void", "ARMHazardRecognizer", "::", "AdvanceCycle", "(", ")", "{", "if", "(", "FpMLxStalls", "&&", "--", "FpMLxStalls", "==", "0", ")", "LastMI", "=", "nullptr", ";", "ScoreboardHazardRecognizer", "::", "AdvanceCycle", "(", ")", ";", "}", ""], "natrual_language": ["AdvanceCycle", "-", "This", "callback", "is", "invoked", "whenever", "the", "next", "top-down", "instruction", "to", "be", "scheduled", "can", "not", "issue", "in", "the", "current", "cycle", ",", "either", "because", "of", "latency", "or", "resource", "conflicts", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMHazardRecognizer (2)", "Func": "AdvanceCycle", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10678, "Length": 27} {"ground_truth": ["", "void", "ARMHazardRecognizer", "::", "EmitInstruction", "(", "SUnit", "*", "SU", ")", "{", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugInstr", "(", ")", ")", "{", "LastMI", "=", "MI", ";", "FpMLxStalls", "=", "0", ";", "}", "ScoreboardHazardRecognizer", "::", "EmitInstruction", "(", "SU", ")", ";", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMHazardRecognizer (2)", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10679, "Length": 47} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "ARMHazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ",", "int", "Stalls", ")", "{", "assert", "(", "Stalls", "==", "0", "&&", "\"ARM hazards don't support scoreboard lookahead\"", ")", ";", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugInstr", "(", ")", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "LastMI", "&&", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "!=", "ARMII", "::", "DomainGeneral", ")", "{", "MachineInstr", "*", "DefMI", "=", "LastMI", ";", "const", "MCInstrDesc", "&", "LastMCID", "=", "LastMI", "->", "getDesc", "(", ")", ";", "const", "MachineFunction", "*", "MF", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", "->", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "LastMI", "->", "isBarrier", "(", ")", "&&", "!", "(", "TII", ".", "getSubtarget", "(", ")", ".", "hasMuxedUnits", "(", ")", "&&", "LastMI", "->", "mayLoadOrStore", "(", ")", ")", "&&", "(", "LastMCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainGeneral", ")", "{", "MachineBasicBlock", "::", "iterator", "I", "=", "LastMI", ";", "if", "(", "I", "!=", "LastMI", "->", "getParent", "(", ")", "->", "begin", "(", ")", ")", "{", "I", "=", "std", "::", "prev", "(", "I", ")", ";", "DefMI", "=", "&", "*", "I", ";", "}", "}", "if", "(", "TII", ".", "isFpMLxInstruction", "(", "DefMI", "->", "getOpcode", "(", ")", ")", "&&", "(", "TII", ".", "canCauseFpMLxStall", "(", "MI", "->", "getOpcode", "(", ")", ")", "||", "hasRAWHazard", "(", "DefMI", ",", "MI", ",", "TII", ".", "getRegisterInfo", "(", ")", ")", ")", ")", "{", "if", "(", "FpMLxStalls", "==", "0", ")", "FpMLxStalls", "=", "4", ";", "return", "Hazard", ";", "}", "}", "}", "return", "ScoreboardHazardRecognizer", "::", "getHazardType", "(", "SU", ",", "Stalls", ")", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "ARM", "0", "\"ARM hazards don't support scoreboard lookahead\"", "ARMII::DomainMask", "ARMII::DomainGeneral", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainGeneral", "0", "4"], "File": "ARMHazardRecognizer (2)", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10680, "Length": 279} {"ground_truth": ["", "void", "ARMHazardRecognizer", "::", "RecedeCycle", "(", ")", "{", "llvm_unreachable", "(", "\"reverse ARM hazard checking unsupported\"", ")", ";", "}", ""], "natrual_language": ["RecedeCycle", "-", "This", "callback", "is", "invoked", "whenever", "the", "next", "bottom-up", "instruction", "to", "be", "scheduled", "can", "not", "issue", "in", "the", "current", "cycle", ",", "either", "because", "of", "latency", "or", "resource", "conflicts", "."], "TS_V_token": ["ARM", "ARM", "\"reverse ARM hazard checking unsupported\""], "File": "ARMHazardRecognizer (2)", "Func": "RecedeCycle", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10681, "Length": 13} {"ground_truth": ["", "void", "ARMHazardRecognizer", "::", "Reset", "(", ")", "{", "LastMI", "=", "nullptr", ";", "FpMLxStalls", "=", "0", ";", "ScoreboardHazardRecognizer", "::", "Reset", "(", ")", ";", "}", ""], "natrual_language": ["Reset", "the", "unwind", "opcode", "assembler", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMHazardRecognizer (2)", "Func": "Reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10682, "Length": 22} {"ground_truth": ["", "void", "ARMHazardRecognizer", "::", "AdvanceCycle", "(", ")", "{", "if", "(", "Stalls", "&&", "--", "Stalls", "==", "0", ")", "LastMI", "=", "0", ";", "ScoreboardHazardRecognizer", "::", "AdvanceCycle", "(", ")", ";", "}", ""], "natrual_language": ["AdvanceCycle", "-", "This", "callback", "is", "invoked", "whenever", "the", "next", "top-down", "instruction", "to", "be", "scheduled", "can", "not", "issue", "in", "the", "current", "cycle", ",", "either", "because", "of", "latency", "or", "resource", "conflicts", "."], "TS_V_token": ["ARM", "ARM", "0", "0"], "File": "ARMHazardRecognizer10", "Func": "AdvanceCycle", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10683, "Length": 27} {"ground_truth": ["", "void", "ARMHazardRecognizer", "::", "EmitInstruction", "(", "SUnit", "*", "SU", ")", "{", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "unsigned", "Opcode", "=", "MI", "->", "getOpcode", "(", ")", ";", "if", "(", "ITBlockSize", ")", "{", "--", "ITBlockSize", ";", "}", "else", "if", "(", "Opcode", "==", "ARM", "::", "t2IT", ")", "{", "unsigned", "Mask", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "unsigned", "NumTZ", "=", "CountTrailingZeros_32", "(", "Mask", ")", ";", "assert", "(", "NumTZ", "<=", "3", "&&", "\"Invalid IT mask!\"", ")", ";", "ITBlockSize", "=", "4", "-", "NumTZ", ";", "MachineBasicBlock", "::", "iterator", "I", "=", "MI", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "ITBlockSize", ";", "++", "i", ")", "{", "do", "{", "++", "I", ";", "}", "while", "(", "I", "->", "isDebugValue", "(", ")", ")", ";", "ITBlockMIs", "[", "ITBlockSize", "-", "1", "-", "i", "]", "=", "&", "*", "I", ";", "}", "}", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "LastMI", "=", "MI", ";", "Stalls", "=", "0", ";", "}", "ScoreboardHazardRecognizer", "::", "EmitInstruction", "(", "SU", ")", ";", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2IT", "1", "3", "\"Invalid IT mask!\"", "4", "0", "1", "0"], "File": "ARMHazardRecognizer10", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10684, "Length": 164} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "ARMHazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ")", "{", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "if", "(", "ITBlockSize", "&&", "MI", "!=", "ITBlockMIs", "[", "ITBlockSize", "-", "1", "]", ")", "return", "Hazard", ";", "const", "TargetInstrDesc", "&", "TID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "LastMI", "&&", "(", "TID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "!=", "ARMII", "::", "DomainGeneral", ")", "{", "MachineInstr", "*", "DefMI", "=", "LastMI", ";", "const", "TargetInstrDesc", "&", "LastTID", "=", "LastMI", "->", "getDesc", "(", ")", ";", "if", "(", "!", "LastTID", ".", "isBarrier", "(", ")", "&&", "(", "LastTID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainGeneral", ")", "{", "MachineBasicBlock", "::", "iterator", "I", "=", "LastMI", ";", "if", "(", "I", "!=", "LastMI", "->", "getParent", "(", ")", "->", "begin", "(", ")", ")", "{", "I", "=", "llvm", "::", "prior", "(", "I", ")", ";", "DefMI", "=", "&", "*", "I", ";", "}", "}", "if", "(", "TII", ".", "isFpMLxInstruction", "(", "DefMI", "->", "getOpcode", "(", ")", ")", "&&", "(", "TII", ".", "canCauseFpMLxStall", "(", "MI", "->", "getOpcode", "(", ")", ")", "||", "hasRAWHazard", "(", "DefMI", ",", "MI", ",", "TRI", ")", ")", ")", "{", "if", "(", "Stalls", "==", "0", ")", "Stalls", "=", "4", ";", "return", "Hazard", ";", "}", "}", "}", "return", "ScoreboardHazardRecognizer", "::", "getHazardType", "(", "SU", ")", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "ARM", "1", "ARMII::DomainMask", "ARMII::DomainGeneral", "ARMII::DomainMask", "ARMII::DomainGeneral", "0", "4"], "File": "ARMHazardRecognizer10", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10685, "Length": 219} {"ground_truth": ["", "void", "ARMHazardRecognizer", "::", "Reset", "(", ")", "{", "LastMI", "=", "0", ";", "Stalls", "=", "0", ";", "ITBlockSize", "=", "0", ";", "ScoreboardHazardRecognizer", "::", "Reset", "(", ")", ";", "}", ""], "natrual_language": ["Reset", "the", "unwind", "opcode", "assembler", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "0"], "File": "ARMHazardRecognizer10", "Func": "Reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10686, "Length": 26} {"ground_truth": ["", "void", "ARMHazardRecognizer", "::", "AdvanceCycle", "(", ")", "{", "if", "(", "FpMLxStalls", "&&", "--", "FpMLxStalls", "==", "0", ")", "LastMI", "=", "0", ";", "ScoreboardHazardRecognizer", "::", "AdvanceCycle", "(", ")", ";", "}", ""], "natrual_language": ["AdvanceCycle", "-", "This", "callback", "is", "invoked", "whenever", "the", "next", "top-down", "instruction", "to", "be", "scheduled", "can", "not", "issue", "in", "the", "current", "cycle", ",", "either", "because", "of", "latency", "or", "resource", "conflicts", "."], "TS_V_token": ["ARM", "ARM", "0", "0"], "File": "ARMHazardRecognizer16", "Func": "AdvanceCycle", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10687, "Length": 27} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "ARMHazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ",", "int", "Stalls", ")", "{", "assert", "(", "Stalls", "==", "0", "&&", "\"ARM hazards don't support scoreboard lookahead\"", ")", ";", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "LastMI", "&&", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "!=", "ARMII", "::", "DomainGeneral", ")", "{", "MachineInstr", "*", "DefMI", "=", "LastMI", ";", "const", "MCInstrDesc", "&", "LastMCID", "=", "LastMI", "->", "getDesc", "(", ")", ";", "if", "(", "!", "LastMI", "->", "isBarrier", "(", ")", "&&", "!", "(", "STI", ".", "isCortexA9", "(", ")", "&&", "(", "LastMI", "->", "mayLoad", "(", ")", "||", "LastMI", "->", "mayStore", "(", ")", ")", ")", "&&", "(", "LastMCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainGeneral", ")", "{", "MachineBasicBlock", "::", "iterator", "I", "=", "LastMI", ";", "if", "(", "I", "!=", "LastMI", "->", "getParent", "(", ")", "->", "begin", "(", ")", ")", "{", "I", "=", "llvm", "::", "prior", "(", "I", ")", ";", "DefMI", "=", "&", "*", "I", ";", "}", "}", "if", "(", "TII", ".", "isFpMLxInstruction", "(", "DefMI", "->", "getOpcode", "(", ")", ")", "&&", "(", "TII", ".", "canCauseFpMLxStall", "(", "MI", "->", "getOpcode", "(", ")", ")", "||", "hasRAWHazard", "(", "DefMI", ",", "MI", ",", "TRI", ")", ")", ")", "{", "if", "(", "FpMLxStalls", "==", "0", ")", "FpMLxStalls", "=", "4", ";", "return", "Hazard", ";", "}", "}", "}", "return", "ScoreboardHazardRecognizer", "::", "getHazardType", "(", "SU", ",", "Stalls", ")", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "ARM", "0", "\"ARM hazards don't support scoreboard lookahead\"", "ARMII::DomainMask", "ARMII::DomainGeneral", "ARMII::DomainMask", "ARMII::DomainGeneral", "0", "4"], "File": "ARMHazardRecognizer16", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10688, "Length": 240} {"ground_truth": ["", "void", "ARMHazardRecognizer", "::", "Reset", "(", ")", "{", "LastMI", "=", "0", ";", "FpMLxStalls", "=", "0", ";", "ScoreboardHazardRecognizer", "::", "Reset", "(", ")", ";", "}", ""], "natrual_language": ["Reset", "the", "unwind", "opcode", "assembler", "."], "TS_V_token": ["ARM", "ARM", "0", "0"], "File": "ARMHazardRecognizer16", "Func": "Reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10689, "Length": 22} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "ARMHazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ",", "int", "Stalls", ")", "{", "assert", "(", "Stalls", "==", "0", "&&", "\"ARM hazards don't support scoreboard lookahead\"", ")", ";", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "LastMI", "&&", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "!=", "ARMII", "::", "DomainGeneral", ")", "{", "MachineInstr", "*", "DefMI", "=", "LastMI", ";", "const", "MCInstrDesc", "&", "LastMCID", "=", "LastMI", "->", "getDesc", "(", ")", ";", "const", "MachineFunction", "*", "MF", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", "->", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "LastMI", "->", "isBarrier", "(", ")", "&&", "!", "(", "TII", ".", "getSubtarget", "(", ")", ".", "hasMuxedUnits", "(", ")", "&&", "LastMI", "->", "mayLoadOrStore", "(", ")", ")", "&&", "(", "LastMCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainGeneral", ")", "{", "MachineBasicBlock", "::", "iterator", "I", "=", "LastMI", ";", "if", "(", "I", "!=", "LastMI", "->", "getParent", "(", ")", "->", "begin", "(", ")", ")", "{", "I", "=", "std", "::", "prev", "(", "I", ")", ";", "DefMI", "=", "&", "*", "I", ";", "}", "}", "if", "(", "TII", ".", "isFpMLxInstruction", "(", "DefMI", "->", "getOpcode", "(", ")", ")", "&&", "(", "TII", ".", "canCauseFpMLxStall", "(", "MI", "->", "getOpcode", "(", ")", ")", "||", "hasRAWHazard", "(", "DefMI", ",", "MI", ",", "TII", ".", "getRegisterInfo", "(", ")", ")", ")", ")", "{", "if", "(", "FpMLxStalls", "==", "0", ")", "FpMLxStalls", "=", "4", ";", "return", "Hazard", ";", "}", "}", "}", "return", "ScoreboardHazardRecognizer", "::", "getHazardType", "(", "SU", ",", "Stalls", ")", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "ARM", "0", "\"ARM hazards don't support scoreboard lookahead\"", "ARMII::DomainMask", "ARMII::DomainGeneral", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainGeneral", "0", "4"], "File": "ARMHazardRecognizer17", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10690, "Length": 279} {"ground_truth": ["", "void", "ARMBankConflictHazardRecognizer", "::", "AdvanceCycle", "(", ")", "{", "Accesses", ".", "clear", "(", ")", ";", "}", ""], "natrual_language": ["AdvanceCycle", "-", "This", "callback", "is", "invoked", "whenever", "the", "next", "top-down", "instruction", "to", "be", "scheduled", "can", "not", "issue", "in", "the", "current", "cycle", ",", "either", "because", "of", "latency", "or", "resource", "conflicts", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMHazardRecognizer19", "Func": "AdvanceCycle", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10691, "Length": 14} {"ground_truth": ["", "void", "ARMBankConflictHazardRecognizer", "::", "EmitInstruction", "(", "SUnit", "*", "SU", ")", "{", "MachineInstr", "&", "MI", "=", "*", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", ".", "mayLoad", "(", ")", "||", "MI", ".", "mayStore", "(", ")", "||", "MI", ".", "getNumMemOperands", "(", ")", "!=", "1", ")", "return", ";", "auto", "MO", "=", "*", "MI", ".", "memoperands", "(", ")", ".", "begin", "(", ")", ";", "uint64_t", "Size1", "=", "MO", "->", "getSize", "(", ")", ";", "if", "(", "Size1", ">", "4", ")", "return", ";", "Accesses", ".", "push_back", "(", "&", "MI", ")", ";", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM", "1", "4"], "File": "ARMHazardRecognizer19", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10692, "Length": 86} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "ARMBankConflictHazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ",", "int", "Stalls", ")", "{", "MachineInstr", "&", "L0", "=", "*", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "L0", ".", "mayLoad", "(", ")", "||", "L0", ".", "mayStore", "(", ")", "||", "L0", ".", "getNumMemOperands", "(", ")", "!=", "1", ")", "return", "NoHazard", ";", "auto", "MO0", "=", "*", "L0", ".", "memoperands", "(", ")", ".", "begin", "(", ")", ";", "auto", "BaseVal0", "=", "MO0", "->", "getValue", "(", ")", ";", "auto", "BasePseudoVal0", "=", "MO0", "->", "getPseudoValue", "(", ")", ";", "int64_t", "Offset0", "=", "0", ";", "if", "(", "MO0", "->", "getSize", "(", ")", ">", "4", ")", "return", "NoHazard", ";", "bool", "SPvalid", "=", "false", ";", "const", "MachineOperand", "*", "SP", "=", "nullptr", ";", "int64_t", "SPOffset0", "=", "0", ";", "for", "(", "auto", "L1", ":", "Accesses", ")", "{", "auto", "MO1", "=", "*", "L1", "->", "memoperands", "(", ")", ".", "begin", "(", ")", ";", "auto", "BaseVal1", "=", "MO1", "->", "getValue", "(", ")", ";", "auto", "BasePseudoVal1", "=", "MO1", "->", "getPseudoValue", "(", ")", ";", "int64_t", "Offset1", "=", "0", ";", "if", "(", "BaseVal0", "&&", "BaseVal1", ")", "{", "const", "Value", "*", "Ptr0", ",", "*", "Ptr1", ";", "Ptr0", "=", "GetPointerBaseWithConstantOffset", "(", "BaseVal0", ",", "Offset0", ",", "DL", ",", "true", ")", ";", "Ptr1", "=", "GetPointerBaseWithConstantOffset", "(", "BaseVal1", ",", "Offset1", ",", "DL", ",", "true", ")", ";", "if", "(", "Ptr0", "==", "Ptr1", "&&", "Ptr0", ")", "return", "CheckOffsets", "(", "Offset0", ",", "Offset1", ")", ";", "}", "if", "(", "BasePseudoVal0", "&&", "BasePseudoVal1", "&&", "BasePseudoVal0", "->", "kind", "(", ")", "==", "BasePseudoVal1", "->", "kind", "(", ")", "&&", "BasePseudoVal0", "->", "kind", "(", ")", "==", "PseudoSourceValue", "::", "FixedStack", ")", "{", "auto", "FS0", "=", "cast", "<", "FixedStackPseudoSourceValue", ">", "(", "BasePseudoVal0", ")", ";", "auto", "FS1", "=", "cast", "<", "FixedStackPseudoSourceValue", ">", "(", "BasePseudoVal1", ")", ";", "Offset0", "=", "MF", ".", "getFrameInfo", "(", ")", ".", "getObjectOffset", "(", "FS0", "->", "getFrameIndex", "(", ")", ")", ";", "Offset1", "=", "MF", ".", "getFrameInfo", "(", ")", ".", "getObjectOffset", "(", "FS1", "->", "getFrameIndex", "(", ")", ")", ";", "return", "CheckOffsets", "(", "Offset0", ",", "Offset1", ")", ";", "}", "if", "(", "BasePseudoVal0", "&&", "BasePseudoVal1", "&&", "BasePseudoVal0", "->", "kind", "(", ")", "==", "BasePseudoVal1", "->", "kind", "(", ")", "&&", "BasePseudoVal0", "->", "isConstantPool", "(", ")", "&&", "AssumeITCMBankConflict", ")", "return", "Hazard", ";", "if", "(", "!", "SPvalid", ")", "{", "if", "(", "!", "getBaseOffset", "(", "L0", ",", "SP", ",", "SPOffset0", ")", "||", "SP", "->", "getReg", "(", ")", ".", "id", "(", ")", "!=", "ARM", "::", "SP", ")", "SP", "=", "nullptr", ";", "SPvalid", "=", "true", ";", "}", "if", "(", "SP", ")", "{", "int64_t", "SPOffset1", ";", "const", "MachineOperand", "*", "SP1", ";", "if", "(", "getBaseOffset", "(", "*", "L1", ",", "SP1", ",", "SPOffset1", ")", "&&", "SP1", "->", "getReg", "(", ")", ".", "id", "(", ")", "==", "ARM", "::", "SP", ")", "return", "CheckOffsets", "(", "SPOffset0", ",", "SPOffset1", ")", ";", "}", "}", "return", "NoHazard", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "4", "0", "0", "ARM::SP", "ARM::SP"], "File": "ARMHazardRecognizer19", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10693, "Length": 439} {"ground_truth": ["", "void", "ARMBankConflictHazardRecognizer", "::", "RecedeCycle", "(", ")", "{", "Accesses", ".", "clear", "(", ")", ";", "}", ""], "natrual_language": ["RecedeCycle", "-", "This", "callback", "is", "invoked", "whenever", "the", "next", "bottom-up", "instruction", "to", "be", "scheduled", "can", "not", "issue", "in", "the", "current", "cycle", ",", "either", "because", "of", "latency", "or", "resource", "conflicts", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMHazardRecognizer19", "Func": "RecedeCycle", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10694, "Length": 14} {"ground_truth": ["", "void", "ARMBankConflictHazardRecognizer", "::", "Reset", "(", ")", "{", "Accesses", ".", "clear", "(", ")", ";", "}", ""], "natrual_language": ["Reset", "the", "unwind", "opcode", "assembler", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMHazardRecognizer19", "Func": "Reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10695, "Length": 14} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "ARMHazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ",", "int", "Stalls", ")", "{", "assert", "(", "Stalls", "==", "0", "&&", "\"ARM hazards don't support scoreboard lookahead\"", ")", ";", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "LastMI", "&&", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "!=", "ARMII", "::", "DomainGeneral", ")", "{", "MachineInstr", "*", "DefMI", "=", "LastMI", ";", "const", "MCInstrDesc", "&", "LastMCID", "=", "LastMI", "->", "getDesc", "(", ")", ";", "const", "MachineFunction", "*", "MF", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", "->", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "LastMI", "->", "isBarrier", "(", ")", "&&", "!", "(", "TII", ".", "getSubtarget", "(", ")", ".", "isLikeA9", "(", ")", "&&", "LastMI", "->", "mayLoadOrStore", "(", ")", ")", "&&", "(", "LastMCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainGeneral", ")", "{", "MachineBasicBlock", "::", "iterator", "I", "=", "LastMI", ";", "if", "(", "I", "!=", "LastMI", "->", "getParent", "(", ")", "->", "begin", "(", ")", ")", "{", "I", "=", "std", "::", "prev", "(", "I", ")", ";", "DefMI", "=", "&", "*", "I", ";", "}", "}", "if", "(", "TII", ".", "isFpMLxInstruction", "(", "DefMI", "->", "getOpcode", "(", ")", ")", "&&", "(", "TII", ".", "canCauseFpMLxStall", "(", "MI", "->", "getOpcode", "(", ")", ")", "||", "hasRAWHazard", "(", "DefMI", ",", "MI", ",", "TII", ".", "getRegisterInfo", "(", ")", ")", ")", ")", "{", "if", "(", "FpMLxStalls", "==", "0", ")", "FpMLxStalls", "=", "4", ";", "return", "Hazard", ";", "}", "}", "}", "return", "ScoreboardHazardRecognizer", "::", "getHazardType", "(", "SU", ",", "Stalls", ")", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "ARM", "0", "\"ARM hazards don't support scoreboard lookahead\"", "ARMII::DomainMask", "ARMII::DomainGeneral", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainGeneral", "0", "4"], "File": "ARMHazardRecognizer1", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10696, "Length": 279} {"ground_truth": ["", "void", "ARMHazardRecognizer", "::", "EmitInstruction", "(", "SUnit", "*", "SU", ")", "{", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "unsigned", "Opcode", "=", "MI", "->", "getOpcode", "(", ")", ";", "if", "(", "ITBlockSize", ")", "{", "--", "ITBlockSize", ";", "}", "else", "if", "(", "Opcode", "==", "ARM", "::", "t2IT", ")", "{", "unsigned", "Mask", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "unsigned", "NumTZ", "=", "CountTrailingZeros_32", "(", "Mask", ")", ";", "assert", "(", "NumTZ", "<=", "3", "&&", "\"Invalid IT mask!\"", ")", ";", "ITBlockSize", "=", "4", "-", "NumTZ", ";", "MachineBasicBlock", "::", "iterator", "I", "=", "MI", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "ITBlockSize", ";", "++", "i", ")", "{", "do", "{", "++", "I", ";", "}", "while", "(", "I", "->", "isDebugValue", "(", ")", ")", ";", "ITBlockMIs", "[", "ITBlockSize", "-", "1", "-", "i", "]", "=", "&", "*", "I", ";", "}", "}", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "LastMI", "=", "MI", ";", "FpMLxStalls", "=", "0", ";", "}", "ScoreboardHazardRecognizer", "::", "EmitInstruction", "(", "SU", ")", ";", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM", "ARM::t2IT", "1", "3", "\"Invalid IT mask!\"", "4", "0", "1", "0"], "File": "ARMHazardRecognizer20", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10697, "Length": 164} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "ARMHazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ",", "int", "Stalls", ")", "{", "assert", "(", "Stalls", "==", "0", "&&", "\"ARM hazards don't support scoreboard lookahead\"", ")", ";", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "if", "(", "ITBlockSize", "&&", "MI", "!=", "ITBlockMIs", "[", "ITBlockSize", "-", "1", "]", ")", "return", "Hazard", ";", "const", "TargetInstrDesc", "&", "TID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "LastMI", "&&", "(", "TID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "!=", "ARMII", "::", "DomainGeneral", ")", "{", "MachineInstr", "*", "DefMI", "=", "LastMI", ";", "const", "TargetInstrDesc", "&", "LastTID", "=", "LastMI", "->", "getDesc", "(", ")", ";", "if", "(", "!", "LastTID", ".", "isBarrier", "(", ")", "&&", "(", "LastTID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainGeneral", ")", "{", "MachineBasicBlock", "::", "iterator", "I", "=", "LastMI", ";", "if", "(", "I", "!=", "LastMI", "->", "getParent", "(", ")", "->", "begin", "(", ")", ")", "{", "I", "=", "llvm", "::", "prior", "(", "I", ")", ";", "DefMI", "=", "&", "*", "I", ";", "}", "}", "if", "(", "TII", ".", "isFpMLxInstruction", "(", "DefMI", "->", "getOpcode", "(", ")", ")", "&&", "(", "TII", ".", "canCauseFpMLxStall", "(", "MI", "->", "getOpcode", "(", ")", ")", "||", "hasRAWHazard", "(", "DefMI", ",", "MI", ",", "TRI", ")", ")", ")", "{", "if", "(", "FpMLxStalls", "==", "0", ")", "FpMLxStalls", "=", "4", ";", "return", "Hazard", ";", "}", "}", "}", "return", "ScoreboardHazardRecognizer", "::", "getHazardType", "(", "SU", ",", "Stalls", ")", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "ARM", "0", "\"ARM hazards don't support scoreboard lookahead\"", "1", "ARMII::DomainMask", "ARMII::DomainGeneral", "ARMII::DomainMask", "ARMII::DomainGeneral", "0", "4"], "File": "ARMHazardRecognizer20", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10698, "Length": 233} {"ground_truth": ["", "void", "ARMHazardRecognizer", "::", "Reset", "(", ")", "{", "LastMI", "=", "0", ";", "FpMLxStalls", "=", "0", ";", "ITBlockSize", "=", "0", ";", "ScoreboardHazardRecognizer", "::", "Reset", "(", ")", ";", "}", ""], "natrual_language": ["Reset", "the", "unwind", "opcode", "assembler", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "0"], "File": "ARMHazardRecognizer20", "Func": "Reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10699, "Length": 26} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "ARMHazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ",", "int", "Stalls", ")", "{", "assert", "(", "Stalls", "==", "0", "&&", "\"ARM hazards don't support scoreboard lookahead\"", ")", ";", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "LastMI", "&&", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "!=", "ARMII", "::", "DomainGeneral", ")", "{", "MachineInstr", "*", "DefMI", "=", "LastMI", ";", "const", "MCInstrDesc", "&", "LastMCID", "=", "LastMI", "->", "getDesc", "(", ")", ";", "const", "MachineFunction", "*", "MF", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", "->", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "LastMI", "->", "isBarrier", "(", ")", "&&", "!", "(", "TII", ".", "getSubtarget", "(", ")", ".", "isLikeA9", "(", ")", "&&", "(", "LastMI", "->", "mayLoad", "(", ")", "||", "LastMI", "->", "mayStore", "(", ")", ")", ")", "&&", "(", "LastMCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainGeneral", ")", "{", "MachineBasicBlock", "::", "iterator", "I", "=", "LastMI", ";", "if", "(", "I", "!=", "LastMI", "->", "getParent", "(", ")", "->", "begin", "(", ")", ")", "{", "I", "=", "std", "::", "prev", "(", "I", ")", ";", "DefMI", "=", "&", "*", "I", ";", "}", "}", "if", "(", "TII", ".", "isFpMLxInstruction", "(", "DefMI", "->", "getOpcode", "(", ")", ")", "&&", "(", "TII", ".", "canCauseFpMLxStall", "(", "MI", "->", "getOpcode", "(", ")", ")", "||", "hasRAWHazard", "(", "DefMI", ",", "MI", ",", "TII", ".", "getRegisterInfo", "(", ")", ")", ")", ")", "{", "if", "(", "FpMLxStalls", "==", "0", ")", "FpMLxStalls", "=", "4", ";", "return", "Hazard", ";", "}", "}", "}", "return", "ScoreboardHazardRecognizer", "::", "getHazardType", "(", "SU", ",", "Stalls", ")", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "ARM", "0", "\"ARM hazards don't support scoreboard lookahead\"", "ARMII::DomainMask", "ARMII::DomainGeneral", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainGeneral", "0", "4"], "File": "ARMHazardRecognizer22", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10700, "Length": 287} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "ARMHazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ",", "int", "Stalls", ")", "{", "assert", "(", "Stalls", "==", "0", "&&", "\"ARM hazards don't support scoreboard lookahead\"", ")", ";", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "LastMI", "&&", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "!=", "ARMII", "::", "DomainGeneral", ")", "{", "MachineInstr", "*", "DefMI", "=", "LastMI", ";", "const", "MCInstrDesc", "&", "LastMCID", "=", "LastMI", "->", "getDesc", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getTarget", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "TM", ".", "getSubtargetImpl", "(", ")", "->", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "LastMI", "->", "isBarrier", "(", ")", "&&", "!", "(", "TII", ".", "getSubtarget", "(", ")", ".", "isLikeA9", "(", ")", "&&", "(", "LastMI", "->", "mayLoad", "(", ")", "||", "LastMI", "->", "mayStore", "(", ")", ")", ")", "&&", "(", "LastMCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainGeneral", ")", "{", "MachineBasicBlock", "::", "iterator", "I", "=", "LastMI", ";", "if", "(", "I", "!=", "LastMI", "->", "getParent", "(", ")", "->", "begin", "(", ")", ")", "{", "I", "=", "std", "::", "prev", "(", "I", ")", ";", "DefMI", "=", "&", "*", "I", ";", "}", "}", "if", "(", "TII", ".", "isFpMLxInstruction", "(", "DefMI", "->", "getOpcode", "(", ")", ")", "&&", "(", "TII", ".", "canCauseFpMLxStall", "(", "MI", "->", "getOpcode", "(", ")", ")", "||", "hasRAWHazard", "(", "DefMI", ",", "MI", ",", "TII", ".", "getRegisterInfo", "(", ")", ")", ")", ")", "{", "if", "(", "FpMLxStalls", "==", "0", ")", "FpMLxStalls", "=", "4", ";", "return", "Hazard", ";", "}", "}", "}", "return", "ScoreboardHazardRecognizer", "::", "getHazardType", "(", "SU", ",", "Stalls", ")", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "ARM", "0", "\"ARM hazards don't support scoreboard lookahead\"", "ARMII::DomainMask", "ARMII::DomainGeneral", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainGeneral", "0", "4"], "File": "ARMHazardRecognizer23", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10701, "Length": 291} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "ARMHazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ",", "int", "Stalls", ")", "{", "assert", "(", "Stalls", "==", "0", "&&", "\"ARM hazards don't support scoreboard lookahead\"", ")", ";", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "LastMI", "&&", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "!=", "ARMII", "::", "DomainGeneral", ")", "{", "MachineInstr", "*", "DefMI", "=", "LastMI", ";", "const", "MCInstrDesc", "&", "LastMCID", "=", "LastMI", "->", "getDesc", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getTarget", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "LastMI", "->", "isBarrier", "(", ")", "&&", "!", "(", "TII", ".", "getSubtarget", "(", ")", ".", "isLikeA9", "(", ")", "&&", "(", "LastMI", "->", "mayLoad", "(", ")", "||", "LastMI", "->", "mayStore", "(", ")", ")", ")", "&&", "(", "LastMCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainGeneral", ")", "{", "MachineBasicBlock", "::", "iterator", "I", "=", "LastMI", ";", "if", "(", "I", "!=", "LastMI", "->", "getParent", "(", ")", "->", "begin", "(", ")", ")", "{", "I", "=", "llvm", "::", "prior", "(", "I", ")", ";", "DefMI", "=", "&", "*", "I", ";", "}", "}", "if", "(", "TII", ".", "isFpMLxInstruction", "(", "DefMI", "->", "getOpcode", "(", ")", ")", "&&", "(", "TII", ".", "canCauseFpMLxStall", "(", "MI", "->", "getOpcode", "(", ")", ")", "||", "hasRAWHazard", "(", "DefMI", ",", "MI", ",", "TII", ".", "getRegisterInfo", "(", ")", ")", ")", ")", "{", "if", "(", "FpMLxStalls", "==", "0", ")", "FpMLxStalls", "=", "4", ";", "return", "Hazard", ";", "}", "}", "}", "return", "ScoreboardHazardRecognizer", "::", "getHazardType", "(", "SU", ",", "Stalls", ")", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "ARM", "0", "\"ARM hazards don't support scoreboard lookahead\"", "ARMII::DomainMask", "ARMII::DomainGeneral", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainGeneral", "0", "4"], "File": "ARMHazardRecognizer24", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10702, "Length": 287} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "ARMHazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ",", "int", "Stalls", ")", "{", "assert", "(", "Stalls", "==", "0", "&&", "\"ARM hazards don't support scoreboard lookahead\"", ")", ";", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "if", "(", "ITBlockSize", "&&", "MI", "!=", "ITBlockMIs", "[", "ITBlockSize", "-", "1", "]", ")", "return", "Hazard", ";", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "LastMI", "&&", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "!=", "ARMII", "::", "DomainGeneral", ")", "{", "MachineInstr", "*", "DefMI", "=", "LastMI", ";", "const", "MCInstrDesc", "&", "LastMCID", "=", "LastMI", "->", "getDesc", "(", ")", ";", "if", "(", "!", "LastMCID", ".", "isBarrier", "(", ")", "&&", "!", "(", "STI", ".", "isCortexA9", "(", ")", "&&", "(", "LastMCID", ".", "mayLoad", "(", ")", "||", "LastMCID", ".", "mayStore", "(", ")", ")", ")", "&&", "(", "LastMCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainGeneral", ")", "{", "MachineBasicBlock", "::", "iterator", "I", "=", "LastMI", ";", "if", "(", "I", "!=", "LastMI", "->", "getParent", "(", ")", "->", "begin", "(", ")", ")", "{", "I", "=", "llvm", "::", "prior", "(", "I", ")", ";", "DefMI", "=", "&", "*", "I", ";", "}", "}", "if", "(", "TII", ".", "isFpMLxInstruction", "(", "DefMI", "->", "getOpcode", "(", ")", ")", "&&", "(", "TII", ".", "canCauseFpMLxStall", "(", "MI", "->", "getOpcode", "(", ")", ")", "||", "hasRAWHazard", "(", "DefMI", ",", "MI", ",", "TRI", ")", ")", ")", "{", "if", "(", "FpMLxStalls", "==", "0", ")", "FpMLxStalls", "=", "4", ";", "return", "Hazard", ";", "}", "}", "}", "return", "ScoreboardHazardRecognizer", "::", "getHazardType", "(", "SU", ",", "Stalls", ")", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "ARM", "0", "\"ARM hazards don't support scoreboard lookahead\"", "1", "ARMII::DomainMask", "ARMII::DomainGeneral", "ARMII::DomainMask", "ARMII::DomainGeneral", "0", "4"], "File": "ARMHazardRecognizer26", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10703, "Length": 256} {"ground_truth": ["", "void", "ARMHazardRecognizer", "::", "EmitInstruction", "(", "SUnit", "*", "SU", ")", "{", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "LastMI", "=", "MI", ";", "FpMLxStalls", "=", "0", ";", "}", "ScoreboardHazardRecognizer", "::", "EmitInstruction", "(", "SU", ")", ";", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMHazardRecognizer", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10704, "Length": 47} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "ARMHazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ",", "int", "Stalls", ")", "{", "assert", "(", "Stalls", "==", "0", "&&", "\"ARM hazards don't support scoreboard lookahead\"", ")", ";", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", ")", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "LastMI", "&&", "(", "MCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "!=", "ARMII", "::", "DomainGeneral", ")", "{", "MachineInstr", "*", "DefMI", "=", "LastMI", ";", "const", "MCInstrDesc", "&", "LastMCID", "=", "LastMI", "->", "getDesc", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "MI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getTarget", "(", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "LastMI", "->", "isBarrier", "(", ")", "&&", "!", "(", "TII", ".", "getSubtarget", "(", ")", ".", "isLikeA9", "(", ")", "&&", "(", "LastMI", "->", "mayLoad", "(", ")", "||", "LastMI", "->", "mayStore", "(", ")", ")", ")", "&&", "(", "LastMCID", ".", "TSFlags", "&", "ARMII", "::", "DomainMask", ")", "==", "ARMII", "::", "DomainGeneral", ")", "{", "MachineBasicBlock", "::", "iterator", "I", "=", "LastMI", ";", "if", "(", "I", "!=", "LastMI", "->", "getParent", "(", ")", "->", "begin", "(", ")", ")", "{", "I", "=", "std", "::", "prev", "(", "I", ")", ";", "DefMI", "=", "&", "*", "I", ";", "}", "}", "if", "(", "TII", ".", "isFpMLxInstruction", "(", "DefMI", "->", "getOpcode", "(", ")", ")", "&&", "(", "TII", ".", "canCauseFpMLxStall", "(", "MI", "->", "getOpcode", "(", ")", ")", "||", "hasRAWHazard", "(", "DefMI", ",", "MI", ",", "TII", ".", "getRegisterInfo", "(", ")", ")", ")", ")", "{", "if", "(", "FpMLxStalls", "==", "0", ")", "FpMLxStalls", "=", "4", ";", "return", "Hazard", ";", "}", "}", "}", "return", "ScoreboardHazardRecognizer", "::", "getHazardType", "(", "SU", ",", "Stalls", ")", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "ARM", "0", "\"ARM hazards don't support scoreboard lookahead\"", "ARMII::DomainMask", "ARMII::DomainGeneral", "ARM", "ARM", "ARMII::DomainMask", "ARMII::DomainGeneral", "0", "4"], "File": "ARMHazardRecognizer", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10705, "Length": 287} {"ground_truth": ["", "void", "ARMInstPrinter", "::", "printRegName", "(", "raw_ostream", "&", "OS", ",", "unsigned", "RegNo", ")", "const", "{", "OS", "<<", "markup", "(", "\"\"", ")", ";", "}", ""], "natrual_language": ["Print", "the", "assembler", "register", "name", "."], "TS_V_token": ["ARM", "ARM", "\"\""], "File": "ARMInstPrinter (2)", "Func": "printRegName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10706, "Length": 32} {"ground_truth": ["", "StringRef", "ARMInstPrinter", "::", "getOpcodeName", "(", "unsigned", "Opcode", ")", "const", "{", "return", "getInstructionName", "(", "Opcode", ")", ";", "}", ""], "natrual_language": ["Return", "a", "string", "representation", "for", "an", "opcode", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMInstPrinter16", "Func": "getOpcodeName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10707, "Length": 17} {"ground_truth": ["", "void", "ARMInstPrinter", "::", "printInst", "(", "const", "MCInst", "*", "MI", ",", "raw_ostream", "&", "O", ")", "{", "unsigned", "Opcode", "=", "MI", "->", "getOpcode", "(", ")", ";", "if", "(", "Opcode", "==", "ARM", "::", "MOVs", ")", "{", "const", "MCOperand", "&", "Dst", "=", "MI", "->", "getOperand", "(", "0", ")", ";", "const", "MCOperand", "&", "MO1", "=", "MI", "->", "getOperand", "(", "1", ")", ";", "const", "MCOperand", "&", "MO2", "=", "MI", "->", "getOperand", "(", "2", ")", ";", "const", "MCOperand", "&", "MO3", "=", "MI", "->", "getOperand", "(", "3", ")", ";", "O", "<<", "'\\t'", "<<", "ARM_AM", "::", "getShiftOpcStr", "(", "ARM_AM", "::", "getSORegShOp", "(", "MO3", ".", "getImm", "(", ")", ")", ")", ";", "printSBitModifierOperand", "(", "MI", ",", "6", ",", "O", ")", ";", "printPredicateOperand", "(", "MI", ",", "4", ",", "O", ")", ";", "O", "<<", "'\\t'", "<<", "getRegisterName", "(", "Dst", ".", "getReg", "(", ")", ")", "<<", "\", \"", "<<", "getRegisterName", "(", "MO1", ".", "getReg", "(", ")", ")", ";", "if", "(", "ARM_AM", "::", "getSORegShOp", "(", "MO3", ".", "getImm", "(", ")", ")", "==", "ARM_AM", "::", "rrx", ")", "return", ";", "O", "<<", "\", \"", ";", "if", "(", "MO2", ".", "getReg", "(", ")", ")", "{", "O", "<<", "getRegisterName", "(", "MO2", ".", "getReg", "(", ")", ")", ";", "assert", "(", "ARM_AM", "::", "getSORegOffset", "(", "MO3", ".", "getImm", "(", ")", ")", "==", "0", ")", ";", "}", "else", "{", "O", "<<", "\"#\"", "<<", "ARM_AM", "::", "getSORegOffset", "(", "MO3", ".", "getImm", "(", ")", ")", ";", "}", "return", ";", "}", "if", "(", "(", "Opcode", "==", "ARM", "::", "STMDB_UPD", "||", "Opcode", "==", "ARM", "::", "t2STMDB_UPD", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "{", "O", "<<", "'\\t'", "<<", "\"push\"", ";", "printPredicateOperand", "(", "MI", ",", "2", ",", "O", ")", ";", "if", "(", "Opcode", "==", "ARM", "::", "t2STMDB_UPD", ")", "O", "<<", "\".w\"", ";", "O", "<<", "'\\t'", ";", "printRegisterList", "(", "MI", ",", "4", ",", "O", ")", ";", "return", ";", "}", "if", "(", "(", "Opcode", "==", "ARM", "::", "LDMIA_UPD", "||", "Opcode", "==", "ARM", "::", "t2LDMIA_UPD", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "{", "O", "<<", "'\\t'", "<<", "\"pop\"", ";", "printPredicateOperand", "(", "MI", ",", "2", ",", "O", ")", ";", "if", "(", "Opcode", "==", "ARM", "::", "t2LDMIA_UPD", ")", "O", "<<", "\".w\"", ";", "O", "<<", "'\\t'", ";", "printRegisterList", "(", "MI", ",", "4", ",", "O", ")", ";", "return", ";", "}", "if", "(", "(", "Opcode", "==", "ARM", "::", "VSTMSDB_UPD", "||", "Opcode", "==", "ARM", "::", "VSTMDDB_UPD", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "{", "O", "<<", "'\\t'", "<<", "\"vpush\"", ";", "printPredicateOperand", "(", "MI", ",", "2", ",", "O", ")", ";", "O", "<<", "'\\t'", ";", "printRegisterList", "(", "MI", ",", "4", ",", "O", ")", ";", "return", ";", "}", "if", "(", "(", "Opcode", "==", "ARM", "::", "VLDMSIA_UPD", "||", "Opcode", "==", "ARM", "::", "VLDMDIA_UPD", ")", "&&", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", "==", "ARM", "::", "SP", ")", "{", "O", "<<", "'\\t'", "<<", "\"vpop\"", ";", "printPredicateOperand", "(", "MI", ",", "2", ",", "O", ")", ";", "O", "<<", "'\\t'", ";", "printRegisterList", "(", "MI", ",", "4", ",", "O", ")", ";", "return", ";", "}", "printInstruction", "(", "MI", ",", "O", ")", ";", "}", ""], "natrual_language": ["Print", "the", "specified", "MCInst", "to", "the", "specified", "raw_ostream", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVs", "0", "1", "2", "3", "ARM_AM::getShiftOpcStr", "ARM_AM::getSORegShOp", "6", "4", "\", \"", "ARM_AM::getSORegShOp", "ARM_AM::rrx", "\", \"", "ARM_AM::getSORegOffset", "0", "\"#\"", "ARM_AM::getSORegOffset", "ARM::STMDB_UPD", "ARM::t2STMDB_UPD", "0", "ARM::SP", "\"push\"", "2", "ARM::t2STMDB_UPD", "\".w\"", "4", "ARM::LDMIA_UPD", "ARM::t2LDMIA_UPD", "0", "ARM::SP", "\"pop\"", "2", "ARM::t2LDMIA_UPD", "\".w\"", "4", "ARM::VSTMSDB_UPD", "ARM::VSTMDDB_UPD", "0", "ARM::SP", "\"vpush\"", "2", "4", "ARM::VLDMSIA_UPD", "ARM::VLDMDIA_UPD", "0", "ARM::SP", "\"vpop\"", "2", "4"], "File": "ARMInstPrinter16", "Func": "printInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10708, "Length": 508} {"ground_truth": ["", "void", "ARMInstPrinter", "::", "printRegName", "(", "raw_ostream", "&", "OS", ",", "unsigned", "RegNo", ")", "const", "{", "OS", "<<", "getRegisterName", "(", "RegNo", ")", ";", "}", ""], "natrual_language": ["Print", "the", "assembler", "register", "name", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMInstPrinter18", "Func": "printRegName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10709, "Length": 22} {"ground_truth": ["", "bool", "ARMInstPrinter", "::", "applyTargetSpecificCLOption", "(", "StringRef", "Opt", ")", "{", "if", "(", "Opt", "==", "\"reg-names-std\"", ")", "{", "DefaultAltIdx", "=", "ARM", "::", "NoRegAltName", ";", "return", "true", ";", "}", "if", "(", "Opt", "==", "\"reg-names-raw\"", ")", "{", "DefaultAltIdx", "=", "ARM", "::", "RegNamesRaw", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Customize", "the", "printer", "according", "to", "a", "command", "line", "option", "."], "TS_V_token": ["ARM", "ARM", "\"reg-names-std\"", "ARM::NoRegAltName", "\"reg-names-raw\"", "ARM::RegNamesRaw"], "File": "ARMInstPrinter25", "Func": "applyTargetSpecificCLOption", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10710, "Length": 47} {"ground_truth": ["", "void", "ARMInstPrinter", "::", "printRegName", "(", "raw_ostream", "&", "OS", ",", "unsigned", "RegNo", ")", "const", "{", "OS", "<<", "markup", "(", "\"\"", ")", ";", "}", ""], "natrual_language": ["Print", "the", "assembler", "register", "name", "."], "TS_V_token": ["ARM", "ARM", "\"\""], "File": "ARMInstPrinter25", "Func": "printRegName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10711, "Length": 34} {"ground_truth": ["", "void", "PrintSpecial", "(", "const", "MCInst", "*", "MI", ",", "const", "char", "*", "Kind", ")", "{", "}", ""], "natrual_language": ["Print", "information", "related", "to", "the", "specified", "machine", "instr", "that", "is", "independent", "of", "the", "operand", ",", "and", "may", "be", "independent", "of", "the", "instr", "itself", "."], "TS_V_token": ["ARM"], "File": "ARMInstPrinter27", "Func": "PrintSpecial", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10712, "Length": 15} {"ground_truth": ["", "void", "ARMInstPrinter", "::", "printInst", "(", "const", "MCInst", "*", "MI", ")", "{", "printInstruction", "(", "MI", ")", ";", "}", ""], "natrual_language": ["Print", "the", "specified", "MCInst", "to", "the", "specified", "raw_ostream", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMInstPrinter32", "Func": "printInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10713, "Length": 17} {"ground_truth": ["", "void", "PrintSpecial", "(", "const", "MCInst", "*", "MI", ",", "raw_ostream", "&", "O", ",", "const", "char", "*", "Kind", ")", "{", "}", ""], "natrual_language": ["Print", "information", "related", "to", "the", "specified", "machine", "instr", "that", "is", "independent", "of", "the", "operand", ",", "and", "may", "be", "independent", "of", "the", "instr", "itself", "."], "TS_V_token": ["ARM"], "File": "ARMInstPrinter3", "Func": "PrintSpecial", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10714, "Length": 19} {"ground_truth": ["", "virtual", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "{", "AU", ".", "setPreservesCFG", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMInstrInfo11", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10715, "Length": 24} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"ARM PIC Global Base Reg Initialization\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM PIC Global Base Reg Initialization\""], "File": "ARMInstrInfo11", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10716, "Length": 13} {"ground_truth": ["", "virtual", "bool", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "getGlobalBaseReg", "(", ")", "==", "0", ")", "return", "false", ";", "const", "ARMTargetMachine", "*", "TM", "=", "static_cast", "<", "const", "ARMTargetMachine", "*", ">", "(", "&", "MF", ".", "getTarget", "(", ")", ")", ";", "if", "(", "TM", "->", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "PIC_", ")", "return", "false", ";", "LLVMContext", "*", "Context", "=", "&", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ";", "GlobalValue", "*", "GV", "=", "new", "GlobalVariable", "(", "Type", "::", "getInt32Ty", "(", "*", "Context", ")", ",", "false", ",", "GlobalValue", "::", "ExternalLinkage", ",", "0", ",", "\"_GLOBAL_OFFSET_TABLE_\"", ")", ";", "unsigned", "Id", "=", "AFI", "->", "createPICLabelUId", "(", ")", ";", "ARMConstantPoolValue", "*", "CPV", "=", "ARMConstantPoolConstant", "::", "Create", "(", "GV", ",", "Id", ")", ";", "unsigned", "Align", "=", "TM", "->", "getDataLayout", "(", ")", "->", "getPrefTypeAlignment", "(", "GV", "->", "getType", "(", ")", ")", ";", "unsigned", "Idx", "=", "MF", ".", "getConstantPool", "(", ")", "->", "getConstantPoolIndex", "(", "CPV", ",", "Align", ")", ";", "MachineBasicBlock", "&", "FirstMBB", "=", "MF", ".", "front", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "FirstMBB", ".", "begin", "(", ")", ";", "DebugLoc", "DL", "=", "FirstMBB", ".", "findDebugLoc", "(", "MBBI", ")", ";", "unsigned", "GlobalBaseReg", "=", "AFI", "->", "getGlobalBaseReg", "(", ")", ";", "unsigned", "Opc", "=", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", "?", "ARM", "::", "t2LDRpci", ":", "ARM", "::", "LDRcp", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "TM", "->", "getInstrInfo", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "GlobalBaseReg", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "LDRcp", ")", "MIB", ".", "addImm", "(", "0", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM", "ARM", "0", "\"_GLOBAL_OFFSET_TABLE_\"", "ARM", "ARM", "ARM", "ARM::t2LDRpci", "ARM::LDRcp", "ARM::LDRcp", "0"], "File": "ARMInstrInfo11", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10717, "Length": 293} {"ground_truth": ["", "void", "ARMInstrInfo", "::", "reMaterialize", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "const", "MachineInstr", "*", "Orig", ",", "const", "TargetRegisterInfo", "&", "TRI", ")", "const", "{", "DebugLoc", "dl", "=", "Orig", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Opcode", "=", "Orig", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opcode", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "MOVi2pieces", ":", "{", "RI", ".", "emitLoadConstPool", "(", "MBB", ",", "I", ",", "dl", ",", "DestReg", ",", "SubIdx", ",", "Orig", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ",", "(", "ARMCC", "::", "CondCodes", ")", "Orig", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", ",", "Orig", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ")", ";", "MachineInstr", "*", "NewMI", "=", "prior", "(", "I", ")", ";", "NewMI", "->", "getOperand", "(", "0", ")", ".", "setSubReg", "(", "SubIdx", ")", ";", "return", ";", "}", "}", "return", "ARMBaseInstrInfo", "::", "reMaterialize", "(", "MBB", ",", "I", ",", "DestReg", ",", "SubIdx", ",", "Orig", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Re-issue", "the", "specified", "'original", "'", "instruction", "at", "the", "specific", "location", "targeting", "a", "new", "destination", "register", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVi2pieces", "1", "ARMCC::CondCodes", "2", "3", "0", "ARM"], "File": "ARMInstrInfo12", "Func": "reMaterialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10718, "Length": 162} {"ground_truth": ["", "bool", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "override", "{", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "getGlobalBaseReg", "(", ")", "==", "0", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "if", "(", "TM", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "PIC_", ")", "return", "false", ";", "LLVMContext", "*", "Context", "=", "&", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ";", "unsigned", "ARMPCLabelIndex", "=", "AFI", "->", "createPICLabelUId", "(", ")", ";", "unsigned", "PCAdj", "=", "STI", ".", "isThumb", "(", ")", "?", "4", ":", "8", ";", "ARMConstantPoolValue", "*", "CPV", "=", "ARMConstantPoolSymbol", "::", "Create", "(", "*", "Context", ",", "\"_GLOBAL_OFFSET_TABLE_\"", ",", "ARMPCLabelIndex", ",", "PCAdj", ")", ";", "unsigned", "Align", "=", "TM", ".", "getDataLayout", "(", ")", "->", "getPrefTypeAlignment", "(", "Type", "::", "getInt32PtrTy", "(", "*", "Context", ")", ")", ";", "unsigned", "Idx", "=", "MF", ".", "getConstantPool", "(", ")", "->", "getConstantPoolIndex", "(", "CPV", ",", "Align", ")", ";", "MachineBasicBlock", "&", "FirstMBB", "=", "MF", ".", "front", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "FirstMBB", ".", "begin", "(", ")", ";", "DebugLoc", "DL", "=", "FirstMBB", ".", "findDebugLoc", "(", "MBBI", ")", ";", "unsigned", "TempReg", "=", "MF", ".", "getRegInfo", "(", ")", ".", "createVirtualRegister", "(", "&", "ARM", "::", "rGPRRegClass", ")", ";", "unsigned", "Opc", "=", "STI", ".", "isThumb2", "(", ")", "?", "ARM", "::", "t2LDRpci", ":", "ARM", "::", "LDRcp", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "TempReg", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "LDRcp", ")", "MIB", ".", "addImm", "(", "0", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "unsigned", "GlobalBaseReg", "=", "AFI", "->", "getGlobalBaseReg", "(", ")", ";", "Opc", "=", "STI", ".", "isThumb2", "(", ")", "?", "ARM", "::", "tPICADD", ":", "ARM", "::", "PICADD", ";", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "GlobalBaseReg", ")", ".", "addReg", "(", "TempReg", ")", ".", "addImm", "(", "ARMPCLabelIndex", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "PICADD", ")", "AddDefaultPred", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM", "ARM", "ARM", "4", "8", "ARM", "ARM", "\"_GLOBAL_OFFSET_TABLE_\"", "ARM", "ARM::rGPRRegClass", "ARM::t2LDRpci", "ARM::LDRcp", "ARM::LDRcp", "0", "ARM::tPICADD", "ARM::PICADD", "ARM", "ARM::PICADD"], "File": "ARMInstrInfo13", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10719, "Length": 366} {"ground_truth": ["", "unsigned", "ARMInstrInfo", "::", "isLoadFromStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "LDR", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "FLDD", ":", "case", "ARM", "::", "FLDS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "tRestore", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isLoadFromStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "load", "from", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "destination", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::LDR", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::FLDD", "ARM::FLDS", "1", "2", "2", "0", "1", "0", "ARM::tRestore", "1", "2", "2", "0", "1", "0", "0"], "File": "ARMInstrInfo14", "Func": "isLoadFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10720, "Length": 276} {"ground_truth": ["", "bool", "ARMInstrInfo", "::", "isPredicated", "(", "const", "MachineInstr", "*", "MI", ")", "const", "{", "int", "PIdx", "=", "MI", "->", "findFirstPredOperandIdx", "(", ")", ";", "return", "PIdx", "!=", "-", "1", "&&", "MI", "->", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", "!=", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "is", "already", "predicated", "."], "TS_V_token": ["ARM", "ARM", "1", "ARMCC::AL"], "File": "ARMInstrInfo14", "Func": "isPredicated", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10721, "Length": 43} {"ground_truth": ["", "unsigned", "ARMInstrInfo", "::", "isStoreToStackSlot", "(", "const", "MachineInstr", "*", "MI", ",", "int", "&", "FrameIndex", ")", "const", "{", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "STR", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isReg", "(", ")", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", "==", "0", "&&", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "FSTD", ":", "case", "ARM", "::", "FSTS", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "case", "ARM", "::", "tSpill", ":", "if", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "isFI", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "isImm", "(", ")", "&&", "MI", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", "==", "0", ")", "{", "FrameIndex", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getIndex", "(", ")", ";", "return", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "}", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["isStoreToStackSlot", "-", "If", "the", "specified", "machine", "instruction", "is", "a", "direct", "store", "to", "a", "stack", "slot", ",", "return", "the", "virtual", "or", "physical", "register", "number", "of", "the", "source", "reg", "along", "with", "the", "FrameIndex", "of", "the", "loaded", "stack", "slot", "."], "TS_V_token": ["ARM", "ARM", "ARM::STR", "1", "2", "3", "2", "0", "3", "0", "1", "0", "ARM::FSTD", "ARM::FSTS", "1", "2", "2", "0", "1", "0", "ARM::tSpill", "1", "2", "2", "0", "1", "0", "0"], "File": "ARMInstrInfo14", "Func": "isStoreToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10722, "Length": 276} {"ground_truth": ["", "void", "ARMInstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "LDR", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "AFI", "->", "isThumbFunction", "(", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tRestore", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "DPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "FLDD", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "{", "assert", "(", "RC", "==", "ARM", "::", "SPRRegisterClass", "&&", "\"Unknown regclass!\"", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "FLDS", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegisterClass", "ARM", "ARM", "ARM::LDR", "0", "0", "ARM::tGPRRegisterClass", "ARM", "ARM", "ARM::tRestore", "0", "ARM::DPRRegisterClass", "ARM::FLDD", "0", "ARM::SPRRegisterClass", "\"Unknown regclass!\"", "ARM::FLDS", "0"], "File": "ARMInstrInfo14", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10723, "Length": 294} {"ground_truth": ["", "bool", "ARMInstrInfo", "::", "PredicateInstruction", "(", "MachineInstr", "*", "MI", ",", "const", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Pred", ")", "const", "{", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "B", "||", "Opc", "==", "ARM", "::", "tB", ")", "{", "MI", "->", "setDesc", "(", "get", "(", "Opc", "==", "ARM", "::", "B", "?", "ARM", "::", "Bcc", ":", "ARM", "::", "tBcc", ")", ")", ";", "MI", "->", "addOperand", "(", "MachineOperand", "::", "CreateImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ")", ";", "MI", "->", "addOperand", "(", "MachineOperand", "::", "CreateReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ",", "false", ")", ")", ";", "return", "true", ";", "}", "int", "PIdx", "=", "MI", "->", "findFirstPredOperandIdx", "(", ")", ";", "if", "(", "PIdx", "!=", "-", "1", ")", "{", "MachineOperand", "&", "PMO", "=", "MI", "->", "getOperand", "(", "PIdx", ")", ";", "PMO", ".", "setImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ";", "MI", "->", "getOperand", "(", "PIdx", "+", "1", ")", ".", "setReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Convert", "the", "instruction", "into", "a", "predicated", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::B", "ARM::tB", "ARM::B", "ARM::Bcc", "ARM::tBcc", "0", "1", "1", "0", "1", "1"], "File": "ARMInstrInfo14", "Func": "PredicateInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10724, "Length": 180} {"ground_truth": ["", "void", "ARMInstrInfo", "::", "reMaterialize", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "const", "MachineInstr", "*", "Orig", ")", "const", "{", "DebugLoc", "dl", "=", "Orig", "->", "getDebugLoc", "(", ")", ";", "if", "(", "Orig", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MOVi2pieces", ")", "{", "RI", ".", "emitLoadConstPool", "(", "MBB", ",", "I", ",", "DestReg", ",", "Orig", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ",", "Orig", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", ",", "Orig", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ",", "this", ",", "false", ",", "dl", ")", ";", "return", ";", "}", "MachineInstr", "*", "MI", "=", "MBB", ".", "getParent", "(", ")", "->", "CloneMachineInstr", "(", "Orig", ")", ";", "MI", "->", "getOperand", "(", "0", ")", ".", "setReg", "(", "DestReg", ")", ";", "MBB", ".", "insert", "(", "I", ",", "MI", ")", ";", "}", ""], "natrual_language": ["Re-issue", "the", "specified", "'original", "'", "instruction", "at", "the", "specific", "location", "targeting", "a", "new", "destination", "register", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVi2pieces", "1", "2", "3", "0"], "File": "ARMInstrInfo14", "Func": "reMaterialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10725, "Length": 136} {"ground_truth": ["", "bool", "ARMInstrInfo", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "MachineInstr", "*", "PopMI", "=", "MF", ".", "CreateMachineInstr", "(", "get", "(", "ARM", "::", "tPOP", ")", ",", "MI", "->", "getDebugLoc", "(", ")", ")", ";", "MBB", ".", "insert", "(", "MI", ",", "PopMI", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "PopMI", "->", "setDesc", "(", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "PopMI", "->", "addOperand", "(", "MachineOperand", "::", "CreateReg", "(", "Reg", ",", "true", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "ARMInstrInfo14", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10726, "Length": 203} {"ground_truth": ["", "bool", "ARMInstrInfo", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MI", ",", "DL", ",", "get", "(", "ARM", "::", "tPUSH", ")", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "MIB", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::tPUSH", "0", "1"], "File": "ARMInstrInfo14", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10727, "Length": 170} {"ground_truth": ["", "void", "ARMInstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "STR", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "assert", "(", "AFI", "->", "isThumbFunction", "(", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSpill", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "DPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "FSTD", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "{", "assert", "(", "RC", "==", "ARM", "::", "SPRRegisterClass", "&&", "\"Unknown regclass!\"", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "FSTS", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegisterClass", "ARM", "ARM", "ARM::STR", "0", "0", "ARM::tGPRRegisterClass", "ARM", "ARM", "ARM::tSpill", "0", "ARM::DPRRegisterClass", "ARM::FSTD", "0", "ARM::SPRRegisterClass", "\"Unknown regclass!\"", "ARM::FSTS", "0"], "File": "ARMInstrInfo14", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10728, "Length": 329} {"ground_truth": ["", "bool", "ARMInstrInfo", "::", "SubsumesPredicate", "(", "const", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Pred1", ",", "const", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Pred2", ")", "const", "{", "if", "(", "Pred1", ".", "size", "(", ")", ">", "2", "||", "Pred2", ".", "size", "(", ")", ">", "2", ")", "return", "false", ";", "ARMCC", "::", "CondCodes", "CC1", "=", "(", "ARMCC", "::", "CondCodes", ")", "Pred1", "[", "0", "]", ".", "getImm", "(", ")", ";", "ARMCC", "::", "CondCodes", "CC2", "=", "(", "ARMCC", "::", "CondCodes", ")", "Pred2", "[", "0", "]", ".", "getImm", "(", ")", ";", "if", "(", "CC1", "==", "CC2", ")", "return", "true", ";", "switch", "(", "CC1", ")", "{", "default", ":", "return", "false", ";", "case", "ARMCC", "::", "AL", ":", "return", "true", ";", "case", "ARMCC", "::", "HS", ":", "return", "CC2", "==", "ARMCC", "::", "HI", ";", "case", "ARMCC", "::", "LS", ":", "return", "CC2", "==", "ARMCC", "::", "LO", "||", "CC2", "==", "ARMCC", "::", "EQ", ";", "case", "ARMCC", "::", "GE", ":", "return", "CC2", "==", "ARMCC", "::", "GT", ";", "case", "ARMCC", "::", "LE", ":", "return", "CC2", "==", "ARMCC", "::", "LT", ";", "}", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "first", "specified", "predicate", "subsumes", "the", "second", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "2", "2", "ARMCC::CondCodes", "ARMCC::CondCodes", "0", "ARMCC::CondCodes", "ARMCC::CondCodes", "0", "ARMCC::AL", "ARMCC::HS", "ARMCC::HI", "ARMCC::LS", "ARMCC::LO", "ARMCC::EQ", "ARMCC::GE", "ARMCC::GT", "ARMCC::LE", "ARMCC::LT"], "File": "ARMInstrInfo14", "Func": "SubsumesPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10729, "Length": 165} {"ground_truth": ["", "const", "ARMRegisterInfo", "&", "getRegisterInfo", "(", ")", "const", "{", "return", "RI", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMInstrInfo15", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10730, "Length": 12} {"ground_truth": ["", "virtual", "MachineInstr", "*", "foldMemoryOperandImpl", "(", "MachineFunction", "&", "MF", ",", "MachineInstr", "*", "MI", ",", "const", "SmallVectorImpl", "<", "unsigned", ">", "&", "Ops", ",", "MachineInstr", "*", "LoadMI", ")", "const", "{", "return", "0", ";", "}", ""], "natrual_language": ["foldMemoryOperand", "-", "Same", "as", "the", "previous", "version", "except", "it", "allows", "folding", "of", "any", "load", "and", "store", "from", "/", "to", "any", "address", ",", "not", "just", "from", "a", "specific", "stack", "slot", "."], "TS_V_token": ["ARM", "0"], "File": "ARMInstrInfo19", "Func": "foldMemoryOperandImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10731, "Length": 31} {"ground_truth": ["", "virtual", "const", "ARMRegisterInfo", "&", "getRegisterInfo", "(", ")", "const", "{", "return", "RI", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMInstrInfo19", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10732, "Length": 13} {"ground_truth": ["", "void", "ARMInstrInfo", "::", "reMaterialize", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "const", "MachineInstr", "*", "Orig", ")", "const", "{", "DebugLoc", "dl", "=", "Orig", "->", "getDebugLoc", "(", ")", ";", "if", "(", "Orig", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MOVi2pieces", ")", "{", "RI", ".", "emitLoadConstPool", "(", "MBB", ",", "I", ",", "dl", ",", "DestReg", ",", "SubIdx", ",", "Orig", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ",", "(", "ARMCC", "::", "CondCodes", ")", "Orig", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", ",", "Orig", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ")", ";", "return", ";", "}", "MachineInstr", "*", "MI", "=", "MBB", ".", "getParent", "(", ")", "->", "CloneMachineInstr", "(", "Orig", ")", ";", "MI", "->", "getOperand", "(", "0", ")", ".", "setReg", "(", "DestReg", ")", ";", "MBB", ".", "insert", "(", "I", ",", "MI", ")", ";", "}", ""], "natrual_language": ["Re-issue", "the", "specified", "'original", "'", "instruction", "at", "the", "specific", "location", "targeting", "a", "new", "destination", "register", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVi2pieces", "1", "ARMCC::CondCodes", "2", "3", "0"], "File": "ARMInstrInfo19", "Func": "reMaterialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10733, "Length": 142} {"ground_truth": ["", "MCInst", "ARMInstrInfo", "::", "getNop", "(", ")", "const", "{", "MCInst", "NopInst", ";", "if", "(", "hasNOP", "(", ")", ")", "{", "NopInst", ".", "setOpcode", "(", "ARM", "::", "HINT", ")", ";", "NopInst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "0", ")", ")", ";", "NopInst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "ARMCC", "::", "AL", ")", ")", ";", "NopInst", ".", "addOperand", "(", "MCOperand", "::", "createReg", "(", "0", ")", ")", ";", "}", "else", "{", "NopInst", ".", "setOpcode", "(", "ARM", "::", "MOVr", ")", ";", "NopInst", ".", "addOperand", "(", "MCOperand", "::", "createReg", "(", "ARM", "::", "R0", ")", ")", ";", "NopInst", ".", "addOperand", "(", "MCOperand", "::", "createReg", "(", "ARM", "::", "R0", ")", ")", ";", "NopInst", ".", "addOperand", "(", "MCOperand", "::", "createImm", "(", "ARMCC", "::", "AL", ")", ")", ";", "NopInst", ".", "addOperand", "(", "MCOperand", "::", "createReg", "(", "0", ")", ")", ";", "NopInst", ".", "addOperand", "(", "MCOperand", "::", "createReg", "(", "0", ")", ")", ";", "}", "return", "NopInst", ";", "}", ""], "natrual_language": ["Return", "the", "noop", "instruction", "to", "use", "for", "a", "noop", "."], "TS_V_token": ["ARM", "ARM", "ARM::HINT", "0", "ARMCC::AL", "0", "ARM::MOVr", "ARM::R0", "ARM::R0", "ARMCC::AL", "0", "0"], "File": "ARMInstrInfo21", "Func": "getNop", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10734, "Length": 148} {"ground_truth": ["", "void", "ARMInstrInfo", "::", "reMaterialize", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "const", "MachineInstr", "*", "Orig", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "DebugLoc", "dl", "=", "Orig", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Opcode", "=", "Orig", "->", "getOpcode", "(", ")", ";", "switch", "(", "Opcode", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "MOVi2pieces", ":", "{", "RI", ".", "emitLoadConstPool", "(", "MBB", ",", "I", ",", "dl", ",", "DestReg", ",", "SubIdx", ",", "Orig", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ",", "(", "ARMCC", "::", "CondCodes", ")", "Orig", "->", "getOperand", "(", "2", ")", ".", "getImm", "(", ")", ",", "Orig", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ")", ";", "MachineInstr", "*", "NewMI", "=", "prior", "(", "I", ")", ";", "NewMI", "->", "getOperand", "(", "0", ")", ".", "setSubReg", "(", "SubIdx", ")", ";", "return", ";", "}", "}", "return", "ARMBaseInstrInfo", "::", "reMaterialize", "(", "MBB", ",", "I", ",", "DestReg", ",", "SubIdx", ",", "Orig", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Re-issue", "the", "specified", "'original", "'", "instruction", "at", "the", "specific", "location", "targeting", "a", "new", "destination", "register", "."], "TS_V_token": ["ARM", "ARM", "ARM::MOVi2pieces", "1", "ARMCC::CondCodes", "2", "3", "0", "ARM"], "File": "ARMInstrInfo27", "Func": "reMaterialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10735, "Length": 162} {"ground_truth": ["", "bool", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "override", "{", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "getGlobalBaseReg", "(", ")", "==", "0", ")", "return", "false", ";", "const", "ARMTargetMachine", "*", "TM", "=", "static_cast", "<", "const", "ARMTargetMachine", "*", ">", "(", "&", "MF", ".", "getTarget", "(", ")", ")", ";", "if", "(", "TM", "->", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "PIC_", ")", "return", "false", ";", "LLVMContext", "*", "Context", "=", "&", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ";", "unsigned", "ARMPCLabelIndex", "=", "AFI", "->", "createPICLabelUId", "(", ")", ";", "unsigned", "PCAdj", "=", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb", "(", ")", "?", "4", ":", "8", ";", "ARMConstantPoolValue", "*", "CPV", "=", "ARMConstantPoolSymbol", "::", "Create", "(", "*", "Context", ",", "\"_GLOBAL_OFFSET_TABLE_\"", ",", "ARMPCLabelIndex", ",", "PCAdj", ")", ";", "unsigned", "Align", "=", "TM", "->", "getDataLayout", "(", ")", "->", "getPrefTypeAlignment", "(", "Type", "::", "getInt32PtrTy", "(", "*", "Context", ")", ")", ";", "unsigned", "Idx", "=", "MF", ".", "getConstantPool", "(", ")", "->", "getConstantPoolIndex", "(", "CPV", ",", "Align", ")", ";", "MachineBasicBlock", "&", "FirstMBB", "=", "MF", ".", "front", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "FirstMBB", ".", "begin", "(", ")", ";", "DebugLoc", "DL", "=", "FirstMBB", ".", "findDebugLoc", "(", "MBBI", ")", ";", "unsigned", "TempReg", "=", "MF", ".", "getRegInfo", "(", ")", ".", "createVirtualRegister", "(", "&", "ARM", "::", "rGPRRegClass", ")", ";", "unsigned", "Opc", "=", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", "?", "ARM", "::", "t2LDRpci", ":", "ARM", "::", "LDRcp", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "TM", "->", "getInstrInfo", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "TempReg", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "LDRcp", ")", "MIB", ".", "addImm", "(", "0", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "unsigned", "GlobalBaseReg", "=", "AFI", "->", "getGlobalBaseReg", "(", ")", ";", "Opc", "=", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", "?", "ARM", "::", "tPICADD", ":", "ARM", "::", "PICADD", ";", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "GlobalBaseReg", ")", ".", "addReg", "(", "TempReg", ")", ".", "addImm", "(", "ARMPCLabelIndex", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "PICADD", ")", "AddDefaultPred", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM", "ARM", "ARM", "ARM", "4", "8", "ARM", "ARM", "\"_GLOBAL_OFFSET_TABLE_\"", "ARM", "ARM::rGPRRegClass", "ARM", "ARM::t2LDRpci", "ARM::LDRcp", "ARM::LDRcp", "0", "ARM", "ARM::tPICADD", "ARM::PICADD", "ARM", "ARM::PICADD"], "File": "ARMInstrInfo2", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10736, "Length": 377} {"ground_truth": ["", "bool", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "override", "{", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "getGlobalBaseReg", "(", ")", "==", "0", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "STI", ".", "isThumb1Only", "(", ")", ")", "return", "false", ";", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "if", "(", "TM", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "PIC_", ")", "return", "false", ";", "LLVMContext", "*", "Context", "=", "&", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ";", "unsigned", "ARMPCLabelIndex", "=", "AFI", "->", "createPICLabelUId", "(", ")", ";", "unsigned", "PCAdj", "=", "STI", ".", "isThumb", "(", ")", "?", "4", ":", "8", ";", "ARMConstantPoolValue", "*", "CPV", "=", "ARMConstantPoolSymbol", "::", "Create", "(", "*", "Context", ",", "\"_GLOBAL_OFFSET_TABLE_\"", ",", "ARMPCLabelIndex", ",", "PCAdj", ")", ";", "unsigned", "Align", "=", "TM", ".", "getDataLayout", "(", ")", "->", "getPrefTypeAlignment", "(", "Type", "::", "getInt32PtrTy", "(", "*", "Context", ")", ")", ";", "unsigned", "Idx", "=", "MF", ".", "getConstantPool", "(", ")", "->", "getConstantPoolIndex", "(", "CPV", ",", "Align", ")", ";", "MachineBasicBlock", "&", "FirstMBB", "=", "MF", ".", "front", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "FirstMBB", ".", "begin", "(", ")", ";", "DebugLoc", "DL", "=", "FirstMBB", ".", "findDebugLoc", "(", "MBBI", ")", ";", "unsigned", "TempReg", "=", "MF", ".", "getRegInfo", "(", ")", ".", "createVirtualRegister", "(", "&", "ARM", "::", "rGPRRegClass", ")", ";", "unsigned", "Opc", "=", "STI", ".", "isThumb2", "(", ")", "?", "ARM", "::", "t2LDRpci", ":", "ARM", "::", "LDRcp", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "TempReg", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "LDRcp", ")", "MIB", ".", "addImm", "(", "0", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "unsigned", "GlobalBaseReg", "=", "AFI", "->", "getGlobalBaseReg", "(", ")", ";", "Opc", "=", "STI", ".", "isThumb2", "(", ")", "?", "ARM", "::", "tPICADD", ":", "ARM", "::", "PICADD", ";", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "GlobalBaseReg", ")", ".", "addReg", "(", "TempReg", ")", ".", "addImm", "(", "ARMPCLabelIndex", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "PICADD", ")", "AddDefaultPred", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM", "ARM", "ARM", "4", "8", "ARM", "ARM", "\"_GLOBAL_OFFSET_TABLE_\"", "ARM", "ARM::rGPRRegClass", "ARM::t2LDRpci", "ARM::LDRcp", "ARM::LDRcp", "0", "ARM::tPICADD", "ARM::PICADD", "ARM", "ARM::PICADD"], "File": "ARMInstrInfo30", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10737, "Length": 377} {"ground_truth": ["", "void", "ARMInstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "isThumbFunction", "(", ")", ")", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tRestore", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ";", "else", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "LDR", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "DPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "FLDD", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "{", "assert", "(", "RC", "==", "ARM", "::", "SPRRegisterClass", "&&", "\"Unknown regclass!\"", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "FLDS", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegisterClass", "ARM", "ARM", "ARM::tRestore", "0", "ARM::LDR", "0", "0", "ARM::DPRRegisterClass", "ARM::FLDD", "0", "ARM::SPRRegisterClass", "\"Unknown regclass!\"", "ARM::FLDS", "0"], "File": "ARMInstrInfo31", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10738, "Length": 249} {"ground_truth": ["", "bool", "ARMInstrInfo", "::", "PredicateInstruction", "(", "MachineInstr", "*", "MI", ",", "const", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Pred", ")", "const", "{", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "B", "||", "Opc", "==", "ARM", "::", "tB", ")", "{", "MI", "->", "setDesc", "(", "get", "(", "Opc", "==", "ARM", "::", "B", "?", "ARM", "::", "Bcc", ":", "ARM", "::", "tBcc", ")", ")", ";", "MI", "->", "addOperand", "(", "MachineOperand", "::", "CreateImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ")", ";", "MI", "->", "addOperand", "(", "MachineOperand", "::", "CreateReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ",", "false", ")", ")", ";", "return", "true", ";", "}", "int", "PIdx", "=", "MI", "->", "findFirstPredOperandIdx", "(", ")", ";", "if", "(", "PIdx", "!=", "-", "1", ")", "{", "MachineOperand", "&", "PMO", "=", "MI", "->", "getOperand", "(", "PIdx", ")", ";", "PMO", ".", "setImm", "(", "Pred", "[", "0", "]", ".", "getImm", "(", ")", ")", ";", "MI", "->", "getOperand", "(", "PIdx", "+", "1", ")", ".", "setReg", "(", "Pred", "[", "1", "]", ".", "getReg", "(", ")", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Convert", "the", "instruction", "into", "a", "predicated", "instruction", "."], "TS_V_token": ["ARM", "ARM", "ARM::B", "ARM::tB", "ARM::B", "ARM::Bcc", "ARM::tBcc", "0", "1", "1", "0", "1", "1"], "File": "ARMInstrInfo31", "Func": "PredicateInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10739, "Length": 180} {"ground_truth": ["", "bool", "ARMInstrInfo", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "MachineInstr", "*", "PopMI", "=", "MF", ".", "CreateMachineInstr", "(", "get", "(", "ARM", "::", "tPOP", ")", ",", "MI", "->", "getDebugLoc", "(", ")", ")", ";", "MBB", ".", "insert", "(", "MI", ",", "PopMI", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "PopMI", "->", "setDesc", "(", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "PopMI", "->", "addOperand", "(", "MachineOperand", "::", "CreateReg", "(", "Reg", ",", "true", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "ARMInstrInfo31", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10740, "Length": 203} {"ground_truth": ["", "bool", "ARMInstrInfo", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", "||", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MI", ",", "DL", ",", "get", "(", "ARM", "::", "tPUSH", ")", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "MIB", ".", "addReg", "(", "Reg", ",", "false", ",", "false", ",", "true", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::tPUSH", "0", "1"], "File": "ARMInstrInfo31", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10741, "Length": 172} {"ground_truth": ["", "void", "ARMInstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "isThumbFunction", "(", ")", ")", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSpill", ")", ")", ".", "addReg", "(", "SrcReg", ",", "false", ",", "false", ",", "isKill", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ";", "else", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "STR", ")", ")", ".", "addReg", "(", "SrcReg", ",", "false", ",", "false", ",", "isKill", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "if", "(", "RC", "==", "ARM", "::", "DPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "FSTD", ")", ")", ".", "addReg", "(", "SrcReg", ",", "false", ",", "false", ",", "isKill", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "{", "assert", "(", "RC", "==", "ARM", "::", "SPRRegisterClass", "&&", "\"Unknown regclass!\"", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "FSTS", ")", ")", ".", "addReg", "(", "SrcReg", ",", "false", ",", "false", ",", "isKill", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegisterClass", "ARM", "ARM", "ARM::tSpill", "0", "ARM::STR", "0", "0", "ARM::DPRRegisterClass", "ARM::FSTD", "0", "ARM::SPRRegisterClass", "\"Unknown regclass!\"", "ARM::FSTS", "0"], "File": "ARMInstrInfo31", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10742, "Length": 288} {"ground_truth": ["", "bool", "ARMInstrInfo", "::", "SubsumesPredicate", "(", "const", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Pred1", ",", "const", "SmallVectorImpl", "<", "MachineOperand", ">", "&", "Pred2", ")", "const", "{", "if", "(", "Pred1", ".", "size", "(", ")", ">", "2", "||", "Pred2", ".", "size", "(", ")", ">", "2", ")", "return", "false", ";", "ARMCC", "::", "CondCodes", "CC1", "=", "(", "ARMCC", "::", "CondCodes", ")", "Pred1", "[", "0", "]", ".", "getImm", "(", ")", ";", "ARMCC", "::", "CondCodes", "CC2", "=", "(", "ARMCC", "::", "CondCodes", ")", "Pred2", "[", "0", "]", ".", "getImm", "(", ")", ";", "if", "(", "CC1", "==", "CC2", ")", "return", "true", ";", "switch", "(", "CC1", ")", "{", "default", ":", "return", "false", ";", "case", "ARMCC", "::", "AL", ":", "return", "true", ";", "case", "ARMCC", "::", "HS", ":", "return", "CC2", "==", "ARMCC", "::", "HI", ";", "case", "ARMCC", "::", "LS", ":", "return", "CC2", "==", "ARMCC", "::", "LO", "||", "CC2", "==", "ARMCC", "::", "EQ", ";", "case", "ARMCC", "::", "GE", ":", "return", "CC2", "==", "ARMCC", "::", "GT", ";", "case", "ARMCC", "::", "LE", ":", "return", "CC2", "==", "ARMCC", "::", "LT", ";", "}", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "first", "specified", "predicate", "subsumes", "the", "second", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "2", "2", "ARMCC::CondCodes", "ARMCC::CondCodes", "0", "ARMCC::CondCodes", "ARMCC::CondCodes", "0", "ARMCC::AL", "ARMCC::HS", "ARMCC::HI", "ARMCC::LS", "ARMCC::LO", "ARMCC::EQ", "ARMCC::GE", "ARMCC::GT", "ARMCC::LE", "ARMCC::LT"], "File": "ARMInstrInfo31", "Func": "SubsumesPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10743, "Length": 165} {"ground_truth": ["", "virtual", "bool", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "getGlobalBaseReg", "(", ")", "==", "0", ")", "return", "false", ";", "const", "ARMTargetMachine", "*", "TM", "=", "static_cast", "<", "const", "ARMTargetMachine", "*", ">", "(", "&", "MF", ".", "getTarget", "(", ")", ")", ";", "if", "(", "TM", "->", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "PIC_", ")", "return", "false", ";", "LLVMContext", "*", "Context", "=", "&", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ";", "GlobalValue", "*", "GV", "=", "new", "GlobalVariable", "(", "Type", "::", "getInt32Ty", "(", "*", "Context", ")", ",", "false", ",", "GlobalValue", "::", "ExternalLinkage", ",", "0", ",", "\"_GLOBAL_OFFSET_TABLE_\"", ")", ";", "unsigned", "Id", "=", "AFI", "->", "createPICLabelUId", "(", ")", ";", "ARMConstantPoolValue", "*", "CPV", "=", "ARMConstantPoolConstant", "::", "Create", "(", "GV", ",", "Id", ")", ";", "unsigned", "Align", "=", "TM", "->", "getTargetData", "(", ")", "->", "getPrefTypeAlignment", "(", "GV", "->", "getType", "(", ")", ")", ";", "unsigned", "Idx", "=", "MF", ".", "getConstantPool", "(", ")", "->", "getConstantPoolIndex", "(", "CPV", ",", "Align", ")", ";", "MachineBasicBlock", "&", "FirstMBB", "=", "MF", ".", "front", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "FirstMBB", ".", "begin", "(", ")", ";", "DebugLoc", "DL", "=", "FirstMBB", ".", "findDebugLoc", "(", "MBBI", ")", ";", "unsigned", "GlobalBaseReg", "=", "AFI", "->", "getGlobalBaseReg", "(", ")", ";", "unsigned", "Opc", "=", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", "?", "ARM", "::", "t2LDRpci", ":", "ARM", "::", "LDRcp", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "TM", "->", "getInstrInfo", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "GlobalBaseReg", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "LDRcp", ")", "MIB", ".", "addImm", "(", "0", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM", "ARM", "0", "\"_GLOBAL_OFFSET_TABLE_\"", "ARM", "ARM", "ARM", "ARM::t2LDRpci", "ARM::LDRcp", "ARM::LDRcp", "0"], "File": "ARMInstrInfo34", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10744, "Length": 293} {"ground_truth": ["", "bool", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "override", "{", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "getGlobalBaseReg", "(", ")", "==", "0", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "STI", ".", "isThumb1Only", "(", ")", ")", "return", "false", ";", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "if", "(", "TM", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "PIC_", ")", "return", "false", ";", "LLVMContext", "*", "Context", "=", "&", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ";", "unsigned", "ARMPCLabelIndex", "=", "AFI", "->", "createPICLabelUId", "(", ")", ";", "unsigned", "PCAdj", "=", "STI", ".", "isThumb", "(", ")", "?", "4", ":", "8", ";", "ARMConstantPoolValue", "*", "CPV", "=", "ARMConstantPoolSymbol", "::", "Create", "(", "*", "Context", ",", "\"_GLOBAL_OFFSET_TABLE_\"", ",", "ARMPCLabelIndex", ",", "PCAdj", ")", ";", "unsigned", "Align", "=", "MF", ".", "getDataLayout", "(", ")", ".", "getPrefTypeAlignment", "(", "Type", "::", "getInt32PtrTy", "(", "*", "Context", ")", ")", ";", "unsigned", "Idx", "=", "MF", ".", "getConstantPool", "(", ")", "->", "getConstantPoolIndex", "(", "CPV", ",", "Align", ")", ";", "MachineBasicBlock", "&", "FirstMBB", "=", "MF", ".", "front", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "FirstMBB", ".", "begin", "(", ")", ";", "DebugLoc", "DL", "=", "FirstMBB", ".", "findDebugLoc", "(", "MBBI", ")", ";", "unsigned", "TempReg", "=", "MF", ".", "getRegInfo", "(", ")", ".", "createVirtualRegister", "(", "&", "ARM", "::", "rGPRRegClass", ")", ";", "unsigned", "Opc", "=", "STI", ".", "isThumb2", "(", ")", "?", "ARM", "::", "t2LDRpci", ":", "ARM", "::", "LDRcp", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "TempReg", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "LDRcp", ")", "MIB", ".", "addImm", "(", "0", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "unsigned", "GlobalBaseReg", "=", "AFI", "->", "getGlobalBaseReg", "(", ")", ";", "Opc", "=", "STI", ".", "isThumb2", "(", ")", "?", "ARM", "::", "tPICADD", ":", "ARM", "::", "PICADD", ";", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "GlobalBaseReg", ")", ".", "addReg", "(", "TempReg", ")", ".", "addImm", "(", "ARMPCLabelIndex", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "PICADD", ")", "AddDefaultPred", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM", "ARM", "ARM", "4", "8", "ARM", "ARM", "\"_GLOBAL_OFFSET_TABLE_\"", "ARM", "ARM::rGPRRegClass", "ARM::t2LDRpci", "ARM::LDRcp", "ARM::LDRcp", "0", "ARM::tPICADD", "ARM::PICADD", "ARM", "ARM::PICADD"], "File": "ARMInstrInfo38", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10745, "Length": 377} {"ground_truth": ["", "bool", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "override", "{", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "getGlobalBaseReg", "(", ")", "==", "0", ")", "return", "false", ";", "const", "ARMTargetMachine", "*", "TM", "=", "static_cast", "<", "const", "ARMTargetMachine", "*", ">", "(", "&", "MF", ".", "getTarget", "(", ")", ")", ";", "if", "(", "TM", "->", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "PIC_", ")", "return", "false", ";", "LLVMContext", "*", "Context", "=", "&", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ";", "unsigned", "ARMPCLabelIndex", "=", "AFI", "->", "createPICLabelUId", "(", ")", ";", "unsigned", "PCAdj", "=", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb", "(", ")", "?", "4", ":", "8", ";", "ARMConstantPoolValue", "*", "CPV", "=", "ARMConstantPoolSymbol", "::", "Create", "(", "*", "Context", ",", "\"_GLOBAL_OFFSET_TABLE_\"", ",", "ARMPCLabelIndex", ",", "PCAdj", ")", ";", "unsigned", "Align", "=", "TM", "->", "getSubtargetImpl", "(", ")", "->", "getDataLayout", "(", ")", "->", "getPrefTypeAlignment", "(", "Type", "::", "getInt32PtrTy", "(", "*", "Context", ")", ")", ";", "unsigned", "Idx", "=", "MF", ".", "getConstantPool", "(", ")", "->", "getConstantPoolIndex", "(", "CPV", ",", "Align", ")", ";", "MachineBasicBlock", "&", "FirstMBB", "=", "MF", ".", "front", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "FirstMBB", ".", "begin", "(", ")", ";", "DebugLoc", "DL", "=", "FirstMBB", ".", "findDebugLoc", "(", "MBBI", ")", ";", "unsigned", "TempReg", "=", "MF", ".", "getRegInfo", "(", ")", ".", "createVirtualRegister", "(", "&", "ARM", "::", "rGPRRegClass", ")", ";", "unsigned", "Opc", "=", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", "?", "ARM", "::", "t2LDRpci", ":", "ARM", "::", "LDRcp", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "TM", "->", "getSubtargetImpl", "(", ")", "->", "getInstrInfo", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "TempReg", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "LDRcp", ")", "MIB", ".", "addImm", "(", "0", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "unsigned", "GlobalBaseReg", "=", "AFI", "->", "getGlobalBaseReg", "(", ")", ";", "Opc", "=", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", "?", "ARM", "::", "tPICADD", ":", "ARM", "::", "PICADD", ";", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "GlobalBaseReg", ")", ".", "addReg", "(", "TempReg", ")", ".", "addImm", "(", "ARMPCLabelIndex", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "PICADD", ")", "AddDefaultPred", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM", "ARM", "ARM", "ARM", "4", "8", "ARM", "ARM", "\"_GLOBAL_OFFSET_TABLE_\"", "ARM", "ARM::rGPRRegClass", "ARM", "ARM::t2LDRpci", "ARM::LDRcp", "ARM::LDRcp", "0", "ARM", "ARM::tPICADD", "ARM::PICADD", "ARM", "ARM::PICADD"], "File": "ARMInstrInfo39", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10746, "Length": 385} {"ground_truth": ["", "std", "::", "pair", "<", "unsigned", ",", "unsigned", ">", "ARMInstrInfo", "::", "decomposeMachineOperandsTargetFlags", "(", "unsigned", "TF", ")", "const", "{", "const", "unsigned", "Mask", "=", "ARMII", "::", "MO_OPTION_MASK", ";", "return", "std", "::", "make_pair", "(", "TF", "&", "Mask", ",", "TF", "&", "~", "Mask", ")", ";", "}", ""], "natrual_language": ["Decompose", "the", "machine", "operand", "'s", "target", "flags", "into", "two", "values", "-", "the", "direct", "target", "flag", "value", "and", "any", "of", "bit", "flags", "that", "are", "applied", "."], "TS_V_token": ["ARM", "ARM", "ARMII::MO_OPTION_MASK"], "File": "ARMInstrInfo42", "Func": "decomposeMachineOperandsTargetFlags", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10747, "Length": 41} {"ground_truth": ["", "ArrayRef", "<", "std", "::", "pair", "<", "unsigned", ",", "const", "char", "*", ">>", "ARMInstrInfo", "::", "getSerializableBitmaskMachineOperandTargetFlags", "(", ")", "const", "{", "using", "namespace", "ARMII", ";", "static", "const", "std", "::", "pair", "<", "unsigned", ",", "const", "char", "*", ">", "TargetFlags", "[", "]", "=", "{", "{", "MO_GOT", ",", "\"arm-got\"", "}", ",", "{", "MO_SBREL", ",", "\"arm-sbrel\"", "}", ",", "{", "MO_DLLIMPORT", ",", "\"arm-dllimport\"", "}", ",", "{", "MO_SECREL", ",", "\"arm-secrel\"", "}", ",", "{", "MO_NONLAZY", ",", "\"arm-nonlazy\"", "}", "}", ";", "return", "makeArrayRef", "(", "TargetFlags", ")", ";", "}", ""], "natrual_language": ["Return", "an", "array", "that", "contains", "the", "bitmask", "target", "flag", "values", "and", "their", "names", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"arm-got\"", "\"arm-sbrel\"", "\"arm-dllimport\"", "\"arm-secrel\"", "\"arm-nonlazy\""], "File": "ARMInstrInfo42", "Func": "getSerializableBitmaskMachineOperandTargetFlags", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10748, "Length": 78} {"ground_truth": ["", "ArrayRef", "<", "std", "::", "pair", "<", "unsigned", ",", "const", "char", "*", ">>", "ARMInstrInfo", "::", "getSerializableDirectMachineOperandTargetFlags", "(", ")", "const", "{", "using", "namespace", "ARMII", ";", "static", "const", "std", "::", "pair", "<", "unsigned", ",", "const", "char", "*", ">", "TargetFlags", "[", "]", "=", "{", "{", "MO_LO16", ",", "\"arm-lo16\"", "}", ",", "{", "MO_HI16", ",", "\"arm-hi16\"", "}", "}", ";", "return", "makeArrayRef", "(", "TargetFlags", ")", ";", "}", ""], "natrual_language": ["Return", "an", "array", "that", "contains", "the", "direct", "target", "flag", "values", "and", "their", "names", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"arm-lo16\"", "\"arm-hi16\""], "File": "ARMInstrInfo42", "Func": "getSerializableDirectMachineOperandTargetFlags", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10749, "Length": 60} {"ground_truth": ["", "virtual", "bool", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "getGlobalBaseReg", "(", ")", "==", "0", ")", "return", "false", ";", "const", "ARMTargetMachine", "*", "TM", "=", "static_cast", "<", "const", "ARMTargetMachine", "*", ">", "(", "&", "MF", ".", "getTarget", "(", ")", ")", ";", "if", "(", "TM", "->", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "PIC_", ")", "return", "false", ";", "LLVMContext", "*", "Context", "=", "&", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ";", "unsigned", "ARMPCLabelIndex", "=", "AFI", "->", "createPICLabelUId", "(", ")", ";", "unsigned", "PCAdj", "=", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb", "(", ")", "?", "4", ":", "8", ";", "ARMConstantPoolValue", "*", "CPV", "=", "ARMConstantPoolSymbol", "::", "Create", "(", "*", "Context", ",", "\"_GLOBAL_OFFSET_TABLE_\"", ",", "ARMPCLabelIndex", ",", "PCAdj", ")", ";", "unsigned", "Align", "=", "TM", "->", "getDataLayout", "(", ")", "->", "getPrefTypeAlignment", "(", "Type", "::", "getInt32PtrTy", "(", "*", "Context", ")", ")", ";", "unsigned", "Idx", "=", "MF", ".", "getConstantPool", "(", ")", "->", "getConstantPoolIndex", "(", "CPV", ",", "Align", ")", ";", "MachineBasicBlock", "&", "FirstMBB", "=", "MF", ".", "front", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "FirstMBB", ".", "begin", "(", ")", ";", "DebugLoc", "DL", "=", "FirstMBB", ".", "findDebugLoc", "(", "MBBI", ")", ";", "unsigned", "GlobalBaseReg", "=", "AFI", "->", "getGlobalBaseReg", "(", ")", ";", "unsigned", "Opc", "=", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", "?", "ARM", "::", "t2LDRpci", ":", "ARM", "::", "LDRcp", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "TM", "->", "getInstrInfo", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "GlobalBaseReg", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "LDRcp", ")", "MIB", ".", "addImm", "(", "0", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM", "ARM", "ARM", "ARM", "4", "8", "ARM", "ARM", "\"_GLOBAL_OFFSET_TABLE_\"", "ARM", "ARM", "ARM::t2LDRpci", "ARM::LDRcp", "ARM::LDRcp", "0"], "File": "ARMInstrInfo4", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10750, "Length": 294} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "setPreservesCFG", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMInstrInfo", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10751, "Length": 24} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM PIC Global Base Reg Initialization\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM PIC Global Base Reg Initialization\""], "File": "ARMInstrInfo", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10752, "Length": 13} {"ground_truth": ["", "const", "ARMRegisterInfo", "&", "getRegisterInfo", "(", ")", "const", "override", "{", "return", "RI", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMInstrInfo", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10753, "Length": 13} {"ground_truth": ["", "bool", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "override", "{", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "getGlobalBaseReg", "(", ")", "==", "0", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "STI", ".", "isThumb1Only", "(", ")", ")", "return", "false", ";", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "if", "(", "TM", ".", "getRelocationModel", "(", ")", "!=", "Reloc", "::", "PIC_", ")", "return", "false", ";", "LLVMContext", "*", "Context", "=", "&", "MF", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ";", "unsigned", "ARMPCLabelIndex", "=", "AFI", "->", "createPICLabelUId", "(", ")", ";", "unsigned", "PCAdj", "=", "STI", ".", "isThumb", "(", ")", "?", "4", ":", "8", ";", "ARMConstantPoolValue", "*", "CPV", "=", "ARMConstantPoolSymbol", "::", "Create", "(", "*", "Context", ",", "\"_GLOBAL_OFFSET_TABLE_\"", ",", "ARMPCLabelIndex", ",", "PCAdj", ")", ";", "unsigned", "Align", "=", "MF", ".", "getDataLayout", "(", ")", ".", "getPrefTypeAlignment", "(", "Type", "::", "getInt32PtrTy", "(", "*", "Context", ")", ")", ";", "unsigned", "Idx", "=", "MF", ".", "getConstantPool", "(", ")", "->", "getConstantPoolIndex", "(", "CPV", ",", "Align", ")", ";", "MachineBasicBlock", "&", "FirstMBB", "=", "MF", ".", "front", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "FirstMBB", ".", "begin", "(", ")", ";", "DebugLoc", "DL", "=", "FirstMBB", ".", "findDebugLoc", "(", "MBBI", ")", ";", "unsigned", "TempReg", "=", "MF", ".", "getRegInfo", "(", ")", ".", "createVirtualRegister", "(", "&", "ARM", "::", "rGPRRegClass", ")", ";", "unsigned", "Opc", "=", "STI", ".", "isThumb2", "(", ")", "?", "ARM", "::", "t2LDRpci", ":", "ARM", "::", "LDRcp", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "TempReg", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "LDRcp", ")", "MIB", ".", "addImm", "(", "0", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "unsigned", "GlobalBaseReg", "=", "AFI", "->", "getGlobalBaseReg", "(", ")", ";", "Opc", "=", "STI", ".", "isThumb2", "(", ")", "?", "ARM", "::", "tPICADD", ":", "ARM", "::", "PICADD", ";", "MIB", "=", "BuildMI", "(", "FirstMBB", ",", "MBBI", ",", "DL", ",", "TII", ".", "get", "(", "Opc", ")", ",", "GlobalBaseReg", ")", ".", "addReg", "(", "TempReg", ")", ".", "addImm", "(", "ARMPCLabelIndex", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "PICADD", ")", "AddDefaultPred", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM", "ARM", "ARM", "4", "8", "ARM", "ARM", "\"_GLOBAL_OFFSET_TABLE_\"", "ARM", "ARM::rGPRRegClass", "ARM::t2LDRpci", "ARM::LDRcp", "ARM::LDRcp", "0", "ARM::tPICADD", "ARM::PICADD", "ARM", "ARM::PICADD"], "File": "ARMInstrInfo", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10754, "Length": 377} {"ground_truth": ["", "static", "const", "char", "*", "getName", "(", ")", "{", "return", "DEBUG_TYPE", ";", "}", ""], "natrual_language": ["Return", "a", "string", "with", "the", "name", "of", "the", "plan", "and", "the", "applicable", "VFs", "and", "UFs", "."], "TS_V_token": ["ARM"], "File": "ARMInstructionSelector (2)", "Func": "getName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10755, "Length": 12} {"ground_truth": ["", "bool", "ARMInstructionSelector", "::", "select", "(", "MachineInstr", "&", "I", ")", "const", "{", "assert", "(", "I", ".", "getParent", "(", ")", "&&", "\"Instruction should be in a basic block!\"", ")", ";", "assert", "(", "I", ".", "getParent", "(", ")", "->", "getParent", "(", ")", "&&", "\"Instruction should be in a function!\"", ")", ";", "auto", "&", "MBB", "=", "*", "I", ".", "getParent", "(", ")", ";", "auto", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "auto", "&", "MRI", "=", "MF", ".", "getRegInfo", "(", ")", ";", "if", "(", "!", "isPreISelGenericOpcode", "(", "I", ".", "getOpcode", "(", ")", ")", ")", "{", "if", "(", "I", ".", "isCopy", "(", ")", ")", "return", "selectCopy", "(", "I", ",", "TII", ",", "MRI", ",", "TRI", ",", "RBI", ")", ";", "return", "true", ";", "}", "MachineInstrBuilder", "MIB", "{", "MF", ",", "I", "}", ";", "using", "namespace", "TargetOpcode", ";", "switch", "(", "I", ".", "getOpcode", "(", ")", ")", "{", "case", "G_ADD", ":", "I", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "ADDrr", ")", ")", ";", "AddDefaultCC", "(", "AddDefaultPred", "(", "MIB", ")", ")", ";", "break", ";", "case", "G_FRAME_INDEX", ":", "I", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "ADDri", ")", ")", ";", "AddDefaultCC", "(", "AddDefaultPred", "(", "MIB", ".", "addImm", "(", "0", ")", ")", ")", ";", "break", ";", "case", "G_LOAD", ":", "I", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "LDRi12", ")", ")", ";", "AddDefaultPred", "(", "MIB", ".", "addImm", "(", "0", ")", ")", ";", "break", ";", "default", ":", "return", "false", ";", "}", "return", "constrainSelectedInstRegOperands", "(", "I", ",", "TII", ",", "TRI", ",", "RBI", ")", ";", "}", ""], "natrual_language": ["Select", "the", "(", "possibly", "generic", ")", "instruction", "I", "to", "only", "use", "target-specific", "opcodes", "."], "TS_V_token": ["ARM", "ARM", "\"Instruction should be in a basic block!\"", "\"Instruction should be in a function!\"", "ARM::ADDrr", "ARM::ADDri", "0", "ARM::LDRi12", "0"], "File": "ARMInstructionSelector10", "Func": "select", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10756, "Length": 236} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM Instruction Selection\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Instruction Selection\""], "File": "ARMISelDAGToDAG (2)4", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10757, "Length": 13} {"ground_truth": ["", "void", "ARMDAGToDAGISel", "::", "PreprocessISelDAG", "(", ")", "{", "if", "(", "!", "Subtarget", "->", "hasV6T2Ops", "(", ")", ")", "return", ";", "bool", "isThumb2", "=", "Subtarget", "->", "isThumb", "(", ")", ";", "for", "(", "SelectionDAG", "::", "allnodes_iterator", "I", "=", "CurDAG", "->", "allnodes_begin", "(", ")", ",", "E", "=", "CurDAG", "->", "allnodes_end", "(", ")", ";", "I", "!=", "E", ";", ")", "{", "SDNode", "*", "N", "=", "&", "*", "I", "++", ";", "if", "(", "N", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "ADD", ")", "continue", ";", "SDValue", "N0", "=", "N", "->", "getOperand", "(", "0", ")", ";", "SDValue", "N1", "=", "N", "->", "getOperand", "(", "1", ")", ";", "unsigned", "And_imm", "=", "0", ";", "if", "(", "!", "isOpcWithIntImmediate", "(", "N1", ".", "getNode", "(", ")", ",", "ISD", "::", "AND", ",", "And_imm", ")", ")", "{", "if", "(", "isOpcWithIntImmediate", "(", "N0", ".", "getNode", "(", ")", ",", "ISD", "::", "AND", ",", "And_imm", ")", ")", "std", "::", "swap", "(", "N0", ",", "N1", ")", ";", "}", "if", "(", "!", "And_imm", ")", "continue", ";", "unsigned", "TZ", "=", "countTrailingZeros", "(", "And_imm", ")", ";", "if", "(", "TZ", "!=", "1", "&&", "TZ", "!=", "2", ")", "continue", ";", "And_imm", ">>=", "TZ", ";", "if", "(", "And_imm", "&", "(", "And_imm", "+", "1", ")", ")", "continue", ";", "SDValue", "Srl", "=", "N1", ".", "getOperand", "(", "0", ")", ";", "unsigned", "Srl_imm", "=", "0", ";", "if", "(", "!", "isOpcWithIntImmediate", "(", "Srl", ".", "getNode", "(", ")", ",", "ISD", "::", "SRL", ",", "Srl_imm", ")", "||", "(", "Srl_imm", "<=", "2", ")", ")", "continue", ";", "SDValue", "CPTmp0", ";", "SDValue", "CPTmp1", ";", "SDValue", "CPTmp2", ";", "if", "(", "isThumb2", ")", "{", "if", "(", "SelectImmShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ")", ")", "continue", ";", "}", "else", "{", "if", "(", "SelectImmShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ")", "||", "SelectRegShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ",", "CPTmp2", ")", ")", "continue", ";", "}", "Srl", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "SRL", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ",", "Srl", ".", "getOperand", "(", "0", ")", ",", "CurDAG", "->", "getConstant", "(", "Srl_imm", "+", "TZ", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ")", ")", ";", "N1", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "AND", ",", "SDLoc", "(", "N1", ")", ",", "MVT", "::", "i32", ",", "Srl", ",", "CurDAG", "->", "getConstant", "(", "And_imm", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ")", ")", ";", "N1", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "SHL", ",", "SDLoc", "(", "N1", ")", ",", "MVT", "::", "i32", ",", "N1", ",", "CurDAG", "->", "getConstant", "(", "TZ", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ")", ")", ";", "CurDAG", "->", "UpdateNodeOperands", "(", "N", ",", "N0", ",", "N1", ")", ";", "}", "}", ""], "natrual_language": ["PreprocessISelDAG", "-", "This", "hook", "allows", "targets", "to", "hack", "on", "the", "graph", "before", "instruction", "selection", "starts", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "0", "1", "0", "ISD::AND", "ISD::AND", "1", "2", "1", "0", "0", "ISD::SRL", "2", "ISD::SRL", "MVT::i32", "0", "MVT::i32", "ISD::AND", "MVT::i32", "MVT::i32", "ISD::SHL", "MVT::i32", "MVT::i32"], "File": "ARMISelDAGToDAG (2)4", "Func": "PreprocessISelDAG", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10758, "Length": 421} {"ground_truth": ["", "bool", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "override", "{", "Subtarget", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SelectionDAGISel", "::", "runOnMachineFunction", "(", "MF", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelDAGToDAG (2)4", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10759, "Length": 32} {"ground_truth": ["", "bool", "ARMDAGToDAGISel", "::", "SelectInlineAsmMemoryOperand", "(", "const", "SDValue", "&", "Op", ",", "unsigned", "ConstraintID", ",", "std", "::", "vector", "<", "SDValue", ">", "&", "OutOps", ")", "{", "switch", "(", "ConstraintID", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unexpected asm memory constraint\"", ")", ";", "case", "InlineAsm", "::", "Constraint_i", ":", "case", "InlineAsm", "::", "Constraint_m", ":", "case", "InlineAsm", "::", "Constraint_o", ":", "case", "InlineAsm", "::", "Constraint_Q", ":", "case", "InlineAsm", "::", "Constraint_Um", ":", "case", "InlineAsm", "::", "Constraint_Un", ":", "case", "InlineAsm", "::", "Constraint_Uq", ":", "case", "InlineAsm", "::", "Constraint_Us", ":", "case", "InlineAsm", "::", "Constraint_Ut", ":", "case", "InlineAsm", "::", "Constraint_Uv", ":", "case", "InlineAsm", "::", "Constraint_Uy", ":", "OutOps", ".", "push_back", "(", "Op", ")", ";", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["SelectInlineAsmMemoryOperand", "-", "Select", "the", "specified", "address", "as", "a", "target", "addressing", "mode", ",", "according", "to", "the", "specified", "constraint", "."], "TS_V_token": ["ARM", "ARM", "\"Unexpected asm memory constraint\""], "File": "ARMISelDAGToDAG (2)4", "Func": "SelectInlineAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10760, "Length": 105} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"ARM Instruction Selection\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Instruction Selection\""], "File": "ARMISelDAGToDAG (2)", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10761, "Length": 13} {"ground_truth": ["", "void", "ARMDAGToDAGISel", "::", "PreprocessISelDAG", "(", ")", "{", "if", "(", "!", "Subtarget", "->", "hasV6T2Ops", "(", ")", ")", "return", ";", "bool", "isThumb2", "=", "Subtarget", "->", "isThumb", "(", ")", ";", "for", "(", "SelectionDAG", "::", "allnodes_iterator", "I", "=", "CurDAG", "->", "allnodes_begin", "(", ")", ",", "E", "=", "CurDAG", "->", "allnodes_end", "(", ")", ";", "I", "!=", "E", ";", ")", "{", "SDNode", "*", "N", "=", "I", "++", ";", "if", "(", "N", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "ADD", ")", "continue", ";", "SDValue", "N0", "=", "N", "->", "getOperand", "(", "0", ")", ";", "SDValue", "N1", "=", "N", "->", "getOperand", "(", "1", ")", ";", "unsigned", "And_imm", "=", "0", ";", "if", "(", "!", "isOpcWithIntImmediate", "(", "N1", ".", "getNode", "(", ")", ",", "ISD", "::", "AND", ",", "And_imm", ")", ")", "{", "if", "(", "isOpcWithIntImmediate", "(", "N0", ".", "getNode", "(", ")", ",", "ISD", "::", "AND", ",", "And_imm", ")", ")", "std", "::", "swap", "(", "N0", ",", "N1", ")", ";", "}", "if", "(", "!", "And_imm", ")", "continue", ";", "unsigned", "TZ", "=", "countTrailingZeros", "(", "And_imm", ")", ";", "if", "(", "TZ", "!=", "1", "&&", "TZ", "!=", "2", ")", "continue", ";", "And_imm", ">>=", "TZ", ";", "if", "(", "And_imm", "&", "(", "And_imm", "+", "1", ")", ")", "continue", ";", "SDValue", "Srl", "=", "N1", ".", "getOperand", "(", "0", ")", ";", "unsigned", "Srl_imm", "=", "0", ";", "if", "(", "!", "isOpcWithIntImmediate", "(", "Srl", ".", "getNode", "(", ")", ",", "ISD", "::", "SRL", ",", "Srl_imm", ")", "||", "(", "Srl_imm", "<=", "2", ")", ")", "continue", ";", "SDValue", "CPTmp0", ";", "SDValue", "CPTmp1", ";", "SDValue", "CPTmp2", ";", "if", "(", "isThumb2", ")", "{", "if", "(", "SelectT2ShifterOperandReg", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ")", ")", "continue", ";", "}", "else", "{", "if", "(", "SelectImmShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ")", "||", "SelectRegShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ",", "CPTmp2", ")", ")", "continue", ";", "}", "Srl", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "SRL", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ",", "Srl", ".", "getOperand", "(", "0", ")", ",", "CurDAG", "->", "getConstant", "(", "Srl_imm", "+", "TZ", ",", "MVT", "::", "i32", ")", ")", ";", "N1", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "AND", ",", "SDLoc", "(", "N1", ")", ",", "MVT", "::", "i32", ",", "Srl", ",", "CurDAG", "->", "getConstant", "(", "And_imm", ",", "MVT", "::", "i32", ")", ")", ";", "N1", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "SHL", ",", "SDLoc", "(", "N1", ")", ",", "MVT", "::", "i32", ",", "N1", ",", "CurDAG", "->", "getConstant", "(", "TZ", ",", "MVT", "::", "i32", ")", ")", ";", "CurDAG", "->", "UpdateNodeOperands", "(", "N", ",", "N0", ",", "N1", ")", ";", "}", "}", ""], "natrual_language": ["PreprocessISelDAG", "-", "This", "hook", "allows", "targets", "to", "hack", "on", "the", "graph", "before", "instruction", "selection", "starts", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "0", "1", "0", "ISD::AND", "ISD::AND", "1", "2", "1", "0", "0", "ISD::SRL", "2", "ISD::SRL", "MVT::i32", "0", "MVT::i32", "ISD::AND", "MVT::i32", "MVT::i32", "ISD::SHL", "MVT::i32", "MVT::i32"], "File": "ARMISelDAGToDAG (2)", "Func": "PreprocessISelDAG", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10762, "Length": 404} {"ground_truth": ["", "bool", "ARMDAGToDAGISel", "::", "SelectInlineAsmMemoryOperand", "(", "const", "SDValue", "&", "Op", ",", "char", "ConstraintCode", ",", "std", "::", "vector", "<", "SDValue", ">", "&", "OutOps", ")", "{", "assert", "(", "ConstraintCode", "==", "'m'", "&&", "\"unexpected asm memory constraint\"", ")", ";", "OutOps", ".", "push_back", "(", "Op", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["SelectInlineAsmMemoryOperand", "-", "Select", "the", "specified", "address", "as", "a", "target", "addressing", "mode", ",", "according", "to", "the", "specified", "constraint", "."], "TS_V_token": ["ARM", "ARM", "\"unexpected asm memory constraint\""], "File": "ARMISelDAGToDAG (2)", "Func": "SelectInlineAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10763, "Length": 43} {"ground_truth": ["", "bool", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "override", "{", "Subtarget", "=", "&", "MF", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SelectionDAGISel", "::", "runOnMachineFunction", "(", "MF", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelDAGToDAG108", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10764, "Length": 36} {"ground_truth": ["", "bool", "ComplexPatternFuncMutatesDAG", "(", ")", "const", "override", "{", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "complex", "patterns", "for", "this", "target", "can", "mutate", "the", "DAG", "."], "TS_V_token": ["ARM"], "File": "ARMISelDAGToDAG10", "Func": "ComplexPatternFuncMutatesDAG", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10765, "Length": 11} {"ground_truth": ["", "bool", "ARMDAGToDAGISel", "::", "SelectInlineAsmMemoryOperand", "(", "const", "SDValue", "&", "Op", ",", "unsigned", "ConstraintID", ",", "std", "::", "vector", "<", "SDValue", ">", "&", "OutOps", ")", "{", "switch", "(", "ConstraintID", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unexpected asm memory constraint\"", ")", ";", "case", "InlineAsm", "::", "Constraint_m", ":", "case", "InlineAsm", "::", "Constraint_o", ":", "case", "InlineAsm", "::", "Constraint_Q", ":", "case", "InlineAsm", "::", "Constraint_Um", ":", "case", "InlineAsm", "::", "Constraint_Un", ":", "case", "InlineAsm", "::", "Constraint_Uq", ":", "case", "InlineAsm", "::", "Constraint_Us", ":", "case", "InlineAsm", "::", "Constraint_Ut", ":", "case", "InlineAsm", "::", "Constraint_Uv", ":", "case", "InlineAsm", "::", "Constraint_Uy", ":", "OutOps", ".", "push_back", "(", "Op", ")", ";", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["SelectInlineAsmMemoryOperand", "-", "Select", "the", "specified", "address", "as", "a", "target", "addressing", "mode", ",", "according", "to", "the", "specified", "constraint", "."], "TS_V_token": ["ARM", "ARM", "\"Unexpected asm memory constraint\""], "File": "ARMISelDAGToDAG10", "Func": "SelectInlineAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10766, "Length": 100} {"ground_truth": ["", "void", "ARMDAGToDAGISel", "::", "PreprocessISelDAG", "(", ")", "{", "if", "(", "!", "Subtarget", "->", "hasV6T2Ops", "(", ")", ")", "return", ";", "bool", "isThumb2", "=", "Subtarget", "->", "isThumb", "(", ")", ";", "for", "(", "SelectionDAG", "::", "allnodes_iterator", "I", "=", "CurDAG", "->", "allnodes_begin", "(", ")", ",", "E", "=", "CurDAG", "->", "allnodes_end", "(", ")", ";", "I", "!=", "E", ";", ")", "{", "SDNode", "*", "N", "=", "I", "++", ";", "if", "(", "N", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "ADD", ")", "continue", ";", "SDValue", "N0", "=", "N", "->", "getOperand", "(", "0", ")", ";", "SDValue", "N1", "=", "N", "->", "getOperand", "(", "1", ")", ";", "unsigned", "And_imm", "=", "0", ";", "if", "(", "!", "isOpcWithIntImmediate", "(", "N1", ".", "getNode", "(", ")", ",", "ISD", "::", "AND", ",", "And_imm", ")", ")", "{", "if", "(", "isOpcWithIntImmediate", "(", "N0", ".", "getNode", "(", ")", ",", "ISD", "::", "AND", ",", "And_imm", ")", ")", "std", "::", "swap", "(", "N0", ",", "N1", ")", ";", "}", "if", "(", "!", "And_imm", ")", "continue", ";", "unsigned", "TZ", "=", "CountTrailingZeros_32", "(", "And_imm", ")", ";", "if", "(", "TZ", "!=", "1", "&&", "TZ", "!=", "2", ")", "continue", ";", "And_imm", ">>=", "TZ", ";", "if", "(", "And_imm", "&", "(", "And_imm", "+", "1", ")", ")", "continue", ";", "SDValue", "Srl", "=", "N1", ".", "getOperand", "(", "0", ")", ";", "unsigned", "Srl_imm", "=", "0", ";", "if", "(", "!", "isOpcWithIntImmediate", "(", "Srl", ".", "getNode", "(", ")", ",", "ISD", "::", "SRL", ",", "Srl_imm", ")", "||", "(", "Srl_imm", "<=", "2", ")", ")", "continue", ";", "SDValue", "CPTmp0", ";", "SDValue", "CPTmp1", ";", "SDValue", "CPTmp2", ";", "if", "(", "isThumb2", ")", "{", "if", "(", "SelectT2ShifterOperandReg", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ")", ")", "continue", ";", "}", "else", "{", "if", "(", "SelectImmShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ")", "||", "SelectRegShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ",", "CPTmp2", ")", ")", "continue", ";", "}", "Srl", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "SRL", ",", "Srl", ".", "getDebugLoc", "(", ")", ",", "MVT", "::", "i32", ",", "Srl", ".", "getOperand", "(", "0", ")", ",", "CurDAG", "->", "getConstant", "(", "Srl_imm", "+", "TZ", ",", "MVT", "::", "i32", ")", ")", ";", "N1", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "AND", ",", "N1", ".", "getDebugLoc", "(", ")", ",", "MVT", "::", "i32", ",", "Srl", ",", "CurDAG", "->", "getConstant", "(", "And_imm", ",", "MVT", "::", "i32", ")", ")", ";", "N1", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "SHL", ",", "N1", ".", "getDebugLoc", "(", ")", ",", "MVT", "::", "i32", ",", "N1", ",", "CurDAG", "->", "getConstant", "(", "TZ", ",", "MVT", "::", "i32", ")", ")", ";", "CurDAG", "->", "UpdateNodeOperands", "(", "N", ",", "N0", ",", "N1", ")", ";", "}", "}", ""], "natrual_language": ["PreprocessISelDAG", "-", "This", "hook", "allows", "targets", "to", "hack", "on", "the", "graph", "before", "instruction", "selection", "starts", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "0", "1", "0", "ISD::AND", "ISD::AND", "1", "2", "1", "0", "0", "ISD::SRL", "2", "ISD::SRL", "MVT::i32", "0", "MVT::i32", "ISD::AND", "MVT::i32", "MVT::i32", "ISD::SHL", "MVT::i32", "MVT::i32"], "File": "ARMISelDAGToDAG115", "Func": "PreprocessISelDAG", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10767, "Length": 407} {"ground_truth": ["", "void", "ARMDAGToDAGISel", "::", "PreprocessISelDAG", "(", ")", "{", "if", "(", "!", "Subtarget", "->", "hasV6T2Ops", "(", ")", ")", "return", ";", "bool", "isThumb2", "=", "Subtarget", "->", "isThumb", "(", ")", ";", "for", "(", "SDNode", "&", "N", ":", "llvm", "::", "make_early_inc_range", "(", "CurDAG", "->", "allnodes", "(", ")", ")", ")", "{", "if", "(", "N", ".", "getOpcode", "(", ")", "!=", "ISD", "::", "ADD", ")", "continue", ";", "SDValue", "N0", "=", "N", ".", "getOperand", "(", "0", ")", ";", "SDValue", "N1", "=", "N", ".", "getOperand", "(", "1", ")", ";", "unsigned", "And_imm", "=", "0", ";", "if", "(", "!", "isOpcWithIntImmediate", "(", "N1", ".", "getNode", "(", ")", ",", "ISD", "::", "AND", ",", "And_imm", ")", ")", "{", "if", "(", "isOpcWithIntImmediate", "(", "N0", ".", "getNode", "(", ")", ",", "ISD", "::", "AND", ",", "And_imm", ")", ")", "std", "::", "swap", "(", "N0", ",", "N1", ")", ";", "}", "if", "(", "!", "And_imm", ")", "continue", ";", "unsigned", "TZ", "=", "countTrailingZeros", "(", "And_imm", ")", ";", "if", "(", "TZ", "!=", "1", "&&", "TZ", "!=", "2", ")", "continue", ";", "And_imm", ">>=", "TZ", ";", "if", "(", "And_imm", "&", "(", "And_imm", "+", "1", ")", ")", "continue", ";", "SDValue", "Srl", "=", "N1", ".", "getOperand", "(", "0", ")", ";", "unsigned", "Srl_imm", "=", "0", ";", "if", "(", "!", "isOpcWithIntImmediate", "(", "Srl", ".", "getNode", "(", ")", ",", "ISD", "::", "SRL", ",", "Srl_imm", ")", "||", "(", "Srl_imm", "<=", "2", ")", ")", "continue", ";", "SDValue", "CPTmp0", ";", "SDValue", "CPTmp1", ";", "SDValue", "CPTmp2", ";", "if", "(", "isThumb2", ")", "{", "if", "(", "SelectImmShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ")", ")", "continue", ";", "}", "else", "{", "if", "(", "SelectImmShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ")", "||", "SelectRegShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ",", "CPTmp2", ")", ")", "continue", ";", "}", "Srl", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "SRL", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ",", "Srl", ".", "getOperand", "(", "0", ")", ",", "CurDAG", "->", "getConstant", "(", "Srl_imm", "+", "TZ", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ")", ")", ";", "N1", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "AND", ",", "SDLoc", "(", "N1", ")", ",", "MVT", "::", "i32", ",", "Srl", ",", "CurDAG", "->", "getConstant", "(", "And_imm", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ")", ")", ";", "N1", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "SHL", ",", "SDLoc", "(", "N1", ")", ",", "MVT", "::", "i32", ",", "N1", ",", "CurDAG", "->", "getConstant", "(", "TZ", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ")", ")", ";", "CurDAG", "->", "UpdateNodeOperands", "(", "&", "N", ",", "N0", ",", "N1", ")", ";", "}", "}", ""], "natrual_language": ["PreprocessISelDAG", "-", "This", "hook", "allows", "targets", "to", "hack", "on", "the", "graph", "before", "instruction", "selection", "starts", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "0", "1", "0", "ISD::AND", "ISD::AND", "1", "2", "1", "0", "0", "ISD::SRL", "2", "ISD::SRL", "MVT::i32", "0", "MVT::i32", "ISD::AND", "MVT::i32", "MVT::i32", "ISD::SHL", "MVT::i32", "MVT::i32"], "File": "ARMISelDAGToDAG118", "Func": "PreprocessISelDAG", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10768, "Length": 404} {"ground_truth": ["", "void", "ARMDAGToDAGISel", "::", "PreprocessISelDAG", "(", ")", "{", "if", "(", "!", "Subtarget", "->", "hasV6T2Ops", "(", ")", ")", "return", ";", "bool", "isThumb2", "=", "Subtarget", "->", "isThumb", "(", ")", ";", "for", "(", "SelectionDAG", "::", "allnodes_iterator", "I", "=", "CurDAG", "->", "allnodes_begin", "(", ")", ",", "E", "=", "CurDAG", "->", "allnodes_end", "(", ")", ";", "I", "!=", "E", ";", ")", "{", "SDNode", "*", "N", "=", "I", "++", ";", "if", "(", "N", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "ADD", ")", "continue", ";", "SDValue", "N0", "=", "N", "->", "getOperand", "(", "0", ")", ";", "SDValue", "N1", "=", "N", "->", "getOperand", "(", "1", ")", ";", "unsigned", "And_imm", "=", "0", ";", "if", "(", "!", "isOpcWithIntImmediate", "(", "N1", ".", "getNode", "(", ")", ",", "ISD", "::", "AND", ",", "And_imm", ")", ")", "{", "if", "(", "isOpcWithIntImmediate", "(", "N0", ".", "getNode", "(", ")", ",", "ISD", "::", "AND", ",", "And_imm", ")", ")", "std", "::", "swap", "(", "N0", ",", "N1", ")", ";", "}", "if", "(", "!", "And_imm", ")", "continue", ";", "unsigned", "TZ", "=", "countTrailingZeros", "(", "And_imm", ")", ";", "if", "(", "TZ", "!=", "1", "&&", "TZ", "!=", "2", ")", "continue", ";", "And_imm", ">>=", "TZ", ";", "if", "(", "And_imm", "&", "(", "And_imm", "+", "1", ")", ")", "continue", ";", "SDValue", "Srl", "=", "N1", ".", "getOperand", "(", "0", ")", ";", "unsigned", "Srl_imm", "=", "0", ";", "if", "(", "!", "isOpcWithIntImmediate", "(", "Srl", ".", "getNode", "(", ")", ",", "ISD", "::", "SRL", ",", "Srl_imm", ")", "||", "(", "Srl_imm", "<=", "2", ")", ")", "continue", ";", "SDValue", "CPTmp0", ";", "SDValue", "CPTmp1", ";", "SDValue", "CPTmp2", ";", "if", "(", "isThumb2", ")", "{", "if", "(", "SelectImmShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ")", ")", "continue", ";", "}", "else", "{", "if", "(", "SelectImmShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ")", "||", "SelectRegShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ",", "CPTmp2", ")", ")", "continue", ";", "}", "Srl", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "SRL", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ",", "Srl", ".", "getOperand", "(", "0", ")", ",", "CurDAG", "->", "getConstant", "(", "Srl_imm", "+", "TZ", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ")", ")", ";", "N1", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "AND", ",", "SDLoc", "(", "N1", ")", ",", "MVT", "::", "i32", ",", "Srl", ",", "CurDAG", "->", "getConstant", "(", "And_imm", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ")", ")", ";", "N1", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "SHL", ",", "SDLoc", "(", "N1", ")", ",", "MVT", "::", "i32", ",", "N1", ",", "CurDAG", "->", "getConstant", "(", "TZ", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ")", ")", ";", "CurDAG", "->", "UpdateNodeOperands", "(", "N", ",", "N0", ",", "N1", ")", ";", "}", "}", ""], "natrual_language": ["PreprocessISelDAG", "-", "This", "hook", "allows", "targets", "to", "hack", "on", "the", "graph", "before", "instruction", "selection", "starts", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "0", "1", "0", "ISD::AND", "ISD::AND", "1", "2", "1", "0", "0", "ISD::SRL", "2", "ISD::SRL", "MVT::i32", "0", "MVT::i32", "ISD::AND", "MVT::i32", "MVT::i32", "ISD::SHL", "MVT::i32", "MVT::i32"], "File": "ARMISelDAGToDAG1", "Func": "PreprocessISelDAG", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10769, "Length": 419} {"ground_truth": ["", "bool", "ARMDAGToDAGISel", "::", "SelectInlineAsmMemoryOperand", "(", "const", "SDValue", "&", "Op", ",", "unsigned", "ConstraintID", ",", "std", "::", "vector", "<", "SDValue", ">", "&", "OutOps", ")", "{", "switch", "(", "ConstraintID", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unexpected asm memory constraint\"", ")", ";", "case", "InlineAsm", "::", "Constraint_i", ":", "case", "InlineAsm", "::", "Constraint_m", ":", "case", "InlineAsm", "::", "Constraint_Q", ":", "case", "InlineAsm", "::", "Constraint_Um", ":", "case", "InlineAsm", "::", "Constraint_Un", ":", "case", "InlineAsm", "::", "Constraint_Uq", ":", "case", "InlineAsm", "::", "Constraint_Us", ":", "case", "InlineAsm", "::", "Constraint_Ut", ":", "case", "InlineAsm", "::", "Constraint_Uv", ":", "case", "InlineAsm", "::", "Constraint_Uy", ":", "OutOps", ".", "push_back", "(", "Op", ")", ";", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["SelectInlineAsmMemoryOperand", "-", "Select", "the", "specified", "address", "as", "a", "target", "addressing", "mode", ",", "according", "to", "the", "specified", "constraint", "."], "TS_V_token": ["ARM", "ARM", "\"Unexpected asm memory constraint\""], "File": "ARMISelDAGToDAG1", "Func": "SelectInlineAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10770, "Length": 100} {"ground_truth": ["", "bool", "ARMDAGToDAGISel", "::", "SelectInlineAsmMemoryOperand", "(", "const", "SDValue", "&", "Op", ",", "char", "ConstraintCode", ",", "std", "::", "vector", "<", "SDValue", ">", "&", "OutOps", ")", "{", "assert", "(", "ConstraintCode", "==", "'m'", "&&", "\"unexpected asm memory constraint\"", ")", ";", "SDValue", "Base", ",", "Offset", ",", "Opc", ";", "if", "(", "!", "SelectAddrMode2", "(", "Op", ",", "Op", ",", "Base", ",", "Offset", ",", "Opc", ")", ")", "return", "true", ";", "OutOps", ".", "push_back", "(", "Base", ")", ";", "OutOps", ".", "push_back", "(", "Offset", ")", ";", "OutOps", ".", "push_back", "(", "Opc", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["SelectInlineAsmMemoryOperand", "-", "Select", "the", "specified", "address", "as", "a", "target", "addressing", "mode", ",", "according", "to", "the", "specified", "constraint", "."], "TS_V_token": ["ARM", "ARM", "\"unexpected asm memory constraint\""], "File": "ARMISelDAGToDAG21", "Func": "SelectInlineAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10771, "Length": 83} {"ground_truth": ["", "bool", "ARMDAGToDAGISel", "::", "SelectInlineAsmMemoryOperand", "(", "const", "SDValue", "&", "Op", ",", "unsigned", "ConstraintID", ",", "std", "::", "vector", "<", "SDValue", ">", "&", "OutOps", ")", "{", "assert", "(", "ConstraintID", "==", "InlineAsm", "::", "Constraint_m", "&&", "\"unexpected asm memory constraint\"", ")", ";", "OutOps", ".", "push_back", "(", "Op", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["SelectInlineAsmMemoryOperand", "-", "Select", "the", "specified", "address", "as", "a", "target", "addressing", "mode", ",", "according", "to", "the", "specified", "constraint", "."], "TS_V_token": ["ARM", "ARM", "\"unexpected asm memory constraint\""], "File": "ARMISelDAGToDAG23", "Func": "SelectInlineAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10772, "Length": 45} {"ground_truth": ["", "bool", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "override", "{", "Subtarget", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "SelectionDAGISel", "::", "runOnMachineFunction", "(", "MF", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelDAGToDAG57", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10773, "Length": 32} {"ground_truth": ["", "void", "ARMDAGToDAGISel", "::", "PreprocessISelDAG", "(", ")", "{", "if", "(", "!", "Subtarget", "->", "hasV6T2Ops", "(", ")", ")", "return", ";", "bool", "isThumb2", "=", "Subtarget", "->", "isThumb", "(", ")", ";", "for", "(", "SelectionDAG", "::", "allnodes_iterator", "I", "=", "CurDAG", "->", "allnodes_begin", "(", ")", ",", "E", "=", "CurDAG", "->", "allnodes_end", "(", ")", ";", "I", "!=", "E", ";", ")", "{", "SDNode", "*", "N", "=", "I", "++", ";", "if", "(", "N", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "ADD", ")", "continue", ";", "SDValue", "N0", "=", "N", "->", "getOperand", "(", "0", ")", ";", "SDValue", "N1", "=", "N", "->", "getOperand", "(", "1", ")", ";", "unsigned", "And_imm", "=", "0", ";", "if", "(", "!", "isOpcWithIntImmediate", "(", "N1", ".", "getNode", "(", ")", ",", "ISD", "::", "AND", ",", "And_imm", ")", ")", "{", "if", "(", "isOpcWithIntImmediate", "(", "N0", ".", "getNode", "(", ")", ",", "ISD", "::", "AND", ",", "And_imm", ")", ")", "std", "::", "swap", "(", "N0", ",", "N1", ")", ";", "}", "if", "(", "!", "And_imm", ")", "continue", ";", "unsigned", "TZ", "=", "countTrailingZeros", "(", "And_imm", ")", ";", "if", "(", "TZ", "!=", "1", "&&", "TZ", "!=", "2", ")", "continue", ";", "And_imm", ">>=", "TZ", ";", "if", "(", "And_imm", "&", "(", "And_imm", "+", "1", ")", ")", "continue", ";", "SDValue", "Srl", "=", "N1", ".", "getOperand", "(", "0", ")", ";", "unsigned", "Srl_imm", "=", "0", ";", "if", "(", "!", "isOpcWithIntImmediate", "(", "Srl", ".", "getNode", "(", ")", ",", "ISD", "::", "SRL", ",", "Srl_imm", ")", "||", "(", "Srl_imm", "<=", "2", ")", ")", "continue", ";", "SDValue", "CPTmp0", ";", "SDValue", "CPTmp1", ";", "SDValue", "CPTmp2", ";", "if", "(", "isThumb2", ")", "{", "if", "(", "SelectT2ShifterOperandReg", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ")", ")", "continue", ";", "}", "else", "{", "if", "(", "SelectImmShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ")", "||", "SelectRegShifterOperand", "(", "N0", ",", "CPTmp0", ",", "CPTmp1", ",", "CPTmp2", ")", ")", "continue", ";", "}", "Srl", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "SRL", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ",", "Srl", ".", "getOperand", "(", "0", ")", ",", "CurDAG", "->", "getConstant", "(", "Srl_imm", "+", "TZ", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ")", ")", ";", "N1", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "AND", ",", "SDLoc", "(", "N1", ")", ",", "MVT", "::", "i32", ",", "Srl", ",", "CurDAG", "->", "getConstant", "(", "And_imm", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ")", ")", ";", "N1", "=", "CurDAG", "->", "getNode", "(", "ISD", "::", "SHL", ",", "SDLoc", "(", "N1", ")", ",", "MVT", "::", "i32", ",", "N1", ",", "CurDAG", "->", "getConstant", "(", "TZ", ",", "SDLoc", "(", "Srl", ")", ",", "MVT", "::", "i32", ")", ")", ";", "CurDAG", "->", "UpdateNodeOperands", "(", "N", ",", "N0", ",", "N1", ")", ";", "}", "}", ""], "natrual_language": ["PreprocessISelDAG", "-", "This", "hook", "allows", "targets", "to", "hack", "on", "the", "graph", "before", "instruction", "selection", "starts", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "0", "1", "0", "ISD::AND", "ISD::AND", "1", "2", "1", "0", "0", "ISD::SRL", "2", "ISD::SRL", "MVT::i32", "0", "MVT::i32", "ISD::AND", "MVT::i32", "MVT::i32", "ISD::SHL", "MVT::i32", "MVT::i32"], "File": "ARMISelDAGToDAG5", "Func": "PreprocessISelDAG", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10774, "Length": 419} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM Instruction Selection\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Instruction Selection\""], "File": "ARMISelDAGToDAG", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10775, "Length": 11} {"ground_truth": ["", "bool", "ARMDAGToDAGISel", "::", "SelectInlineAsmMemoryOperand", "(", "const", "SDValue", "&", "Op", ",", "unsigned", "ConstraintID", ",", "std", "::", "vector", "<", "SDValue", ">", "&", "OutOps", ")", "{", "switch", "(", "ConstraintID", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Unexpected asm memory constraint\"", ")", ";", "case", "InlineAsm", "::", "Constraint_i", ":", "LLVM_FALLTHROUGH", ";", "case", "InlineAsm", "::", "Constraint_m", ":", "case", "InlineAsm", "::", "Constraint_o", ":", "case", "InlineAsm", "::", "Constraint_Q", ":", "case", "InlineAsm", "::", "Constraint_Um", ":", "case", "InlineAsm", "::", "Constraint_Un", ":", "case", "InlineAsm", "::", "Constraint_Uq", ":", "case", "InlineAsm", "::", "Constraint_Us", ":", "case", "InlineAsm", "::", "Constraint_Ut", ":", "case", "InlineAsm", "::", "Constraint_Uv", ":", "case", "InlineAsm", "::", "Constraint_Uy", ":", "OutOps", ".", "push_back", "(", "Op", ")", ";", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["SelectInlineAsmMemoryOperand", "-", "Select", "the", "specified", "address", "as", "a", "target", "addressing", "mode", ",", "according", "to", "the", "specified", "constraint", "."], "TS_V_token": ["ARM", "ARM", "\"Unexpected asm memory constraint\""], "File": "ARMISelDAGToDAG", "Func": "SelectInlineAsmMemoryOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10776, "Length": 107} {"ground_truth": ["", "std", "::", "pair", "<", "const", "TargetRegisterClass", "*", ",", "uint8_t", ">", "ARMTargetLowering", "::", "findRepresentativeClass", "(", "MVT", "VT", ")", "const", "{", "const", "TargetRegisterClass", "*", "RRC", "=", "0", ";", "uint8_t", "Cost", "=", "1", ";", "switch", "(", "VT", ".", "SimpleTy", ")", "{", "default", ":", "return", "TargetLowering", "::", "findRepresentativeClass", "(", "VT", ")", ";", "case", "MVT", "::", "f32", ":", "case", "MVT", "::", "f64", ":", "case", "MVT", "::", "v8i8", ":", "case", "MVT", "::", "v4i16", ":", "case", "MVT", "::", "v2i32", ":", "case", "MVT", "::", "v1i64", ":", "case", "MVT", "::", "v2f32", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "if", "(", "Subtarget", "->", "useNEONForSinglePrecisionFP", "(", ")", ")", "Cost", "=", "2", ";", "break", ";", "case", "MVT", "::", "v16i8", ":", "case", "MVT", "::", "v8i16", ":", "case", "MVT", "::", "v4i32", ":", "case", "MVT", "::", "v2i64", ":", "case", "MVT", "::", "v4f32", ":", "case", "MVT", "::", "v2f64", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "Cost", "=", "2", ";", "break", ";", "case", "MVT", "::", "v4i64", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "Cost", "=", "4", ";", "break", ";", "case", "MVT", "::", "v8i64", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "Cost", "=", "8", ";", "break", ";", "}", "return", "std", "::", "make_pair", "(", "RRC", ",", "Cost", ")", ";", "}", ""], "natrual_language": ["Return", "the", "largest", "legal", "super-reg", "register", "class", "of", "the", "register", "class", "for", "the", "specified", "type", "and", "its", "associated", "``", "cost", "''", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "MVT::f32", "MVT::f64", "MVT::v8i8", "MVT::v4i16", "MVT::v2i32", "MVT::v1i64", "MVT::v2f32", "ARM::DPRRegClass", "2", "MVT::v16i8", "MVT::v8i16", "MVT::v4i32", "MVT::v2i64", "MVT::v4f32", "MVT::v2f64", "ARM::DPRRegClass", "2", "MVT::v4i64", "ARM::DPRRegClass", "4", "MVT::v8i64", "ARM::DPRRegClass", "8"], "File": "ARMISelLowering (2)1", "Func": "findRepresentativeClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10777, "Length": 195} {"ground_truth": ["", "unsigned", "getMaxSupportedInterleaveFactor", "(", ")", "const", "override", "{", "return", "4", ";", "}", ""], "natrual_language": ["Get", "the", "maximum", "supported", "factor", "for", "interleaved", "memory", "accesses", "."], "TS_V_token": ["ARM", "4"], "File": "ARMISelLowering (2)1", "Func": "getMaxSupportedInterleaveFactor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10778, "Length": 11} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "uint64_t", "Size", ",", "unsigned", "DstAlign", ",", "unsigned", "SrcAlign", ",", "bool", "IsMemset", ",", "bool", "ZeroMemset", ",", "bool", "MemcpyStrSrc", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "if", "(", "(", "!", "IsMemset", "||", "ZeroMemset", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "Attribute", "::", "NoImplicitFloat", ")", ")", "{", "bool", "Fast", ";", "if", "(", "Size", ">=", "16", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "16", ")", "||", "(", "allowsUnalignedMemoryAccesses", "(", "MVT", "::", "v2f64", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "v2f64", ";", "}", "else", "if", "(", "Size", ">=", "8", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "8", ")", "||", "(", "allowsUnalignedMemoryAccesses", "(", "MVT", "::", "f64", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "f64", ";", "}", "}", "if", "(", "Size", ">=", "4", ")", "return", "MVT", "::", "i32", ";", "else", "if", "(", "Size", ">=", "2", ")", "return", "MVT", "::", "i16", ";", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v2f64", "MVT::v2f64", "8", "8", "MVT::f64", "MVT::f64", "4", "MVT::i32", "2", "MVT::i16", "MVT::Other"], "File": "ARMISelLowering (2)1", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10779, "Length": 184} {"ground_truth": ["", "RCPair", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "std", "::", "string", "&", "Constraint", ",", "MVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'h'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "hGPRRegClass", ")", ";", "break", ";", "case", "'r'", ":", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPRRegClass", ")", ";", "break", ";", "case", "'x'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_8RegClass", ")", ";", "break", ";", "case", "'t'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "break", ";", "}", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_lower", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "unsigned", "(", "ARM", "::", "CPSR", ")", ",", "&", "ARM", "::", "CCRRegClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "0U", "ARM::hGPRRegClass", "0U", "ARM::GPRRegClass", "MVT::f32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPRRegClass", "128", "0U", "ARM::QPRRegClass", "MVT::f32", "0U", "ARM::SPR_8RegClass", "64", "0U", "ARM::DPR_8RegClass", "128", "0U", "ARM::QPR_8RegClass", "MVT::f32", "0U", "ARM::SPRRegClass", "\"{cc}\"", "ARM::CPSR", "ARM::CCRRegClass"], "File": "ARMISelLowering (2)1", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10780, "Length": 306} {"ground_truth": ["", "TargetLowering", "::", "ConstraintWeight", "ARMTargetLowering", "::", "getSingleConstraintMatchWeight", "(", "AsmOperandInfo", "&", "info", ",", "const", "char", "*", "constraint", ")", "const", "{", "ConstraintWeight", "weight", "=", "CW_Invalid", ";", "Value", "*", "CallOperandVal", "=", "info", ".", "CallOperandVal", ";", "if", "(", "CallOperandVal", "==", "NULL", ")", "return", "CW_Default", ";", "Type", "*", "type", "=", "CallOperandVal", "->", "getType", "(", ")", ";", "switch", "(", "*", "constraint", ")", "{", "default", ":", "weight", "=", "TargetLowering", "::", "getSingleConstraintMatchWeight", "(", "info", ",", "constraint", ")", ";", "break", ";", "case", "'l'", ":", "if", "(", "type", "->", "isIntegerTy", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "weight", "=", "CW_SpecificReg", ";", "else", "weight", "=", "CW_Register", ";", "}", "break", ";", "case", "'w'", ":", "if", "(", "type", "->", "isFloatingPointTy", "(", ")", ")", "weight", "=", "CW_Register", ";", "break", ";", "}", "return", "weight", ";", "}", ""], "natrual_language": ["Examine", "constraint", "string", "and", "operand", "type", "and", "determine", "a", "weight", "value", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)1", "Func": "getSingleConstraintMatchWeight", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10781, "Length": 125} {"ground_truth": ["", "const", "ARMSubtarget", "*", "getSubtarget", "(", ")", "const", "{", "return", "Subtarget", ";", "}", ""], "natrual_language": ["getSubtarget", "-", "Return", "the", "subtarget", "for", "which", "this", "machine", "code", "is", "being", "compiled", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)1", "Func": "getSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10782, "Length": 12} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "HandleByVal", "(", "CCState", "*", "State", ",", "unsigned", "&", "size", ",", "unsigned", "Align", ")", "const", "{", "unsigned", "reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "assert", "(", "(", "State", "->", "getCallOrPrologue", "(", ")", "==", "Prologue", "||", "State", "->", "getCallOrPrologue", "(", ")", "==", "Call", ")", "&&", "\"unhandled ParmContext\"", ")", ";", "unsigned", "NSAAOffset", "=", "State", "->", "getNextStackOffset", "(", ")", ";", "if", "(", "State", "->", "getCallOrPrologue", "(", ")", "!=", "Call", ")", "{", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "State", "->", "getInRegsParamsCount", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "unsigned", "RB", ",", "RE", ";", "State", "->", "getInRegsParamInfo", "(", "i", ",", "RB", ",", "RE", ")", ";", "assert", "(", "NSAAOffset", ">=", "(", "RE", "-", "RB", ")", "*", "4", "&&", "\"Stack offset for byval regs doesn't introduced anymore?\"", ")", ";", "NSAAOffset", "-=", "(", "RE", "-", "RB", ")", "*", "4", ";", "}", "}", "if", "(", "(", "ARM", "::", "R0", "<=", "reg", ")", "&&", "(", "reg", "<=", "ARM", "::", "R3", ")", ")", "{", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "&&", "Align", ">", "4", ")", "{", "unsigned", "AlignInRegs", "=", "Align", "/", "4", ";", "unsigned", "Waste", "=", "(", "ARM", "::", "R4", "-", "reg", ")", "%", "AlignInRegs", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Waste", ";", "++", "i", ")", "reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "}", "if", "(", "reg", "!=", "0", ")", "{", "unsigned", "excess", "=", "4", "*", "(", "ARM", "::", "R4", "-", "reg", ")", ";", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "&&", "NSAAOffset", "!=", "0", "&&", "size", ">", "excess", ")", "{", "while", "(", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ")", ";", "return", ";", "}", "unsigned", "ByValRegBegin", "=", "reg", ";", "unsigned", "ByValRegEnd", "=", "(", "size", "<", "excess", ")", "?", "reg", "+", "size", "/", "4", ":", "(", "unsigned", ")", "ARM", "::", "R4", ";", "State", "->", "addInRegsParamInfo", "(", "ByValRegBegin", ",", "ByValRegEnd", ")", ";", "for", "(", "unsigned", "i", "=", "reg", "+", "1", ";", "i", "!=", "ByValRegEnd", ";", "++", "i", ")", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "if", "(", "State", "->", "getCallOrPrologue", "(", ")", "==", "Call", ")", "{", "if", "(", "size", "<", "excess", ")", "size", "=", "0", ";", "else", "size", "-=", "excess", ";", "}", "}", "}", "}", ""], "natrual_language": ["Target-specific", "cleanup", "for", "formal", "ByVal", "parameters", "."], "TS_V_token": ["ARM", "ARM", "4", "\"unhandled ParmContext\"", "0", "4", "\"Stack offset for byval regs doesn't introduced anymore?\"", "4", "ARM::R0", "ARM::R3", "4", "4", "ARM::R4", "0", "4", "0", "4", "ARM::R4", "0", "4", "4", "ARM::R4", "1", "4", "0"], "File": "ARMISelLowering (2)1", "Func": "HandleByVal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10783, "Length": 360} {"ground_truth": ["", "bool", "isFMAFasterThanFMulAndFAdd", "(", "EVT", "VT", ")", "const", "override", "{", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "an", "FMA", "operation", "is", "faster", "than", "a", "pair", "of", "fmul", "and", "fadd", "instructions", "."], "TS_V_token": ["ARM"], "File": "ARMISelLowering (2)1", "Func": "isFMAFasterThanFMulAndFAdd", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10784, "Length": 13} {"ground_truth": ["", "bool", "isNoopAddrSpaceCast", "(", "unsigned", "SrcAS", ",", "unsigned", "DestAS", ")", "const", "override", "{", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "a", "cast", "between", "SrcAS", "and", "DestAS", "is", "a", "noop", "."], "TS_V_token": ["ARM"], "File": "ARMISelLowering (2)1", "Func": "isNoopAddrSpaceCast", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10785, "Length": 16} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isUsedByReturnOnly", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Chain", ")", "const", "{", "if", "(", "N", "->", "getNumValues", "(", ")", "!=", "1", ")", "return", "false", ";", "if", "(", "!", "N", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "SDValue", "TCChain", "=", "Chain", ";", "SDNode", "*", "Copy", "=", "*", "N", "->", "use_begin", "(", ")", ";", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ISD", "::", "CopyToReg", ")", "{", "if", "(", "Copy", "->", "getOperand", "(", "Copy", "->", "getNumOperands", "(", ")", "-", "1", ")", ".", "getValueType", "(", ")", "==", "MVT", "::", "Glue", ")", "return", "false", ";", "TCChain", "=", "Copy", "->", "getOperand", "(", "0", ")", ";", "}", "else", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "VMOVRRD", ")", "{", "SDNode", "*", "VMov", "=", "Copy", ";", "SmallPtrSet", "<", "SDNode", "*", ",", "2", ">", "Copies", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "VMov", "->", "use_begin", "(", ")", ",", "UE", "=", "VMov", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "if", "(", "UI", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", ")", "return", "false", ";", "Copies", ".", "insert", "(", "*", "UI", ")", ";", "}", "if", "(", "Copies", ".", "size", "(", ")", ">", "2", ")", "return", "false", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "VMov", "->", "use_begin", "(", ")", ",", "UE", "=", "VMov", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "SDValue", "UseChain", "=", "UI", "->", "getOperand", "(", "0", ")", ";", "if", "(", "Copies", ".", "count", "(", "UseChain", ".", "getNode", "(", ")", ")", ")", "Copy", "=", "*", "UI", ";", "else", "TCChain", "=", "UseChain", ";", "}", "}", "else", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ISD", "::", "BITCAST", ")", "{", "if", "(", "!", "Copy", "->", "hasOneUse", "(", ")", ")", "return", "false", ";", "Copy", "=", "*", "Copy", "->", "use_begin", "(", ")", ";", "if", "(", "Copy", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", "||", "!", "Copy", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "TCChain", "=", "Copy", "->", "getOperand", "(", "0", ")", ";", "}", "else", "{", "return", "false", ";", "}", "bool", "HasRet", "=", "false", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "Copy", "->", "use_begin", "(", ")", ",", "UE", "=", "Copy", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "if", "(", "UI", "->", "getOpcode", "(", ")", "!=", "ARMISD", "::", "RET_FLAG", ")", "return", "false", ";", "HasRet", "=", "true", ";", "}", "if", "(", "!", "HasRet", ")", "return", "false", ";", "Chain", "=", "TCChain", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "result", "of", "the", "specified", "node", "is", "used", "by", "a", "return", "node", "only", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0", "ISD::CopyToReg", "1", "MVT::Glue", "0", "ARMISD::VMOVRRD", "2", "ISD::CopyToReg", "2", "0", "ISD::BITCAST", "ISD::CopyToReg", "1", "0", "0", "ARMISD::RET_FLAG"], "File": "ARMISelLowering (2)1", "Func": "isUsedByReturnOnly", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10786, "Length": 413} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "mayBeEmittedAsTailCall", "(", "CallInst", "*", "CI", ")", "const", "{", "if", "(", "!", "EnableARMTailCalls", "&&", "!", "Subtarget", "->", "supportsTailCall", "(", ")", ")", "return", "false", ";", "if", "(", "!", "CI", "->", "isTailCall", "(", ")", ")", "return", "false", ";", "return", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "may", "be", "able", "emit", "the", "call", "instruction", "as", "a", "tail", "call", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMISelLowering (2)1", "Func": "mayBeEmittedAsTailCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10787, "Length": 47} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformCMOVCombine", "(", "SDNode", "*", "N", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Cmp", "=", "N", "->", "getOperand", "(", "4", ")", ";", "if", "(", "Cmp", ".", "getOpcode", "(", ")", "!=", "ARMISD", "::", "CMPZ", ")", "return", "SDValue", "(", ")", ";", "EVT", "VT", "=", "N", "->", "getValueType", "(", "0", ")", ";", "SDLoc", "dl", "(", "N", ")", ";", "SDValue", "LHS", "=", "Cmp", ".", "getOperand", "(", "0", ")", ";", "SDValue", "RHS", "=", "Cmp", ".", "getOperand", "(", "1", ")", ";", "SDValue", "FalseVal", "=", "N", "->", "getOperand", "(", "0", ")", ";", "SDValue", "TrueVal", "=", "N", "->", "getOperand", "(", "1", ")", ";", "SDValue", "ARMcc", "=", "N", "->", "getOperand", "(", "2", ")", ";", "ARMCC", "::", "CondCodes", "CC", "=", "(", "ARMCC", "::", "CondCodes", ")", "cast", "<", "ConstantSDNode", ">", "(", "ARMcc", ")", "->", "getZExtValue", "(", ")", ";", "SDValue", "Res", ";", "if", "(", "CC", "==", "ARMCC", "::", "NE", "&&", "FalseVal", "==", "RHS", "&&", "FalseVal", "!=", "LHS", ")", "{", "Res", "=", "DAG", ".", "getNode", "(", "ARMISD", "::", "CMOV", ",", "dl", ",", "VT", ",", "LHS", ",", "TrueVal", ",", "ARMcc", ",", "N", "->", "getOperand", "(", "3", ")", ",", "Cmp", ")", ";", "}", "else", "if", "(", "CC", "==", "ARMCC", "::", "EQ", "&&", "TrueVal", "==", "RHS", ")", "{", "SDValue", "ARMcc", ";", "SDValue", "NewCmp", "=", "getARMCmp", "(", "LHS", ",", "RHS", ",", "ISD", "::", "SETNE", ",", "ARMcc", ",", "DAG", ",", "dl", ")", ";", "Res", "=", "DAG", ".", "getNode", "(", "ARMISD", "::", "CMOV", ",", "dl", ",", "VT", ",", "LHS", ",", "FalseVal", ",", "ARMcc", ",", "N", "->", "getOperand", "(", "3", ")", ",", "NewCmp", ")", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "{", "APInt", "KnownZero", ",", "KnownOne", ";", "DAG", ".", "ComputeMaskedBits", "(", "SDValue", "(", "N", ",", "0", ")", ",", "KnownZero", ",", "KnownOne", ")", ";", "if", "(", "KnownZero", "==", "0xfffffffe", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i1", ")", ")", ";", "else", "if", "(", "KnownZero", "==", "0xffffff00", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i8", ")", ")", ";", "else", "if", "(", "KnownZero", "==", "0xffff0000", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i16", ")", ")", ";", "}", "return", "Res", ";", "}", ""], "natrual_language": ["PerformCMOVCombine", "-", "Target-specific", "DAG", "combining", "for", "ARMISD", ":", ":CMOV", "."], "TS_V_token": ["ARM", "ARM", "4", "ARMISD::CMPZ", "0", "0", "1", "0", "1", "ARM", "2", "ARMCC::CondCodes", "ARMCC::CondCodes", "ARM", "ARMCC::NE", "ARMISD::CMOV", "ARM", "3", "ARMCC::EQ", "ARM", "ARM", "ISD::SETNE", "ARM", "ARMISD::CMOV", "ARM", "3", "0", "0xfffffffe", "ISD::AssertZext", "MVT::i32", "MVT::i1", "0xffffff00", "ISD::AssertZext", "MVT::i32", "MVT::i8", "0xffff0000", "ISD::AssertZext", "MVT::i32", "MVT::i16"], "File": "ARMISelLowering (2)1", "Func": "PerformCMOVCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10788, "Length": 388} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "Res", "=", "ExpandVectorExtension", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_ADD", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMADD64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_AND", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMAND64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_NAND", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMNAND64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_OR", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMOR64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_SUB", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMSUB64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_XOR", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMXOR64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_SWAP", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMSWAP64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMCMPXCHG64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_MIN", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMMIN64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_UMIN", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMUMIN64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_MAX", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMMAX64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_UMAX", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMUMAX64_DAG", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::BITCAST", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND", "ISD::SRL", "ISD::SRA", "ISD::READCYCLECOUNTER", "ISD::ATOMIC_LOAD_ADD", "ARMISD::ATOMADD64_DAG", "ISD::ATOMIC_LOAD_AND", "ARMISD::ATOMAND64_DAG", "ISD::ATOMIC_LOAD_NAND", "ARMISD::ATOMNAND64_DAG", "ISD::ATOMIC_LOAD_OR", "ARMISD::ATOMOR64_DAG", "ISD::ATOMIC_LOAD_SUB", "ARMISD::ATOMSUB64_DAG", "ISD::ATOMIC_LOAD_XOR", "ARMISD::ATOMXOR64_DAG", "ISD::ATOMIC_SWAP", "ARMISD::ATOMSWAP64_DAG", "ISD::ATOMIC_CMP_SWAP", "ARMISD::ATOMCMPXCHG64_DAG", "ISD::ATOMIC_LOAD_MIN", "ARMISD::ATOMMIN64_DAG", "ISD::ATOMIC_LOAD_UMIN", "ARMISD::ATOMUMIN64_DAG", "ISD::ATOMIC_LOAD_MAX", "ARMISD::ATOMMAX64_DAG", "ISD::ATOMIC_LOAD_UMAX", "ARMISD::ATOMUMAX64_DAG"], "File": "ARMISelLowering (2)1", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10789, "Length": 376} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "AdjustInstrPostInstrSelection", "(", "MachineInstr", "*", "MI", ",", "SDNode", "*", "Node", ")", "const", "{", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MEMCPY", ")", "{", "attachMEMCPYScratchRegs", "(", "Subtarget", ",", "MI", ",", "Node", ")", ";", "return", ";", "}", "const", "MCInstrDesc", "*", "MCID", "=", "&", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "NewOpc", "=", "convertAddSubFlagsOpcode", "(", "MI", "->", "getOpcode", "(", ")", ")", ";", "if", "(", "NewOpc", ")", "{", "const", "ARMBaseInstrInfo", "*", "TII", "=", "Subtarget", "->", "getInstrInfo", "(", ")", ";", "MCID", "=", "&", "TII", "->", "get", "(", "NewOpc", ")", ";", "assert", "(", "MCID", "->", "getNumOperands", "(", ")", "==", "MI", "->", "getDesc", "(", ")", ".", "getNumOperands", "(", ")", "+", "1", "&&", "\"converted opcode should be the same except for cc_out\"", ")", ";", "MI", "->", "setDesc", "(", "*", "MCID", ")", ";", "MI", "->", "addOperand", "(", "MachineOperand", "::", "CreateReg", "(", "0", ",", "true", ")", ")", ";", "}", "unsigned", "ccOutIdx", "=", "MCID", "->", "getNumOperands", "(", ")", "-", "1", ";", "if", "(", "!", "MI", "->", "hasOptionalDef", "(", ")", "||", "!", "MCID", "->", "OpInfo", "[", "ccOutIdx", "]", ".", "isOptionalDef", "(", ")", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "bool", "definesCPSR", "=", "false", ";", "bool", "deadCPSR", "=", "false", ";", "for", "(", "unsigned", "i", "=", "MCID", "->", "getNumOperands", "(", ")", ",", "e", "=", "MI", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isReg", "(", ")", "&&", "MO", ".", "isDef", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", ")", "{", "definesCPSR", "=", "true", ";", "if", "(", "MO", ".", "isDead", "(", ")", ")", "deadCPSR", "=", "true", ";", "MI", "->", "RemoveOperand", "(", "i", ")", ";", "break", ";", "}", "}", "if", "(", "!", "definesCPSR", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "assert", "(", "deadCPSR", "==", "!", "Node", "->", "hasAnyUseOfValue", "(", "1", ")", "&&", "\"inconsistent dead flag\"", ")", ";", "if", "(", "deadCPSR", ")", "{", "assert", "(", "!", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ".", "getReg", "(", ")", "&&", "\"expect uninitialized optional cc_out operand\"", ")", ";", "return", ";", "}", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ";", "MO", ".", "setReg", "(", "ARM", "::", "CPSR", ")", ";", "MO", ".", "setIsDef", "(", "true", ")", ";", "}", ""], "natrual_language": ["This", "method", "should", "be", "implemented", "by", "targets", "that", "mark", "instructions", "with", "the", "'hasPostISelHook", "'", "flag", "."], "TS_V_token": ["ARM", "ARM", "ARM::MEMCPY", "ARM", "1", "\"converted opcode should be the same except for cc_out\"", "0", "1", "\"Optional cc_out operand required\"", "ARM::CPSR", "\"Optional cc_out operand required\"", "1", "\"inconsistent dead flag\"", "\"expect uninitialized optional cc_out operand\"", "ARM::CPSR"], "File": "ARMISelLowering (2)2", "Func": "AdjustInstrPostInstrSelection", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10790, "Length": 366} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "allowsMisalignedMemoryAccesses", "(", "EVT", "VT", ",", "unsigned", ",", "unsigned", ",", "bool", "*", "Fast", ")", "const", "{", "bool", "AllowsUnaligned", "=", "Subtarget", "->", "allowsUnalignedMem", "(", ")", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i32", ":", "{", "if", "(", "AllowsUnaligned", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", "case", "MVT", "::", "f64", ":", "case", "MVT", "::", "v2f64", ":", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "AllowsUnaligned", "||", "Subtarget", "->", "isLittle", "(", ")", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "return", "false", ";", "}", "}", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "allows", "unaligned", "memory", "accesses", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::i8", "MVT::i16", "MVT::i32", "MVT::f64", "MVT::v2f64"], "File": "ARMISelLowering (2)2", "Func": "allowsMisalignedMemoryAccesses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10791, "Length": 134} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "canCombineStoreAndExtract", "(", "Type", "*", "VectorTy", ",", "Value", "*", "Idx", ",", "unsigned", "&", "Cost", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", ")", "return", "false", ";", "if", "(", "VectorTy", "->", "isFPOrFPVectorTy", "(", ")", ")", "return", "false", ";", "if", "(", "!", "isa", "<", "ConstantInt", ">", "(", "Idx", ")", ")", "return", "false", ";", "assert", "(", "VectorTy", "->", "isVectorTy", "(", ")", "&&", "\"VectorTy is not a vector type\"", ")", ";", "unsigned", "BitWidth", "=", "cast", "<", "VectorType", ">", "(", "VectorTy", ")", "->", "getBitWidth", "(", ")", ";", "if", "(", "BitWidth", "==", "64", "||", "BitWidth", "==", "128", ")", "{", "Cost", "=", "0", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "can", "combine", "store", "(", "extractelement", "VectorTy", ",", "Idx", ")", "."], "TS_V_token": ["ARM", "ARM", "\"VectorTy is not a vector type\"", "64", "128", "0"], "File": "ARMISelLowering (2)2", "Func": "canCombineStoreAndExtract", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10792, "Length": 105} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "CanLowerReturn", "(", "CallingConv", "::", "ID", "CallConv", ",", "MachineFunction", "&", "MF", ",", "bool", "isVarArg", ",", "const", "SmallVectorImpl", "<", "ISD", "::", "OutputArg", ">", "&", "Outs", ",", "LLVMContext", "&", "Context", ")", "const", "{", "SmallVector", "<", "CCValAssign", ",", "16", ">", "RVLocs", ";", "CCState", "CCInfo", "(", "CallConv", ",", "isVarArg", ",", "MF", ",", "RVLocs", ",", "Context", ")", ";", "return", "CCInfo", ".", "CheckReturn", "(", "Outs", ",", "CCAssignFnForNode", "(", "CallConv", ",", "true", ",", "isVarArg", ")", ")", ";", "}", ""], "natrual_language": ["This", "hook", "should", "be", "implemented", "to", "check", "whether", "the", "return", "values", "described", "by", "the", "Outs", "array", "can", "fit", "into", "the", "return", "registers", "."], "TS_V_token": ["ARM", "ARM", "ISD::OutputArg", "16"], "File": "ARMISelLowering (2)2", "Func": "CanLowerReturn", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10793, "Length": 73} {"ground_truth": ["", "static", "void", "computeKnownBits", "(", "SelectionDAG", "&", "DAG", ",", "SDValue", "Op", ",", "APInt", "&", "KnownZero", ",", "APInt", "&", "KnownOne", ")", "{", "if", "(", "Op", ".", "getOpcode", "(", ")", "==", "ARMISD", "::", "BFI", ")", "{", "computeKnownBits", "(", "DAG", ",", "Op", ".", "getOperand", "(", "0", ")", ",", "KnownZero", ",", "KnownOne", ")", ";", "ConstantSDNode", "*", "CI", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", ".", "getOperand", "(", "2", ")", ")", ";", "APInt", "Mask", "=", "CI", "->", "getAPIntValue", "(", ")", ";", "KnownZero", "&=", "Mask", ";", "KnownOne", "&=", "Mask", ";", "return", ";", "}", "if", "(", "Op", ".", "getOpcode", "(", ")", "==", "ARMISD", "::", "CMOV", ")", "{", "APInt", "KZ2", "(", "KnownZero", ".", "getBitWidth", "(", ")", ",", "0", ")", ";", "APInt", "KO2", "(", "KnownOne", ".", "getBitWidth", "(", ")", ",", "0", ")", ";", "computeKnownBits", "(", "DAG", ",", "Op", ".", "getOperand", "(", "1", ")", ",", "KnownZero", ",", "KnownOne", ")", ";", "computeKnownBits", "(", "DAG", ",", "Op", ".", "getOperand", "(", "2", ")", ",", "KZ2", ",", "KO2", ")", ";", "KnownZero", "&=", "KZ2", ";", "KnownOne", "&=", "KO2", ";", "return", ";", "}", "return", "DAG", ".", "computeKnownBits", "(", "Op", ",", "KnownZero", ",", "KnownOne", ")", ";", "}", ""], "natrual_language": ["Determine", "which", "bits", "of", "Op", "are", "known", "to", "be", "either", "zero", "or", "one", "and", "return", "them", "in", "Known", "."], "TS_V_token": ["ARM", "ARMISD::BFI", "0", "2", "ARMISD::CMOV", "0", "0", "1", "2"], "File": "ARMISelLowering (2)2", "Func": "computeKnownBits", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10794, "Length": 179} {"ground_truth": ["", "Instruction", "*", "ARMTargetLowering", "::", "emitLeadingFence", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "AtomicOrdering", "Ord", ",", "bool", "IsStore", ",", "bool", "IsLoad", ")", "const", "{", "if", "(", "!", "getInsertFencesForAtomic", "(", ")", ")", "return", "nullptr", ";", "switch", "(", "Ord", ")", "{", "case", "NotAtomic", ":", "case", "Unordered", ":", "llvm_unreachable", "(", "\"Invalid fence: unordered/non-atomic\"", ")", ";", "case", "Monotonic", ":", "case", "Acquire", ":", "return", "nullptr", ";", "case", "SequentiallyConsistent", ":", "if", "(", "!", "IsStore", ")", "return", "nullptr", ";", "case", "Release", ":", "case", "AcquireRelease", ":", "if", "(", "Subtarget", "->", "isSwift", "(", ")", ")", "return", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISHST", ")", ";", "else", "return", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISH", ")", ";", "}", "llvm_unreachable", "(", "\"Unknown fence ordering in emitLeadingFence\"", ")", ";", "}", ""], "natrual_language": ["Custom", "Lower", "{", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fence: unordered/non-atomic\"", "ARM_MB::ISHST", "ARM_MB::ISH", "\"Unknown fence ordering in emitLeadingFence\""], "File": "ARMISelLowering (2)2", "Func": "emitLeadingFence", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10795, "Length": 111} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitLoadLinked", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "Type", "*", "ValTy", "=", "cast", "<", "PointerType", ">", "(", "Addr", "->", "getType", "(", ")", ")", "->", "getElementType", "(", ")", ";", "bool", "IsAcquire", "=", "isAtLeastAcquire", "(", "Ord", ")", ";", "if", "(", "ValTy", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaexd", ":", "Intrinsic", "::", "arm_ldrexd", ";", "Function", "*", "Ldrex", "=", "llvm", "::", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "Value", "*", "LoHi", "=", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ",", "\"lohi\"", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "0", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "1", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Lo", "=", "Builder", ".", "CreateZExt", "(", "Lo", ",", "ValTy", ",", "\"lo64\"", ")", ";", "Hi", "=", "Builder", ".", "CreateZExt", "(", "Hi", ",", "ValTy", ",", "\"hi64\"", ")", ";", "return", "Builder", ".", "CreateOr", "(", "Lo", ",", "Builder", ".", "CreateShl", "(", "Hi", ",", "ConstantInt", "::", "get", "(", "ValTy", ",", "32", ")", ")", ",", "\"val64\"", ")", ";", "}", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaex", ":", "Intrinsic", "::", "arm_ldrex", ";", "Function", "*", "Ldrex", "=", "llvm", "::", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateTruncOrBitCast", "(", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ")", ",", "cast", "<", "PointerType", ">", "(", "Addr", "->", "getType", "(", ")", ")", "->", "getElementType", "(", ")", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "load-linked", "operation", "on", "Addr", ",", "returning", "a", "``", "Value", "*", "''", "with", "the", "corresponding", "pointee", "type", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_ldaexd", "Intrinsic::arm_ldrexd", "Intrinsic::getDeclaration", "\"lohi\"", "0", "\"lo\"", "1", "\"hi\"", "\"lo64\"", "\"hi64\"", "32", "\"val64\"", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex", "Intrinsic::getDeclaration"], "File": "ARMISelLowering (2)2", "Func": "emitLoadLinked", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10796, "Length": 322} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitStoreConditional", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Value", "*", "Val", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "bool", "IsRelease", "=", "isAtLeastRelease", "(", "Ord", ")", ";", "if", "(", "Val", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlexd", ":", "Intrinsic", "::", "arm_strexd", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Type", "*", "Int32Ty", "=", "Type", "::", "getInt32Ty", "(", "M", "->", "getContext", "(", ")", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateTrunc", "(", "Val", ",", "Int32Ty", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateTrunc", "(", "Builder", ".", "CreateLShr", "(", "Val", ",", "32", ")", ",", "Int32Ty", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "return", "Builder", ".", "CreateCall", "(", "Strex", ",", "{", "Lo", ",", "Hi", ",", "Addr", "}", ")", ";", "}", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlex", ":", "Intrinsic", "::", "arm_strex", ";", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateCall", "(", "Strex", ",", "{", "Builder", ".", "CreateZExtOrBitCast", "(", "Val", ",", "Strex", "->", "getFunctionType", "(", ")", "->", "getParamType", "(", "0", ")", ")", ",", "Addr", "}", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "store-conditional", "operation", "to", "Addr", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_stlexd", "Intrinsic::arm_strexd", "Intrinsic::getDeclaration", "\"lo\"", "32", "\"hi\"", "Intrinsic::ID", "Intrinsic::arm_stlex", "Intrinsic::arm_strex", "Intrinsic::getDeclaration", "0"], "File": "ARMISelLowering (2)2", "Func": "emitStoreConditional", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10797, "Length": 276} {"ground_truth": ["", "std", "::", "pair", "<", "const", "TargetRegisterClass", "*", ",", "uint8_t", ">", "ARMTargetLowering", "::", "findRepresentativeClass", "(", "const", "TargetRegisterInfo", "*", "TRI", ",", "MVT", "VT", ")", "const", "{", "const", "TargetRegisterClass", "*", "RRC", "=", "nullptr", ";", "uint8_t", "Cost", "=", "1", ";", "switch", "(", "VT", ".", "SimpleTy", ")", "{", "default", ":", "return", "TargetLowering", "::", "findRepresentativeClass", "(", "TRI", ",", "VT", ")", ";", "case", "MVT", "::", "f32", ":", "case", "MVT", "::", "f64", ":", "case", "MVT", "::", "v8i8", ":", "case", "MVT", "::", "v4i16", ":", "case", "MVT", "::", "v2i32", ":", "case", "MVT", "::", "v1i64", ":", "case", "MVT", "::", "v2f32", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "if", "(", "Subtarget", "->", "useNEONForSinglePrecisionFP", "(", ")", ")", "Cost", "=", "2", ";", "break", ";", "case", "MVT", "::", "v16i8", ":", "case", "MVT", "::", "v8i16", ":", "case", "MVT", "::", "v4i32", ":", "case", "MVT", "::", "v2i64", ":", "case", "MVT", "::", "v4f32", ":", "case", "MVT", "::", "v2f64", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "Cost", "=", "2", ";", "break", ";", "case", "MVT", "::", "v4i64", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "Cost", "=", "4", ";", "break", ";", "case", "MVT", "::", "v8i64", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "Cost", "=", "8", ";", "break", ";", "}", "return", "std", "::", "make_pair", "(", "RRC", ",", "Cost", ")", ";", "}", ""], "natrual_language": ["Return", "the", "largest", "legal", "super-reg", "register", "class", "of", "the", "register", "class", "for", "the", "specified", "type", "and", "its", "associated", "``", "cost", "''", "."], "TS_V_token": ["ARM", "ARM", "1", "MVT::f32", "MVT::f64", "MVT::v8i8", "MVT::v4i16", "MVT::v2i32", "MVT::v1i64", "MVT::v2f32", "ARM::DPRRegClass", "2", "MVT::v16i8", "MVT::v8i16", "MVT::v4i32", "MVT::v2i64", "MVT::v4f32", "MVT::v2f64", "ARM::DPRRegClass", "2", "MVT::v4i64", "ARM::DPRRegClass", "4", "MVT::v8i64", "ARM::DPRRegClass", "8"], "File": "ARMISelLowering (2)2", "Func": "findRepresentativeClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10798, "Length": 202} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "functionArgumentNeedsConsecutiveRegisters", "(", "Type", "*", "Ty", ",", "CallingConv", "::", "ID", "CallConv", ",", "bool", "isVarArg", ")", "const", "{", "if", "(", "getEffectiveCallingConv", "(", "CallConv", ",", "isVarArg", ")", "!=", "CallingConv", "::", "ARM_AAPCS_VFP", ")", "return", "false", ";", "HABaseType", "Base", "=", "HA_UNKNOWN", ";", "uint64_t", "Members", "=", "0", ";", "bool", "IsHA", "=", "isHomogeneousAggregate", "(", "Ty", ",", "Base", ",", "Members", ")", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"isHA: \"", "<<", "IsHA", "<<", "\" \"", ";", "Ty", "->", "dump", "(", ")", ")", ";", "bool", "IsIntArray", "=", "Ty", "->", "isArrayTy", "(", ")", "&&", "Ty", "->", "getArrayElementType", "(", ")", "->", "isIntegerTy", "(", ")", ";", "return", "IsHA", "||", "IsIntArray", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "an", "argument", "of", "type", "Ty", "needs", "to", "be", "passed", "in", "a", "contiguous", "block", "of", "registers", "in", "calling", "convention", "CallConv", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "\"isHA: \"", "\" \""], "File": "ARMISelLowering (2)2", "Func": "functionArgumentNeedsConsecutiveRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10799, "Length": 101} {"ground_truth": ["", "ARMTargetLowering", "::", "ConstraintType", "ARMTargetLowering", "::", "getConstraintType", "(", "StringRef", "Constraint", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "default", ":", "break", ";", "case", "'l'", ":", "return", "C_RegisterClass", ";", "case", "'w'", ":", "return", "C_RegisterClass", ";", "case", "'h'", ":", "return", "C_RegisterClass", ";", "case", "'x'", ":", "return", "C_RegisterClass", ";", "case", "'t'", ":", "return", "C_RegisterClass", ";", "case", "'j'", ":", "return", "C_Other", ";", "case", "'Q'", ":", "return", "C_Memory", ";", "}", "}", "else", "if", "(", "Constraint", ".", "size", "(", ")", "==", "2", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "default", ":", "break", ";", "case", "'U'", ":", "return", "C_Memory", ";", "}", "}", "return", "TargetLowering", "::", "getConstraintType", "(", "Constraint", ")", ";", "}", ""], "natrual_language": ["Given", "a", "constraint", "letter", ",", "return", "the", "type", "of", "constraint", "for", "this", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "1", "0", "2", "0"], "File": "ARMISelLowering (2)2", "Func": "getConstraintType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10800, "Length": 120} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getExceptionPointerRegister", "(", "const", "Constant", "*", "PersonalityFn", ")", "const", "{", "return", "Subtarget", "->", "useSjLjEH", "(", ")", "?", "ARM", "::", "NoRegister", ":", "ARM", "::", "R0", ";", "}", ""], "natrual_language": ["If", "a", "physical", "register", ",", "this", "returns", "the", "register", "that", "receives", "the", "exception", "address", "on", "entry", "to", "an", "EH", "pad", "."], "TS_V_token": ["ARM", "ARM", "ARM::NoRegister", "ARM::R0"], "File": "ARMISelLowering (2)2", "Func": "getExceptionPointerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10801, "Length": 28} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getExceptionSelectorRegister", "(", "const", "Constant", "*", "PersonalityFn", ")", "const", "{", "return", "Subtarget", "->", "useSjLjEH", "(", ")", "?", "ARM", "::", "NoRegister", ":", "ARM", "::", "R1", ";", "}", ""], "natrual_language": ["If", "a", "physical", "register", ",", "this", "returns", "the", "register", "that", "receives", "the", "exception", "typeid", "on", "entry", "to", "a", "landing", "pad", "."], "TS_V_token": ["ARM", "ARM", "ARM::NoRegister", "ARM::R1"], "File": "ARMISelLowering (2)2", "Func": "getExceptionSelectorRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10802, "Length": 28} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "uint64_t", "Size", ",", "unsigned", "DstAlign", ",", "unsigned", "SrcAlign", ",", "bool", "IsMemset", ",", "bool", "ZeroMemset", ",", "bool", "MemcpyStrSrc", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "if", "(", "(", "!", "IsMemset", "||", "ZeroMemset", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "F", "->", "hasFnAttribute", "(", "Attribute", "::", "NoImplicitFloat", ")", ")", "{", "bool", "Fast", ";", "if", "(", "Size", ">=", "16", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "16", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "v2f64", ",", "0", ",", "1", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "v2f64", ";", "}", "else", "if", "(", "Size", ">=", "8", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "8", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "f64", ",", "0", ",", "1", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "f64", ";", "}", "}", "if", "(", "Size", ">=", "4", ")", "return", "MVT", "::", "i32", ";", "else", "if", "(", "Size", ">=", "2", ")", "return", "MVT", "::", "i16", ";", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v2f64", "0", "1", "MVT::v2f64", "8", "8", "MVT::f64", "0", "1", "MVT::f64", "4", "MVT::i32", "2", "MVT::i16", "MVT::Other"], "File": "ARMISelLowering (2)2", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10803, "Length": 184} {"ground_truth": ["", "RCPair", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "TargetRegisterInfo", "*", "TRI", ",", "StringRef", "Constraint", ",", "MVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'h'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "hGPRRegClass", ")", ";", "break", ";", "case", "'r'", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPRRegClass", ")", ";", "break", ";", "case", "'x'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_8RegClass", ")", ";", "break", ";", "case", "'t'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "break", ";", "}", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_lower", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "unsigned", "(", "ARM", "::", "CPSR", ")", ",", "&", "ARM", "::", "CCRRegClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "TRI", ",", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "0U", "ARM::hGPRRegClass", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPRRegClass", "128", "0U", "ARM::QPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPR_8RegClass", "64", "0U", "ARM::DPR_8RegClass", "128", "0U", "ARM::QPR_8RegClass", "MVT::f32", "0U", "ARM::SPRRegClass", "\"{cc}\"", "ARM::CPSR", "ARM::CCRRegClass"], "File": "ARMISelLowering (2)2", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10804, "Length": 348} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getRegisterByName", "(", "const", "char", "*", "RegName", ",", "EVT", "VT", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "unsigned", "Reg", "=", "StringSwitch", "<", "unsigned", ">", "(", "RegName", ")", ".", "Case", "(", "\"sp\"", ",", "ARM", "::", "SP", ")", ".", "Default", "(", "0", ")", ";", "if", "(", "Reg", ")", "return", "Reg", ";", "report_fatal_error", "(", "Twine", "(", "\"Invalid register name \\\"\"", "+", "StringRef", "(", "RegName", ")", "+", "\"\\\".\"", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "ID", "of", "the", "name", "passed", "in", "."], "TS_V_token": ["ARM", "ARM", "\"sp\"", "ARM::SP", "0", "\"Invalid register name \\\"\"", "\"\\\".\""], "File": "ARMISelLowering (2)2", "Func": "getRegisterByName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10805, "Length": 67} {"ground_truth": ["", "Sched", "::", "Preference", "ARMTargetLowering", "::", "getSchedulingPreference", "(", "SDNode", "*", "N", ")", "const", "{", "unsigned", "NumVals", "=", "N", "->", "getNumValues", "(", ")", ";", "if", "(", "!", "NumVals", ")", "return", "Sched", "::", "RegPressure", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumVals", ";", "++", "i", ")", "{", "EVT", "VT", "=", "N", "->", "getValueType", "(", "i", ")", ";", "if", "(", "VT", "==", "MVT", "::", "Glue", "||", "VT", "==", "MVT", "::", "Other", ")", "continue", ";", "if", "(", "VT", ".", "isFloatingPoint", "(", ")", "||", "VT", ".", "isVector", "(", ")", ")", "return", "Sched", "::", "ILP", ";", "}", "if", "(", "!", "N", "->", "isMachineOpcode", "(", ")", ")", "return", "Sched", "::", "RegPressure", ";", "const", "TargetInstrInfo", "*", "TII", "=", "Subtarget", "->", "getInstrInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "TII", "->", "get", "(", "N", "->", "getMachineOpcode", "(", ")", ")", ";", "if", "(", "MCID", ".", "getNumDefs", "(", ")", "==", "0", ")", "return", "Sched", "::", "RegPressure", ";", "if", "(", "!", "Itins", "->", "isEmpty", "(", ")", "&&", "Itins", "->", "getOperandCycle", "(", "MCID", ".", "getSchedClass", "(", ")", ",", "0", ")", ">", "2", ")", "return", "Sched", "::", "ILP", ";", "return", "Sched", "::", "RegPressure", ";", "}", ""], "natrual_language": ["Some", "scheduler", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "MVT::Glue", "MVT::Other", "0", "0", "2"], "File": "ARMISelLowering (2)2", "Func": "getSchedulingPreference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10806, "Length": 184} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getSetCCResultType", "(", "const", "DataLayout", "&", "DL", ",", "LLVMContext", "&", ",", "EVT", "VT", ")", "const", "{", "if", "(", "!", "VT", ".", "isVector", "(", ")", ")", "return", "getPointerTy", "(", "DL", ")", ";", "return", "VT", ".", "changeVectorElementTypeToInteger", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "value", "type", "to", "use", "for", "ISD", ":", ":SETCC", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)2", "Func": "getSetCCResultType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10807, "Length": 41} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "HandleByVal", "(", "CCState", "*", "State", ",", "unsigned", "&", "Size", ",", "unsigned", "Align", ")", "const", "{", "assert", "(", "(", "State", "->", "getCallOrPrologue", "(", ")", "==", "Prologue", "||", "State", "->", "getCallOrPrologue", "(", ")", "==", "Call", ")", "&&", "\"unhandled ParmContext\"", ")", ";", "Align", "=", "std", "::", "max", "(", "Align", ",", "4U", ")", ";", "unsigned", "Reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ")", ";", "if", "(", "!", "Reg", ")", "return", ";", "unsigned", "AlignInRegs", "=", "Align", "/", "4", ";", "unsigned", "Waste", "=", "(", "ARM", "::", "R4", "-", "Reg", ")", "%", "AlignInRegs", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Waste", ";", "++", "i", ")", "Reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ")", ";", "if", "(", "!", "Reg", ")", "return", ";", "unsigned", "Excess", "=", "4", "*", "(", "ARM", "::", "R4", "-", "Reg", ")", ";", "const", "unsigned", "NSAAOffset", "=", "State", "->", "getNextStackOffset", "(", ")", ";", "if", "(", "NSAAOffset", "!=", "0", "&&", "Size", ">", "Excess", ")", "{", "while", "(", "State", "->", "AllocateReg", "(", "GPRArgRegs", ")", ")", ";", "return", ";", "}", "unsigned", "ByValRegBegin", "=", "Reg", ";", "unsigned", "ByValRegEnd", "=", "std", "::", "min", "<", "unsigned", ">", "(", "Reg", "+", "Size", "/", "4", ",", "ARM", "::", "R4", ")", ";", "State", "->", "addInRegsParamInfo", "(", "ByValRegBegin", ",", "ByValRegEnd", ")", ";", "for", "(", "unsigned", "i", "=", "Reg", "+", "1", ";", "i", "!=", "ByValRegEnd", ";", "++", "i", ")", "State", "->", "AllocateReg", "(", "GPRArgRegs", ")", ";", "Size", "=", "std", "::", "max", "<", "int", ">", "(", "Size", "-", "Excess", ",", "0", ")", ";", "}", ""], "natrual_language": ["Target-specific", "cleanup", "for", "formal", "ByVal", "parameters", "."], "TS_V_token": ["ARM", "ARM", "\"unhandled ParmContext\"", "4U", "4", "ARM::R4", "0", "4", "ARM::R4", "0", "4", "ARM::R4", "1", "0"], "File": "ARMISelLowering (2)2", "Func": "HandleByVal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10808, "Length": 241} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isCheapToSpeculateCtlz", "(", ")", "const", "{", "return", "Subtarget", "->", "hasV6T2Ops", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "is", "cheap", "to", "speculate", "a", "call", "to", "intrinsic", "ctlz", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)2", "Func": "isCheapToSpeculateCtlz", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10809, "Length": 16} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isCheapToSpeculateCttz", "(", ")", "const", "{", "return", "Subtarget", "->", "hasV6T2Ops", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "is", "cheap", "to", "speculate", "a", "call", "to", "intrinsic", "cttz", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)2", "Func": "isCheapToSpeculateCttz", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10810, "Length": 16} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isFPImmLegal", "(", "const", "APFloat", "&", "Imm", ",", "EVT", "VT", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasVFP3", "(", ")", ")", "return", "false", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "ARM_AM", "::", "getFP32Imm", "(", "Imm", ")", "!=", "-", "1", ";", "if", "(", "VT", "==", "MVT", "::", "f64", "&&", "!", "Subtarget", "->", "isFPOnlySP", "(", ")", ")", "return", "ARM_AM", "::", "getFP64Imm", "(", "Imm", ")", "!=", "-", "1", ";", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "can", "instruction", "select", "the", "specified", "FP", "immediate", "natively", "."], "TS_V_token": ["ARM", "ARM", "MVT::f32", "ARM_AM::getFP32Imm", "1", "MVT::f64", "ARM_AM::getFP64Imm", "1"], "File": "ARMISelLowering (2)2", "Func": "isFPImmLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10811, "Length": 76} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalAddImmediate", "(", "int64_t", "Imm", ")", "const", "{", "int64_t", "AbsImm", "=", "std", "::", "abs", "(", "Imm", ")", ";", "if", "(", "!", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "ARM_AM", "::", "getSOImmVal", "(", "AbsImm", ")", "!=", "-", "1", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "ARM_AM", "::", "getT2SOImmVal", "(", "AbsImm", ")", "!=", "-", "1", ";", "return", "AbsImm", ">=", "0", "&&", "AbsImm", "<=", "255", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "immediate", "is", "legal", "add", "immediate", ",", "that", "is", "the", "target", "has", "add", "instructions", "which", "can", "add", "a", "register", "and", "the", "immediate", "without", "having", "to", "materialize", "the", "immediate", "into", "a", "register", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::getSOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "0", "255"], "File": "ARMISelLowering (2)2", "Func": "isLegalAddImmediate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10812, "Length": 69} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalAddressingMode", "(", "const", "DataLayout", "&", "DL", ",", "const", "AddrMode", "&", "AM", ",", "Type", "*", "Ty", ",", "unsigned", "AS", ")", "const", "{", "EVT", "VT", "=", "getValueType", "(", "DL", ",", "Ty", ",", "true", ")", ";", "if", "(", "!", "isLegalAddressImmediate", "(", "AM", ".", "BaseOffs", ",", "VT", ",", "Subtarget", ")", ")", "return", "false", ";", "if", "(", "AM", ".", "BaseGV", ")", "return", "false", ";", "switch", "(", "AM", ".", "Scale", ")", "{", "case", "0", ":", "break", ";", "case", "1", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "default", ":", "if", "(", "AM", ".", "BaseOffs", ")", "return", "false", ";", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "isLegalT2ScaledAddressingMode", "(", "AM", ",", "VT", ")", ";", "int", "Scale", "=", "AM", ".", "Scale", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i1", ":", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i32", ":", "if", "(", "Scale", "<", "0", ")", "Scale", "=", "-", "Scale", ";", "if", "(", "Scale", "==", "1", ")", "return", "true", ";", "return", "isPowerOf2_32", "(", "Scale", "&", "~", "1", ")", ";", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i64", ":", "if", "(", "(", "(", "unsigned", ")", "AM", ".", "HasBaseReg", "+", "Scale", ")", "<=", "2", ")", "return", "true", ";", "return", "false", ";", "case", "MVT", "::", "isVoid", ":", "if", "(", "Scale", "&", "1", ")", "return", "false", ";", "return", "isPowerOf2_32", "(", "Scale", ")", ";", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["isLegalAddressingMode", "-", "Return", "true", "if", "the", "addressing", "mode", "represented", "by", "AM", "is", "legal", "for", "this", "target", ",", "for", "a", "load/store", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "MVT::i1", "MVT::i8", "MVT::i32", "0", "1", "1", "MVT::i16", "MVT::i64", "2", "MVT::isVoid", "1"], "File": "ARMISelLowering (2)2", "Func": "isLegalAddressingMode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10813, "Length": 251} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalICmpImmediate", "(", "int64_t", "Imm", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "ARM_AM", "::", "getSOImmVal", "(", "std", "::", "abs", "(", "Imm", ")", ")", "!=", "-", "1", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "ARM_AM", "::", "getT2SOImmVal", "(", "std", "::", "abs", "(", "Imm", ")", ")", "!=", "-", "1", ";", "return", "Imm", ">=", "0", "&&", "Imm", "<=", "255", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "immediate", "is", "legal", "icmp", "immediate", ",", "that", "is", "the", "target", "has", "icmp", "instructions", "which", "can", "compare", "a", "register", "against", "the", "immediate", "without", "having", "to", "materialize", "the", "immediate", "into", "a", "register", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::getSOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "0", "255"], "File": "ARMISelLowering (2)2", "Func": "isLegalICmpImmediate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10814, "Length": 69} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "const", "SmallVectorImpl", "<", "int", ">", "&", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ",", "isV_UNDEF", ";", "unsigned", "Imm", ",", "WhichResult", ";", "unsigned", "EltSize", "=", "VT", ".", "getVectorElementType", "(", ")", ".", "getSizeInBits", "(", ")", ";", "return", "(", "EltSize", ">=", "32", "||", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", "||", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTBLMask", "(", "M", ",", "VT", ")", "||", "isNEONTwoResultShuffleMask", "(", "M", ",", "VT", ",", "WhichResult", ",", "isV_UNDEF", ")", "||", "(", "(", "VT", "==", "MVT", "::", "v8i16", "||", "VT", "==", "MVT", "::", "v16i8", ")", "&&", "isReverseMask", "(", "M", ",", "VT", ")", ")", ")", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "32", "0", "64", "32", "16", "MVT::v8i16", "MVT::v16i8"], "File": "ARMISelLowering (2)2", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10815, "Length": 277} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isUsedByReturnOnly", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Chain", ")", "const", "{", "if", "(", "N", "->", "getNumValues", "(", ")", "!=", "1", ")", "return", "false", ";", "if", "(", "!", "N", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "SDValue", "TCChain", "=", "Chain", ";", "SDNode", "*", "Copy", "=", "*", "N", "->", "use_begin", "(", ")", ";", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ISD", "::", "CopyToReg", ")", "{", "if", "(", "Copy", "->", "getOperand", "(", "Copy", "->", "getNumOperands", "(", ")", "-", "1", ")", ".", "getValueType", "(", ")", "==", "MVT", "::", "Glue", ")", "return", "false", ";", "TCChain", "=", "Copy", "->", "getOperand", "(", "0", ")", ";", "}", "else", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "VMOVRRD", ")", "{", "SDNode", "*", "VMov", "=", "Copy", ";", "SmallPtrSet", "<", "SDNode", "*", ",", "2", ">", "Copies", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "VMov", "->", "use_begin", "(", ")", ",", "UE", "=", "VMov", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "if", "(", "UI", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", ")", "return", "false", ";", "Copies", ".", "insert", "(", "*", "UI", ")", ";", "}", "if", "(", "Copies", ".", "size", "(", ")", ">", "2", ")", "return", "false", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "VMov", "->", "use_begin", "(", ")", ",", "UE", "=", "VMov", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "SDValue", "UseChain", "=", "UI", "->", "getOperand", "(", "0", ")", ";", "if", "(", "Copies", ".", "count", "(", "UseChain", ".", "getNode", "(", ")", ")", ")", "Copy", "=", "*", "UI", ";", "else", "{", "if", "(", "UI", "->", "getOperand", "(", "UI", "->", "getNumOperands", "(", ")", "-", "1", ")", ".", "getValueType", "(", ")", "==", "MVT", "::", "Glue", ")", "return", "false", ";", "TCChain", "=", "UseChain", ";", "}", "}", "}", "else", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ISD", "::", "BITCAST", ")", "{", "if", "(", "!", "Copy", "->", "hasOneUse", "(", ")", ")", "return", "false", ";", "Copy", "=", "*", "Copy", "->", "use_begin", "(", ")", ";", "if", "(", "Copy", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", "||", "!", "Copy", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "if", "(", "Copy", "->", "getOperand", "(", "Copy", "->", "getNumOperands", "(", ")", "-", "1", ")", ".", "getValueType", "(", ")", "==", "MVT", "::", "Glue", ")", "return", "false", ";", "TCChain", "=", "Copy", "->", "getOperand", "(", "0", ")", ";", "}", "else", "{", "return", "false", ";", "}", "bool", "HasRet", "=", "false", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "Copy", "->", "use_begin", "(", ")", ",", "UE", "=", "Copy", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "if", "(", "UI", "->", "getOpcode", "(", ")", "!=", "ARMISD", "::", "RET_FLAG", "&&", "UI", "->", "getOpcode", "(", ")", "!=", "ARMISD", "::", "INTRET_FLAG", ")", "return", "false", ";", "HasRet", "=", "true", ";", "}", "if", "(", "!", "HasRet", ")", "return", "false", ";", "Chain", "=", "TCChain", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "result", "of", "the", "specified", "node", "is", "used", "by", "a", "return", "node", "only", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0", "ISD::CopyToReg", "1", "MVT::Glue", "0", "ARMISD::VMOVRRD", "2", "ISD::CopyToReg", "2", "0", "1", "MVT::Glue", "ISD::BITCAST", "ISD::CopyToReg", "1", "0", "1", "MVT::Glue", "0", "ARMISD::RET_FLAG", "ARMISD::INTRET_FLAG"], "File": "ARMISelLowering (2)2", "Func": "isUsedByReturnOnly", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10816, "Length": 477} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isVectorLoadExtDesirable", "(", "SDValue", "ExtVal", ")", "const", "{", "EVT", "VT", "=", "ExtVal", ".", "getValueType", "(", ")", ";", "if", "(", "!", "isTypeLegal", "(", "VT", ")", ")", "return", "false", ";", "if", "(", "ExtVal", "->", "use_empty", "(", ")", "||", "!", "ExtVal", "->", "use_begin", "(", ")", "->", "isOnlyUserOf", "(", "ExtVal", ".", "getNode", "(", ")", ")", ")", "return", "true", ";", "SDNode", "*", "U", "=", "*", "ExtVal", "->", "use_begin", "(", ")", ";", "if", "(", "(", "U", "->", "getOpcode", "(", ")", "==", "ISD", "::", "ADD", "||", "U", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SUB", "||", "U", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SHL", "||", "U", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "VSHL", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "folding", "a", "vector", "load", "into", "ExtVal", "(", "a", "sign", ",", "zero", ",", "or", "any", "extend", "node", ")", "is", "profitable", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::SUB", "ISD::SHL", "ARMISD::VSHL"], "File": "ARMISelLowering (2)2", "Func": "isVectorLoadExtDesirable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10817, "Length": 119} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "lowerInterleavedLoad", "(", "LoadInst", "*", "LI", ",", "ArrayRef", "<", "ShuffleVectorInst", "*", ">", "Shuffles", ",", "ArrayRef", "<", "unsigned", ">", "Indices", ",", "unsigned", "Factor", ")", "const", "{", "assert", "(", "Factor", ">=", "2", "&&", "Factor", "<=", "getMaxSupportedInterleaveFactor", "(", ")", "&&", "\"Invalid interleave factor\"", ")", ";", "assert", "(", "!", "Shuffles", ".", "empty", "(", ")", "&&", "\"Empty shufflevector input\"", ")", ";", "assert", "(", "Shuffles", ".", "size", "(", ")", "==", "Indices", ".", "size", "(", ")", "&&", "\"Unmatched number of shufflevectors and indices\"", ")", ";", "VectorType", "*", "VecTy", "=", "Shuffles", "[", "0", "]", "->", "getType", "(", ")", ";", "Type", "*", "EltTy", "=", "VecTy", "->", "getVectorElementType", "(", ")", ";", "const", "DataLayout", "&", "DL", "=", "LI", "->", "getModule", "(", ")", "->", "getDataLayout", "(", ")", ";", "unsigned", "VecSize", "=", "DL", ".", "getTypeSizeInBits", "(", "VecTy", ")", ";", "bool", "EltIs64Bits", "=", "DL", ".", "getTypeSizeInBits", "(", "EltTy", ")", "==", "64", ";", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", "||", "(", "VecSize", "!=", "64", "&&", "VecSize", "!=", "128", ")", "||", "EltIs64Bits", ")", "return", "false", ";", "if", "(", "EltTy", "->", "isPointerTy", "(", ")", ")", "VecTy", "=", "VectorType", "::", "get", "(", "DL", ".", "getIntPtrType", "(", "EltTy", ")", ",", "VecTy", "->", "getVectorNumElements", "(", ")", ")", ";", "static", "const", "Intrinsic", "::", "ID", "LoadInts", "[", "3", "]", "=", "{", "Intrinsic", "::", "arm_neon_vld2", ",", "Intrinsic", "::", "arm_neon_vld3", ",", "Intrinsic", "::", "arm_neon_vld4", "}", ";", "IRBuilder", "<", ">", "Builder", "(", "LI", ")", ";", "SmallVector", "<", "Value", "*", ",", "2", ">", "Ops", ";", "Type", "*", "Int8Ptr", "=", "Builder", ".", "getInt8PtrTy", "(", "LI", "->", "getPointerAddressSpace", "(", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "CreateBitCast", "(", "LI", "->", "getPointerOperand", "(", ")", ",", "Int8Ptr", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "getInt32", "(", "LI", "->", "getAlignment", "(", ")", ")", ")", ";", "Type", "*", "Tys", "[", "]", "=", "{", "VecTy", ",", "Int8Ptr", "}", ";", "Function", "*", "VldnFunc", "=", "Intrinsic", "::", "getDeclaration", "(", "LI", "->", "getModule", "(", ")", ",", "LoadInts", "[", "Factor", "-", "2", "]", ",", "Tys", ")", ";", "CallInst", "*", "VldN", "=", "Builder", ".", "CreateCall", "(", "VldnFunc", ",", "Ops", ",", "\"vldN\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Shuffles", ".", "size", "(", ")", ";", "i", "++", ")", "{", "ShuffleVectorInst", "*", "SV", "=", "Shuffles", "[", "i", "]", ";", "unsigned", "Index", "=", "Indices", "[", "i", "]", ";", "Value", "*", "SubVec", "=", "Builder", ".", "CreateExtractValue", "(", "VldN", ",", "Index", ")", ";", "if", "(", "EltTy", "->", "isPointerTy", "(", ")", ")", "SubVec", "=", "Builder", ".", "CreateIntToPtr", "(", "SubVec", ",", "SV", "->", "getType", "(", ")", ")", ";", "SV", "->", "replaceAllUsesWith", "(", "SubVec", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Lower", "interleaved", "load", "(", "s", ")", "into", "target", "specific", "instructions/intrinsics", "."], "TS_V_token": ["ARM", "ARM", "2", "\"Invalid interleave factor\"", "\"Empty shufflevector input\"", "\"Unmatched number of shufflevectors and indices\"", "0", "64", "64", "128", "Intrinsic::ID", "3", "Intrinsic::arm_neon_vld2", "Intrinsic::arm_neon_vld3", "Intrinsic::arm_neon_vld4", "2", "Intrinsic::getDeclaration", "2", "\"vldN\"", "0"], "File": "ARMISelLowering (2)2", "Func": "lowerInterleavedLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10818, "Length": 408} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "lowerInterleavedStore", "(", "StoreInst", "*", "SI", ",", "ShuffleVectorInst", "*", "SVI", ",", "unsigned", "Factor", ")", "const", "{", "assert", "(", "Factor", ">=", "2", "&&", "Factor", "<=", "getMaxSupportedInterleaveFactor", "(", ")", "&&", "\"Invalid interleave factor\"", ")", ";", "VectorType", "*", "VecTy", "=", "SVI", "->", "getType", "(", ")", ";", "assert", "(", "VecTy", "->", "getVectorNumElements", "(", ")", "%", "Factor", "==", "0", "&&", "\"Invalid interleaved store\"", ")", ";", "unsigned", "NumSubElts", "=", "VecTy", "->", "getVectorNumElements", "(", ")", "/", "Factor", ";", "Type", "*", "EltTy", "=", "VecTy", "->", "getVectorElementType", "(", ")", ";", "VectorType", "*", "SubVecTy", "=", "VectorType", "::", "get", "(", "EltTy", ",", "NumSubElts", ")", ";", "const", "DataLayout", "&", "DL", "=", "SI", "->", "getModule", "(", ")", "->", "getDataLayout", "(", ")", ";", "unsigned", "SubVecSize", "=", "DL", ".", "getTypeSizeInBits", "(", "SubVecTy", ")", ";", "bool", "EltIs64Bits", "=", "DL", ".", "getTypeSizeInBits", "(", "EltTy", ")", "==", "64", ";", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", "||", "(", "SubVecSize", "!=", "64", "&&", "SubVecSize", "!=", "128", ")", "||", "EltIs64Bits", ")", "return", "false", ";", "Value", "*", "Op0", "=", "SVI", "->", "getOperand", "(", "0", ")", ";", "Value", "*", "Op1", "=", "SVI", "->", "getOperand", "(", "1", ")", ";", "IRBuilder", "<", ">", "Builder", "(", "SI", ")", ";", "if", "(", "EltTy", "->", "isPointerTy", "(", ")", ")", "{", "Type", "*", "IntTy", "=", "DL", ".", "getIntPtrType", "(", "EltTy", ")", ";", "Type", "*", "IntVecTy", "=", "VectorType", "::", "get", "(", "IntTy", ",", "Op0", "->", "getType", "(", ")", "->", "getVectorNumElements", "(", ")", ")", ";", "Op0", "=", "Builder", ".", "CreatePtrToInt", "(", "Op0", ",", "IntVecTy", ")", ";", "Op1", "=", "Builder", ".", "CreatePtrToInt", "(", "Op1", ",", "IntVecTy", ")", ";", "SubVecTy", "=", "VectorType", "::", "get", "(", "IntTy", ",", "NumSubElts", ")", ";", "}", "static", "const", "Intrinsic", "::", "ID", "StoreInts", "[", "3", "]", "=", "{", "Intrinsic", "::", "arm_neon_vst2", ",", "Intrinsic", "::", "arm_neon_vst3", ",", "Intrinsic", "::", "arm_neon_vst4", "}", ";", "SmallVector", "<", "Value", "*", ",", "6", ">", "Ops", ";", "Type", "*", "Int8Ptr", "=", "Builder", ".", "getInt8PtrTy", "(", "SI", "->", "getPointerAddressSpace", "(", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "CreateBitCast", "(", "SI", "->", "getPointerOperand", "(", ")", ",", "Int8Ptr", ")", ")", ";", "Type", "*", "Tys", "[", "]", "=", "{", "Int8Ptr", ",", "SubVecTy", "}", ";", "Function", "*", "VstNFunc", "=", "Intrinsic", "::", "getDeclaration", "(", "SI", "->", "getModule", "(", ")", ",", "StoreInts", "[", "Factor", "-", "2", "]", ",", "Tys", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Factor", ";", "i", "++", ")", "Ops", ".", "push_back", "(", "Builder", ".", "CreateShuffleVector", "(", "Op0", ",", "Op1", ",", "getSequentialMask", "(", "Builder", ",", "NumSubElts", "*", "i", ",", "NumSubElts", ")", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "getInt32", "(", "SI", "->", "getAlignment", "(", ")", ")", ")", ";", "Builder", ".", "CreateCall", "(", "VstNFunc", ",", "Ops", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Lower", "interleaved", "store", "(", "s", ")", "into", "target", "specific", "instructions/intrinsics", "."], "TS_V_token": ["ARM", "ARM", "2", "\"Invalid interleave factor\"", "0", "\"Invalid interleaved store\"", "64", "64", "128", "0", "1", "Intrinsic::ID", "3", "Intrinsic::arm_neon_vst2", "Intrinsic::arm_neon_vst3", "Intrinsic::arm_neon_vst4", "6", "Intrinsic::getDeclaration", "2", "0"], "File": "ARMISelLowering (2)2", "Func": "lowerInterleavedStore", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10819, "Length": 428} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "mayBeEmittedAsTailCall", "(", "CallInst", "*", "CI", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "supportsTailCall", "(", ")", ")", "return", "false", ";", "auto", "Attr", "=", "CI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getFnAttribute", "(", "\"disable-tail-calls\"", ")", ";", "if", "(", "!", "CI", "->", "isTailCall", "(", ")", "||", "Attr", ".", "getValueAsString", "(", ")", "==", "\"true\"", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "may", "be", "able", "emit", "the", "call", "instruction", "as", "a", "tail", "call", "."], "TS_V_token": ["ARM", "ARM", "\"disable-tail-calls\"", "\"true\""], "File": "ARMISelLowering (2)2", "Func": "mayBeEmittedAsTailCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10820, "Length": 65} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformCMOVCombine", "(", "SDNode", "*", "N", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Cmp", "=", "N", "->", "getOperand", "(", "4", ")", ";", "if", "(", "Cmp", ".", "getOpcode", "(", ")", "!=", "ARMISD", "::", "CMPZ", ")", "return", "SDValue", "(", ")", ";", "EVT", "VT", "=", "N", "->", "getValueType", "(", "0", ")", ";", "SDLoc", "dl", "(", "N", ")", ";", "SDValue", "LHS", "=", "Cmp", ".", "getOperand", "(", "0", ")", ";", "SDValue", "RHS", "=", "Cmp", ".", "getOperand", "(", "1", ")", ";", "SDValue", "FalseVal", "=", "N", "->", "getOperand", "(", "0", ")", ";", "SDValue", "TrueVal", "=", "N", "->", "getOperand", "(", "1", ")", ";", "SDValue", "ARMcc", "=", "N", "->", "getOperand", "(", "2", ")", ";", "ARMCC", "::", "CondCodes", "CC", "=", "(", "ARMCC", "::", "CondCodes", ")", "cast", "<", "ConstantSDNode", ">", "(", "ARMcc", ")", "->", "getZExtValue", "(", ")", ";", "if", "(", "!", "Subtarget", "->", "isThumb1Only", "(", ")", "&&", "Subtarget", "->", "hasV6T2Ops", "(", ")", ")", "{", "SDValue", "R", "=", "PerformCMOVToBFICombine", "(", "N", ",", "DAG", ")", ";", "if", "(", "R", ")", "return", "R", ";", "}", "SDValue", "Res", ";", "if", "(", "CC", "==", "ARMCC", "::", "NE", "&&", "FalseVal", "==", "RHS", "&&", "FalseVal", "!=", "LHS", ")", "{", "Res", "=", "DAG", ".", "getNode", "(", "ARMISD", "::", "CMOV", ",", "dl", ",", "VT", ",", "LHS", ",", "TrueVal", ",", "ARMcc", ",", "N", "->", "getOperand", "(", "3", ")", ",", "Cmp", ")", ";", "}", "else", "if", "(", "CC", "==", "ARMCC", "::", "EQ", "&&", "TrueVal", "==", "RHS", ")", "{", "SDValue", "ARMcc", ";", "SDValue", "NewCmp", "=", "getARMCmp", "(", "LHS", ",", "RHS", ",", "ISD", "::", "SETNE", ",", "ARMcc", ",", "DAG", ",", "dl", ")", ";", "Res", "=", "DAG", ".", "getNode", "(", "ARMISD", "::", "CMOV", ",", "dl", ",", "VT", ",", "LHS", ",", "FalseVal", ",", "ARMcc", ",", "N", "->", "getOperand", "(", "3", ")", ",", "NewCmp", ")", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "{", "APInt", "KnownZero", ",", "KnownOne", ";", "DAG", ".", "computeKnownBits", "(", "SDValue", "(", "N", ",", "0", ")", ",", "KnownZero", ",", "KnownOne", ")", ";", "if", "(", "KnownZero", "==", "0xfffffffe", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i1", ")", ")", ";", "else", "if", "(", "KnownZero", "==", "0xffffff00", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i8", ")", ")", ";", "else", "if", "(", "KnownZero", "==", "0xffff0000", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i16", ")", ")", ";", "}", "return", "Res", ";", "}", ""], "natrual_language": ["PerformCMOVCombine", "-", "Target-specific", "DAG", "combining", "for", "ARMISD", ":", ":CMOV", "."], "TS_V_token": ["ARM", "ARM", "4", "ARMISD::CMPZ", "0", "0", "1", "0", "1", "ARM", "2", "ARMCC::CondCodes", "ARMCC::CondCodes", "ARM", "ARMCC::NE", "ARMISD::CMOV", "ARM", "3", "ARMCC::EQ", "ARM", "ARM", "ISD::SETNE", "ARM", "ARMISD::CMOV", "ARM", "3", "0", "0xfffffffe", "ISD::AssertZext", "MVT::i32", "MVT::i1", "0xffffff00", "ISD::AssertZext", "MVT::i32", "MVT::i8", "0xffff0000", "ISD::AssertZext", "MVT::i32", "MVT::i16"], "File": "ARMISelLowering (2)2", "Func": "PerformCMOVCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10821, "Length": 422} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "UDIV", ":", "case", "ISD", "::", "SDIV", ":", "assert", "(", "Subtarget", "->", "isTargetWindows", "(", ")", "&&", "\"can only expand DIV on Windows\"", ")", ";", "return", "ExpandDIV_Windows", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SDIV", ",", "Results", ")", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SREM", "ISD::UREM", "ISD::READCYCLECOUNTER", "ISD::UDIV", "ISD::SDIV", "\"can only expand DIV on Windows\"", "0", "ISD::SDIV"], "File": "ARMISelLowering (2)2", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10822, "Length": 198} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldAlignPointerArgs", "(", "CallInst", "*", "CI", ",", "unsigned", "&", "MinSize", ",", "unsigned", "&", "PrefAlign", ")", "const", "{", "if", "(", "!", "isa", "<", "MemIntrinsic", ">", "(", "CI", ")", ")", "return", "false", ";", "MinSize", "=", "8", ";", "PrefAlign", "=", "(", "Subtarget", "->", "hasV6Ops", "(", ")", "&&", "!", "Subtarget", "->", "isMClass", "(", ")", "?", "8", ":", "4", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "pointer", "arguments", "to", "CI", "should", "be", "aligned", "by", "aligning", "the", "object", "whose", "address", "is", "being", "passed", "."], "TS_V_token": ["ARM", "ARM", "8", "8", "4"], "File": "ARMISelLowering (2)2", "Func": "shouldAlignPointerArgs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10823, "Length": 62} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldExpandAtomicCmpXchgInIR", "(", "AtomicCmpXchgInst", "*", "AI", ")", "const", "{", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "atomic", "cmpxchg", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)2", "Func": "shouldExpandAtomicCmpXchgInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10824, "Length": 15} {"ground_truth": ["", "TargetLowering", "::", "AtomicExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicLoadInIR", "(", "LoadInst", "*", "LI", ")", "const", "{", "unsigned", "Size", "=", "LI", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "return", "(", "(", "Size", "==", "64", ")", "&&", "!", "Subtarget", "->", "isMClass", "(", ")", ")", "?", "AtomicExpansionKind", "::", "LLOnly", ":", "AtomicExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "(", "atomic", ")", "load", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "."], "TS_V_token": ["ARM", "ARM", "64"], "File": "ARMISelLowering (2)2", "Func": "shouldExpandAtomicLoadInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10825, "Length": 51} {"ground_truth": ["", "TargetLowering", "::", "AtomicExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicRMWInIR", "(", "AtomicRMWInst", "*", "AI", ")", "const", "{", "unsigned", "Size", "=", "AI", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "return", "(", "Size", "<=", "(", "Subtarget", "->", "isMClass", "(", ")", "?", "32U", ":", "64U", ")", ")", "?", "AtomicExpansionKind", "::", "LLSC", ":", "AtomicExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "IR-level", "AtomicExpand", "pass", "should", "expand", "the", "given", "AtomicRMW", ",", "if", "at", "all", "."], "TS_V_token": ["ARM", "ARM", "32U", "64U"], "File": "ARMISelLowering (2)2", "Func": "shouldExpandAtomicRMWInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10826, "Length": 52} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldExpandAtomicStoreInIR", "(", "StoreInst", "*", "SI", ")", "const", "{", "unsigned", "Size", "=", "SI", "->", "getValueOperand", "(", ")", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "return", "(", "Size", "==", "64", ")", "&&", "!", "Subtarget", "->", "isMClass", "(", ")", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "(", "atomic", ")", "store", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "into", "."], "TS_V_token": ["ARM", "ARM", "64"], "File": "ARMISelLowering (2)2", "Func": "shouldExpandAtomicStoreInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10827, "Length": 43} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "useLoadStackGuardNode", "(", ")", "const", "{", "return", "Subtarget", "->", "isTargetMachO", "(", ")", ";", "}", ""], "natrual_language": ["If", "this", "function", "returns", "true", ",", "SelectionDAGBuilder", "emits", "a", "LOAD_STACK_GUARD", "node", "when", "it", "is", "lowering", "Intrinsic", ":", ":stackprotector", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)2", "Func": "useLoadStackGuardNode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10828, "Length": 16} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "AdjustInstrPostInstrSelection", "(", "MachineInstr", "*", "MI", ",", "SDNode", "*", "Node", ")", "const", "{", "const", "MCInstrDesc", "*", "MCID", "=", "&", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "NewOpc", "=", "convertAddSubFlagsOpcode", "(", "MI", "->", "getOpcode", "(", ")", ")", ";", "if", "(", "NewOpc", ")", "{", "const", "ARMBaseInstrInfo", "*", "TII", "=", "Subtarget", "->", "getInstrInfo", "(", ")", ";", "MCID", "=", "&", "TII", "->", "get", "(", "NewOpc", ")", ";", "assert", "(", "MCID", "->", "getNumOperands", "(", ")", "==", "MI", "->", "getDesc", "(", ")", ".", "getNumOperands", "(", ")", "+", "1", "&&", "\"converted opcode should be the same except for cc_out\"", ")", ";", "MI", "->", "setDesc", "(", "*", "MCID", ")", ";", "MI", "->", "addOperand", "(", "MachineOperand", "::", "CreateReg", "(", "0", ",", "true", ")", ")", ";", "}", "unsigned", "ccOutIdx", "=", "MCID", "->", "getNumOperands", "(", ")", "-", "1", ";", "if", "(", "!", "MI", "->", "hasOptionalDef", "(", ")", "||", "!", "MCID", "->", "OpInfo", "[", "ccOutIdx", "]", ".", "isOptionalDef", "(", ")", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "bool", "definesCPSR", "=", "false", ";", "bool", "deadCPSR", "=", "false", ";", "for", "(", "unsigned", "i", "=", "MCID", "->", "getNumOperands", "(", ")", ",", "e", "=", "MI", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isReg", "(", ")", "&&", "MO", ".", "isDef", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", ")", "{", "definesCPSR", "=", "true", ";", "if", "(", "MO", ".", "isDead", "(", ")", ")", "deadCPSR", "=", "true", ";", "MI", "->", "RemoveOperand", "(", "i", ")", ";", "break", ";", "}", "}", "if", "(", "!", "definesCPSR", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "assert", "(", "deadCPSR", "==", "!", "Node", "->", "hasAnyUseOfValue", "(", "1", ")", "&&", "\"inconsistent dead flag\"", ")", ";", "if", "(", "deadCPSR", ")", "{", "assert", "(", "!", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ".", "getReg", "(", ")", "&&", "\"expect uninitialized optional cc_out operand\"", ")", ";", "return", ";", "}", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ";", "MO", ".", "setReg", "(", "ARM", "::", "CPSR", ")", ";", "MO", ".", "setIsDef", "(", "true", ")", ";", "}", ""], "natrual_language": ["This", "method", "should", "be", "implemented", "by", "targets", "that", "mark", "instructions", "with", "the", "'hasPostISelHook", "'", "flag", "."], "TS_V_token": ["ARM", "ARM", "ARM", "1", "\"converted opcode should be the same except for cc_out\"", "0", "1", "\"Optional cc_out operand required\"", "ARM::CPSR", "\"Optional cc_out operand required\"", "1", "\"inconsistent dead flag\"", "\"expect uninitialized optional cc_out operand\"", "ARM::CPSR"], "File": "ARMISelLowering (2)3", "Func": "AdjustInstrPostInstrSelection", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10829, "Length": 341} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "allowsMisalignedMemoryAccesses", "(", "EVT", "VT", ",", "unsigned", ",", "unsigned", ",", "bool", "*", "Fast", ")", "const", "{", "bool", "AllowsUnaligned", "=", "Subtarget", "->", "allowsUnalignedMem", "(", ")", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i32", ":", "{", "if", "(", "AllowsUnaligned", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", "case", "MVT", "::", "f64", ":", "case", "MVT", "::", "v2f64", ":", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "AllowsUnaligned", "||", "isLittleEndian", "(", ")", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "return", "false", ";", "}", "}", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "allows", "unaligned", "memory", "accesses", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::i8", "MVT::i16", "MVT::i32", "MVT::f64", "MVT::v2f64"], "File": "ARMISelLowering (2)3", "Func": "allowsMisalignedMemoryAccesses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10830, "Length": 132} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitStoreConditional", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Value", "*", "Val", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "bool", "IsRelease", "=", "isAtLeastRelease", "(", "Ord", ")", ";", "if", "(", "Val", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlexd", ":", "Intrinsic", "::", "arm_strexd", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Type", "*", "Int32Ty", "=", "Type", "::", "getInt32Ty", "(", "M", "->", "getContext", "(", ")", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateTrunc", "(", "Val", ",", "Int32Ty", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateTrunc", "(", "Builder", ".", "CreateLShr", "(", "Val", ",", "32", ")", ",", "Int32Ty", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "return", "Builder", ".", "CreateCall3", "(", "Strex", ",", "Lo", ",", "Hi", ",", "Addr", ")", ";", "}", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlex", ":", "Intrinsic", "::", "arm_strex", ";", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateCall2", "(", "Strex", ",", "Builder", ".", "CreateZExtOrBitCast", "(", "Val", ",", "Strex", "->", "getFunctionType", "(", ")", "->", "getParamType", "(", "0", ")", ")", ",", "Addr", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "store-conditional", "operation", "to", "Addr", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_stlexd", "Intrinsic::arm_strexd", "Intrinsic::getDeclaration", "\"lo\"", "32", "\"hi\"", "Intrinsic::ID", "Intrinsic::arm_stlex", "Intrinsic::arm_strex", "Intrinsic::getDeclaration", "0"], "File": "ARMISelLowering (2)3", "Func": "emitStoreConditional", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10831, "Length": 272} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "functionArgumentNeedsConsecutiveRegisters", "(", "Type", "*", "Ty", ",", "CallingConv", "::", "ID", "CallConv", ",", "bool", "isVarArg", ")", "const", "{", "if", "(", "getEffectiveCallingConv", "(", "CallConv", ",", "isVarArg", ")", "!=", "CallingConv", "::", "ARM_AAPCS_VFP", ")", "return", "false", ";", "HABaseType", "Base", "=", "HA_UNKNOWN", ";", "uint64_t", "Members", "=", "0", ";", "bool", "result", "=", "isHomogeneousAggregate", "(", "Ty", ",", "Base", ",", "Members", ")", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"isHA: \"", "<<", "result", "<<", "\" \"", ";", "Ty", "->", "dump", "(", ")", ")", ";", "return", "result", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "an", "argument", "of", "type", "Ty", "needs", "to", "be", "passed", "in", "a", "contiguous", "block", "of", "registers", "in", "calling", "convention", "CallConv", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "\"isHA: \"", "\" \""], "File": "ARMISelLowering (2)3", "Func": "functionArgumentNeedsConsecutiveRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10832, "Length": 80} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "uint64_t", "Size", ",", "unsigned", "DstAlign", ",", "unsigned", "SrcAlign", ",", "bool", "IsMemset", ",", "bool", "ZeroMemset", ",", "bool", "MemcpyStrSrc", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "if", "(", "(", "!", "IsMemset", "||", "ZeroMemset", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "Attribute", "::", "NoImplicitFloat", ")", ")", "{", "bool", "Fast", ";", "if", "(", "Size", ">=", "16", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "16", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "v2f64", ",", "0", ",", "1", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "v2f64", ";", "}", "else", "if", "(", "Size", ">=", "8", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "8", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "f64", ",", "0", ",", "1", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "f64", ";", "}", "}", "if", "(", "Size", ">=", "4", ")", "return", "MVT", "::", "i32", ";", "else", "if", "(", "Size", ">=", "2", ")", "return", "MVT", "::", "i16", ";", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v2f64", "0", "1", "MVT::v2f64", "8", "8", "MVT::f64", "0", "1", "MVT::f64", "4", "MVT::i32", "2", "MVT::i16", "MVT::Other"], "File": "ARMISelLowering (2)3", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10833, "Length": 192} {"ground_truth": ["", "RCPair", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "std", "::", "string", "&", "Constraint", ",", "MVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'h'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "hGPRRegClass", ")", ";", "break", ";", "case", "'r'", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPRRegClass", ")", ";", "break", ";", "case", "'x'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_8RegClass", ")", ";", "break", ";", "case", "'t'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "break", ";", "}", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_lower", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "unsigned", "(", "ARM", "::", "CPSR", ")", ",", "&", "ARM", "::", "CCRRegClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "0U", "ARM::hGPRRegClass", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPRRegClass", "128", "0U", "ARM::QPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPR_8RegClass", "64", "0U", "ARM::DPR_8RegClass", "128", "0U", "ARM::QPR_8RegClass", "MVT::f32", "0U", "ARM::SPRRegClass", "\"{cc}\"", "ARM::CPSR", "ARM::CCRRegClass"], "File": "ARMISelLowering (2)3", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10834, "Length": 345} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldExpandAtomicLoadInIR", "(", "LoadInst", "*", "LI", ")", "const", "{", "unsigned", "Size", "=", "LI", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "return", "(", "Size", "==", "64", ")", "&&", "!", "Subtarget", "->", "isMClass", "(", ")", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "(", "atomic", ")", "load", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "."], "TS_V_token": ["ARM", "ARM", "64"], "File": "ARMISelLowering (2)3", "Func": "shouldExpandAtomicLoadInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10835, "Length": 39} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldExpandAtomicRMWInIR", "(", "AtomicRMWInst", "*", "AI", ")", "const", "{", "unsigned", "Size", "=", "AI", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "return", "Size", "<=", "(", "Subtarget", "->", "isMClass", "(", ")", "?", "32U", ":", "64U", ")", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "IR-level", "AtomicExpand", "pass", "should", "expand", "the", "given", "AtomicRMW", ",", "if", "at", "all", "."], "TS_V_token": ["ARM", "ARM", "32U", "64U"], "File": "ARMISelLowering (2)3", "Func": "shouldExpandAtomicRMWInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10836, "Length": 40} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "alignLoopsWithOptSize", "(", ")", "const", "{", "return", "Subtarget", "->", "isMClass", "(", ")", ";", "}", ""], "natrual_language": ["Should", "loops", "be", "aligned", "even", "when", "the", "function", "is", "marked", "OptSize", "(", "but", "not", "MinSize", ")", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)5", "Func": "alignLoopsWithOptSize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10837, "Length": 16} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "allowsMisalignedMemoryAccesses", "(", "EVT", "VT", ",", "unsigned", ",", "Align", "Alignment", ",", "MachineMemOperand", "::", "Flags", ",", "bool", "*", "Fast", ")", "const", "{", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "bool", "AllowsUnaligned", "=", "Subtarget", "->", "allowsUnalignedMem", "(", ")", ";", "auto", "Ty", "=", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ";", "if", "(", "Ty", "==", "MVT", "::", "i8", "||", "Ty", "==", "MVT", "::", "i16", "||", "Ty", "==", "MVT", "::", "i32", ")", "{", "if", "(", "AllowsUnaligned", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "return", "true", ";", "}", "}", "if", "(", "Ty", "==", "MVT", "::", "f64", "||", "Ty", "==", "MVT", "::", "v2f64", ")", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "AllowsUnaligned", "||", "Subtarget", "->", "isLittle", "(", ")", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "}", "if", "(", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "(", "Ty", "==", "MVT", "::", "v16i1", "||", "Ty", "==", "MVT", "::", "v8i1", "||", "Ty", "==", "MVT", "::", "v4i1", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "if", "(", "(", "Ty", "==", "MVT", "::", "v4i8", "||", "Ty", "==", "MVT", "::", "v8i8", "||", "Ty", "==", "MVT", "::", "v4i16", ")", "&&", "Alignment", ">=", "VT", ".", "getScalarSizeInBits", "(", ")", "/", "8", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "if", "(", "Ty", "==", "MVT", "::", "v16i8", "||", "Ty", "==", "MVT", "::", "v8i16", "||", "Ty", "==", "MVT", "::", "v8f16", "||", "Ty", "==", "MVT", "::", "v4i32", "||", "Ty", "==", "MVT", "::", "v4f32", "||", "Ty", "==", "MVT", "::", "v2i64", "||", "Ty", "==", "MVT", "::", "v2f64", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "allows", "unaligned", "memory", "accesses", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::i8", "MVT::i16", "MVT::i32", "MVT::f64", "MVT::v2f64", "MVT::v16i1", "MVT::v8i1", "MVT::v4i1", "MVT::v4i8", "MVT::v8i8", "MVT::v4i16", "8", "MVT::v16i8", "MVT::v8i16", "MVT::v8f16", "MVT::v4i32", "MVT::v4f32", "MVT::v2i64", "MVT::v2f64"], "File": "ARMISelLowering (2)5", "Func": "allowsMisalignedMemoryAccesses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10838, "Length": 303} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "BuildSDIVPow2", "(", "SDNode", "*", "N", ",", "const", "APInt", "&", "Divisor", ",", "SelectionDAG", "&", "DAG", ",", "SmallVectorImpl", "<", "SDNode", "*", ">", "&", "Created", ")", "const", "{", "if", "(", "N", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "SDIV", ")", "return", "SDValue", "(", ")", ";", "const", "auto", "&", "ST", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "DAG", ".", "getSubtarget", "(", ")", ")", ";", "const", "bool", "MinSize", "=", "ST", ".", "hasMinSize", "(", ")", ";", "const", "bool", "HasDivide", "=", "ST", ".", "isThumb", "(", ")", "?", "ST", ".", "hasDivideInThumbMode", "(", ")", ":", "ST", ".", "hasDivideInARMMode", "(", ")", ";", "if", "(", "N", "->", "getOperand", "(", "0", ")", ".", "getValueType", "(", ")", ".", "isVector", "(", ")", ")", "return", "SDValue", "(", ")", ";", "if", "(", "!", "(", "MinSize", "&&", "HasDivide", ")", ")", "return", "SDValue", "(", ")", ";", "if", "(", "!", "ST", ".", "isThumb", "(", ")", ")", "return", "SDValue", "(", "N", ",", "0", ")", ";", "if", "(", "Divisor", ".", "sgt", "(", "128", ")", ")", "return", "SDValue", "(", ")", ";", "return", "SDValue", "(", "N", ",", "0", ")", ";", "}", ""], "natrual_language": ["Targets", "may", "override", "this", "function", "to", "provide", "custom", "SDIV", "lowering", "for", "power-of-2", "denominators", "."], "TS_V_token": ["ARM", "ARM", "ISD::SDIV", "ARM", "ARM", "0", "0", "128", "0"], "File": "ARMISelLowering (2)5", "Func": "BuildSDIVPow2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10839, "Length": 172} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "canCombineStoreAndExtract", "(", "Type", "*", "VectorTy", ",", "Value", "*", "Idx", ",", "unsigned", "&", "Cost", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", ")", "return", "false", ";", "if", "(", "VectorTy", "->", "isFPOrFPVectorTy", "(", ")", ")", "return", "false", ";", "if", "(", "!", "isa", "<", "ConstantInt", ">", "(", "Idx", ")", ")", "return", "false", ";", "assert", "(", "VectorTy", "->", "isVectorTy", "(", ")", "&&", "\"VectorTy is not a vector type\"", ")", ";", "unsigned", "BitWidth", "=", "VectorTy", "->", "getPrimitiveSizeInBits", "(", ")", ".", "getFixedSize", "(", ")", ";", "if", "(", "BitWidth", "==", "64", "||", "BitWidth", "==", "128", ")", "{", "Cost", "=", "0", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "can", "combine", "store", "(", "extractelement", "VectorTy", ",", "Idx", ")", "."], "TS_V_token": ["ARM", "ARM", "\"VectorTy is not a vector type\"", "64", "128", "0"], "File": "ARMISelLowering (2)5", "Func": "canCombineStoreAndExtract", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10840, "Length": 103} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "CanLowerReturn", "(", "CallingConv", "::", "ID", "CallConv", ",", "MachineFunction", "&", "MF", ",", "bool", "isVarArg", ",", "const", "SmallVectorImpl", "<", "ISD", "::", "OutputArg", ">", "&", "Outs", ",", "LLVMContext", "&", "Context", ")", "const", "{", "SmallVector", "<", "CCValAssign", ",", "16", ">", "RVLocs", ";", "CCState", "CCInfo", "(", "CallConv", ",", "isVarArg", ",", "MF", ",", "RVLocs", ",", "Context", ")", ";", "return", "CCInfo", ".", "CheckReturn", "(", "Outs", ",", "CCAssignFnForReturn", "(", "CallConv", ",", "isVarArg", ")", ")", ";", "}", ""], "natrual_language": ["This", "hook", "should", "be", "implemented", "to", "check", "whether", "the", "return", "values", "described", "by", "the", "Outs", "array", "can", "fit", "into", "the", "return", "registers", "."], "TS_V_token": ["ARM", "ARM", "ISD::OutputArg", "16"], "File": "ARMISelLowering (2)5", "Func": "CanLowerReturn", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10841, "Length": 71} {"ground_truth": ["", "CCAssignFn", "*", "ARMTargetLowering", "::", "CCAssignFnForCall", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "isVarArg", ")", "const", "{", "return", "CCAssignFnForNode", "(", "CC", ",", "false", ",", "isVarArg", ")", ";", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)5", "Func": "CCAssignFnForCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10842, "Length": 27} {"ground_truth": ["", "CCAssignFn", "*", "ARMTargetLowering", "::", "CCAssignFnForReturn", "(", "CallingConv", "::", "ID", "CC", ",", "bool", "isVarArg", ")", "const", "{", "return", "CCAssignFnForNode", "(", "CC", ",", "true", ",", "isVarArg", ")", ";", "}", ""], "natrual_language": ["Selects", "the", "correct", "CCAssignFn", "for", "a", "given", "CallingConvention", "value", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)5", "Func": "CCAssignFnForReturn", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10843, "Length": 27} {"ground_truth": ["", "Instruction", "*", "ARMTargetLowering", "::", "emitLeadingFence", "(", "IRBuilderBase", "&", "Builder", ",", "Instruction", "*", "Inst", ",", "AtomicOrdering", "Ord", ")", "const", "{", "switch", "(", "Ord", ")", "{", "case", "AtomicOrdering", "::", "NotAtomic", ":", "case", "AtomicOrdering", "::", "Unordered", ":", "llvm_unreachable", "(", "\"Invalid fence: unordered/non-atomic\"", ")", ";", "case", "AtomicOrdering", "::", "Monotonic", ":", "case", "AtomicOrdering", "::", "Acquire", ":", "return", "nullptr", ";", "case", "AtomicOrdering", "::", "SequentiallyConsistent", ":", "if", "(", "!", "Inst", "->", "hasAtomicStore", "(", ")", ")", "return", "nullptr", ";", "LLVM_FALLTHROUGH", ";", "case", "AtomicOrdering", "::", "Release", ":", "case", "AtomicOrdering", "::", "AcquireRelease", ":", "if", "(", "Subtarget", "->", "preferISHSTBarriers", "(", ")", ")", "return", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISHST", ")", ";", "else", "return", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISH", ")", ";", "}", "llvm_unreachable", "(", "\"Unknown fence ordering in emitLeadingFence\"", ")", ";", "}", ""], "natrual_language": ["Custom", "Lower", "{", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fence: unordered/non-atomic\"", "ARM_MB::ISHST", "ARM_MB::ISH", "\"Unknown fence ordering in emitLeadingFence\""], "File": "ARMISelLowering (2)5", "Func": "emitLeadingFence", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10844, "Length": 117} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitLoadLinked", "(", "IRBuilderBase", "&", "Builder", ",", "Type", "*", "ValueTy", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "bool", "IsAcquire", "=", "isAcquireOrStronger", "(", "Ord", ")", ";", "if", "(", "ValueTy", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaexd", ":", "Intrinsic", "::", "arm_ldrexd", ";", "Function", "*", "Ldrex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "Value", "*", "LoHi", "=", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ",", "\"lohi\"", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "0", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "1", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Lo", "=", "Builder", ".", "CreateZExt", "(", "Lo", ",", "ValueTy", ",", "\"lo64\"", ")", ";", "Hi", "=", "Builder", ".", "CreateZExt", "(", "Hi", ",", "ValueTy", ",", "\"hi64\"", ")", ";", "return", "Builder", ".", "CreateOr", "(", "Lo", ",", "Builder", ".", "CreateShl", "(", "Hi", ",", "ConstantInt", "::", "get", "(", "ValueTy", ",", "32", ")", ")", ",", "\"val64\"", ")", ";", "}", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaex", ":", "Intrinsic", "::", "arm_ldrex", ";", "Function", "*", "Ldrex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateTruncOrBitCast", "(", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ")", ",", "ValueTy", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "load-linked", "operation", "on", "Addr", ",", "returning", "a", "``", "Value", "*", "''", "with", "the", "corresponding", "pointee", "type", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_ldaexd", "Intrinsic::arm_ldrexd", "Intrinsic::getDeclaration", "\"lohi\"", "0", "\"lo\"", "1", "\"hi\"", "\"lo64\"", "\"hi64\"", "32", "\"val64\"", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex", "Intrinsic::getDeclaration"], "File": "ARMISelLowering (2)5", "Func": "emitLoadLinked", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10845, "Length": 286} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitStoreConditional", "(", "IRBuilderBase", "&", "Builder", ",", "Value", "*", "Val", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "bool", "IsRelease", "=", "isReleaseOrStronger", "(", "Ord", ")", ";", "if", "(", "Val", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlexd", ":", "Intrinsic", "::", "arm_strexd", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Type", "*", "Int32Ty", "=", "Type", "::", "getInt32Ty", "(", "M", "->", "getContext", "(", ")", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateTrunc", "(", "Val", ",", "Int32Ty", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateTrunc", "(", "Builder", ".", "CreateLShr", "(", "Val", ",", "32", ")", ",", "Int32Ty", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "return", "Builder", ".", "CreateCall", "(", "Strex", ",", "{", "Lo", ",", "Hi", ",", "Addr", "}", ")", ";", "}", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlex", ":", "Intrinsic", "::", "arm_strex", ";", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateCall", "(", "Strex", ",", "{", "Builder", ".", "CreateZExtOrBitCast", "(", "Val", ",", "Strex", "->", "getFunctionType", "(", ")", "->", "getParamType", "(", "0", ")", ")", ",", "Addr", "}", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "store-conditional", "operation", "to", "Addr", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_stlexd", "Intrinsic::arm_strexd", "Intrinsic::getDeclaration", "\"lo\"", "32", "\"hi\"", "Intrinsic::ID", "Intrinsic::arm_stlex", "Intrinsic::arm_strex", "Intrinsic::getDeclaration", "0"], "File": "ARMISelLowering (2)5", "Func": "emitStoreConditional", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10846, "Length": 274} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "ExpandInlineAsm", "(", "CallInst", "*", "CI", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasV6Ops", "(", ")", ")", "return", "false", ";", "InlineAsm", "*", "IA", "=", "cast", "<", "InlineAsm", ">", "(", "CI", "->", "getCalledOperand", "(", ")", ")", ";", "std", "::", "string", "AsmStr", "=", "IA", "->", "getAsmString", "(", ")", ";", "SmallVector", "<", "StringRef", ",", "4", ">", "AsmPieces", ";", "SplitString", "(", "AsmStr", ",", "AsmPieces", ",", "\";\\n\"", ")", ";", "switch", "(", "AsmPieces", ".", "size", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "1", ":", "AsmStr", "=", "std", "::", "string", "(", "AsmPieces", "[", "0", "]", ")", ";", "AsmPieces", ".", "clear", "(", ")", ";", "SplitString", "(", "AsmStr", ",", "AsmPieces", ",", "\" \\t,\"", ")", ";", "if", "(", "AsmPieces", ".", "size", "(", ")", "==", "3", "&&", "AsmPieces", "[", "0", "]", "==", "\"rev\"", "&&", "AsmPieces", "[", "1", "]", "==", "\"$0\"", "&&", "AsmPieces", "[", "2", "]", "==", "\"$1\"", "&&", "IA", "->", "getConstraintString", "(", ")", ".", "compare", "(", "0", ",", "4", ",", "\"=l,l\"", ")", "==", "0", ")", "{", "IntegerType", "*", "Ty", "=", "dyn_cast", "<", "IntegerType", ">", "(", "CI", "->", "getType", "(", ")", ")", ";", "if", "(", "Ty", "&&", "Ty", "->", "getBitWidth", "(", ")", "==", "32", ")", "return", "IntrinsicLowering", "::", "LowerToByteSwap", "(", "CI", ")", ";", "}", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["This", "hook", "allows", "the", "target", "to", "expand", "an", "inline", "asm", "call", "to", "be", "explicit", "llvm", "code", "if", "it", "wants", "to", "."], "TS_V_token": ["ARM", "ARM", "4", "\";\\n\"", "1", "0", "\" \\t,\"", "3", "0", "\"rev\"", "1", "\"$0\"", "2", "\"$1\"", "0", "4", "\"=l,l\"", "0", "32"], "File": "ARMISelLowering (2)5", "Func": "ExpandInlineAsm", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10847, "Length": 204} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "finalizeLowering", "(", "MachineFunction", "&", "MF", ")", "const", "{", "MF", ".", "getFrameInfo", "(", ")", ".", "computeMaxCallFrameSize", "(", "MF", ")", ";", "TargetLoweringBase", "::", "finalizeLowering", "(", "MF", ")", ";", "}", ""], "natrual_language": ["Execute", "target", "specific", "actions", "to", "finalize", "target", "lowering", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)5", "Func": "finalizeLowering", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10848, "Length": 30} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "functionArgumentNeedsConsecutiveRegisters", "(", "Type", "*", "Ty", ",", "CallingConv", "::", "ID", "CallConv", ",", "bool", "isVarArg", ",", "const", "DataLayout", "&", "DL", ")", "const", "{", "if", "(", "getEffectiveCallingConv", "(", "CallConv", ",", "isVarArg", ")", "!=", "CallingConv", "::", "ARM_AAPCS_VFP", ")", "return", "false", ";", "HABaseType", "Base", "=", "HA_UNKNOWN", ";", "uint64_t", "Members", "=", "0", ";", "bool", "IsHA", "=", "isHomogeneousAggregate", "(", "Ty", ",", "Base", ",", "Members", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"isHA: \"", "<<", "IsHA", "<<", "\" \"", ";", "Ty", "->", "dump", "(", ")", ")", ";", "bool", "IsIntArray", "=", "Ty", "->", "isArrayTy", "(", ")", "&&", "Ty", "->", "getArrayElementType", "(", ")", "->", "isIntegerTy", "(", ")", ";", "return", "IsHA", "||", "IsIntArray", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "an", "argument", "of", "type", "Ty", "needs", "to", "be", "passed", "in", "a", "contiguous", "block", "of", "registers", "in", "calling", "convention", "CallConv", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "\"isHA: \"", "\" \""], "File": "ARMISelLowering (2)5", "Func": "functionArgumentNeedsConsecutiveRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10849, "Length": 106} {"ground_truth": ["", "Align", "ARMTargetLowering", "::", "getABIAlignmentForCallingConv", "(", "Type", "*", "ArgTy", ",", "const", "DataLayout", "&", "DL", ")", "const", "{", "const", "Align", "ABITypeAlign", "=", "DL", ".", "getABITypeAlign", "(", "ArgTy", ")", ";", "if", "(", "!", "ArgTy", "->", "isVectorTy", "(", ")", ")", "return", "ABITypeAlign", ";", "return", "std", "::", "min", "(", "ABITypeAlign", ",", "DL", ".", "getStackAlignment", "(", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "correct", "alignment", "for", "the", "current", "calling", "convention", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)5", "Func": "getABIAlignmentForCallingConv", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10850, "Length": 54} {"ground_truth": ["", "ARMTargetLowering", "::", "ConstraintType", "ARMTargetLowering", "::", "getConstraintType", "(", "StringRef", "Constraint", ")", "const", "{", "unsigned", "S", "=", "Constraint", ".", "size", "(", ")", ";", "if", "(", "S", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "default", ":", "break", ";", "case", "'l'", ":", "return", "C_RegisterClass", ";", "case", "'w'", ":", "return", "C_RegisterClass", ";", "case", "'h'", ":", "return", "C_RegisterClass", ";", "case", "'x'", ":", "return", "C_RegisterClass", ";", "case", "'t'", ":", "return", "C_RegisterClass", ";", "case", "'j'", ":", "return", "C_Immediate", ";", "case", "'Q'", ":", "return", "C_Memory", ";", "}", "}", "else", "if", "(", "S", "==", "2", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "default", ":", "break", ";", "case", "'T'", ":", "return", "C_RegisterClass", ";", "case", "'U'", ":", "return", "C_Memory", ";", "}", "}", "return", "TargetLowering", "::", "getConstraintType", "(", "Constraint", ")", ";", "}", ""], "natrual_language": ["Given", "a", "constraint", "letter", ",", "return", "the", "type", "of", "constraint", "for", "this", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "1", "0", "2", "0"], "File": "ARMISelLowering (2)5", "Func": "getConstraintType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10851, "Length": 127} {"ground_truth": ["", "Register", "ARMTargetLowering", "::", "getExceptionPointerRegister", "(", "const", "Constant", "*", "PersonalityFn", ")", "const", "{", "return", "Subtarget", "->", "useSjLjEH", "(", ")", "?", "Register", "(", ")", ":", "ARM", "::", "R0", ";", "}", ""], "natrual_language": ["If", "a", "physical", "register", ",", "this", "returns", "the", "register", "that", "receives", "the", "exception", "address", "on", "entry", "to", "an", "EH", "pad", "."], "TS_V_token": ["ARM", "ARM", "ARM::R0"], "File": "ARMISelLowering (2)5", "Func": "getExceptionPointerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10852, "Length": 28} {"ground_truth": ["", "Register", "ARMTargetLowering", "::", "getExceptionSelectorRegister", "(", "const", "Constant", "*", "PersonalityFn", ")", "const", "{", "return", "Subtarget", "->", "useSjLjEH", "(", ")", "?", "Register", "(", ")", ":", "ARM", "::", "R1", ";", "}", ""], "natrual_language": ["If", "a", "physical", "register", ",", "this", "returns", "the", "register", "that", "receives", "the", "exception", "typeid", "on", "entry", "to", "a", "landing", "pad", "."], "TS_V_token": ["ARM", "ARM", "ARM::R1"], "File": "ARMISelLowering (2)5", "Func": "getExceptionSelectorRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10853, "Length": 28} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getMaxSupportedInterleaveFactor", "(", ")", "const", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "return", "4", ";", "if", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "MVEMaxSupportedInterleaveFactor", ";", "return", "TargetLoweringBase", "::", "getMaxSupportedInterleaveFactor", "(", ")", ";", "}", ""], "natrual_language": ["Get", "the", "maximum", "supported", "factor", "for", "interleaved", "memory", "accesses", "."], "TS_V_token": ["ARM", "ARM", "4"], "File": "ARMISelLowering (2)5", "Func": "getMaxSupportedInterleaveFactor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10854, "Length": 38} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getNumInterleavedAccesses", "(", "VectorType", "*", "VecTy", ",", "const", "DataLayout", "&", "DL", ")", "const", "{", "return", "(", "DL", ".", "getTypeSizeInBits", "(", "VecTy", ")", "+", "127", ")", "/", "128", ";", "}", ""], "natrual_language": ["Returns", "the", "number", "of", "interleaved", "accesses", "that", "will", "be", "generated", "when", "lowering", "accesses", "of", "the", "given", "type", "."], "TS_V_token": ["ARM", "ARM", "127", "128"], "File": "ARMISelLowering (2)5", "Func": "getNumInterleavedAccesses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10855, "Length": 31} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "const", "MemOp", "&", "Op", ",", "const", "AttributeList", "&", "FuncAttributes", ")", "const", "{", "if", "(", "(", "Op", ".", "isMemcpy", "(", ")", "||", "Op", ".", "isZeroMemset", "(", ")", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "FuncAttributes", ".", "hasFnAttr", "(", "Attribute", "::", "NoImplicitFloat", ")", ")", "{", "bool", "Fast", ";", "if", "(", "Op", ".", "size", "(", ")", ">=", "16", "&&", "(", "Op", ".", "isAligned", "(", "Align", "(", "16", ")", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "v2f64", ",", "0", ",", "Align", "(", "1", ")", ",", "MachineMemOperand", "::", "MONone", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "v2f64", ";", "}", "else", "if", "(", "Op", ".", "size", "(", ")", ">=", "8", "&&", "(", "Op", ".", "isAligned", "(", "Align", "(", "8", ")", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "f64", ",", "0", ",", "Align", "(", "1", ")", ",", "MachineMemOperand", "::", "MONone", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "f64", ";", "}", "}", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v2f64", "0", "1", "MVT::v2f64", "8", "8", "MVT::f64", "0", "1", "MVT::f64", "MVT::Other"], "File": "ARMISelLowering (2)5", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10856, "Length": 169} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPreIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "EVT", "VT", ";", "SDValue", "Ptr", ";", "Align", "Alignment", ";", "bool", "isSEXTLoad", "=", "false", ";", "bool", "IsMasked", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "Alignment", "=", "LD", "->", "getAlign", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "Alignment", "=", "ST", "->", "getAlign", "(", ")", ";", "}", "else", "if", "(", "MaskedLoadSDNode", "*", "LD", "=", "dyn_cast", "<", "MaskedLoadSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "Alignment", "=", "LD", "->", "getAlign", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "IsMasked", "=", "true", ";", "}", "else", "if", "(", "MaskedStoreSDNode", "*", "ST", "=", "dyn_cast", "<", "MaskedStoreSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "Alignment", "=", "ST", "->", "getAlign", "(", ")", ";", "IsMasked", "=", "true", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "VT", ".", "isVector", "(", ")", ")", "isLegal", "=", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "getMVEIndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "Alignment", ",", "isSEXTLoad", ",", "IsMasked", ",", "Subtarget", "->", "isLittle", "(", ")", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "{", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "}", "if", "(", "!", "isLegal", ")", "return", "false", ";", "AM", "=", "isInc", "?", "ISD", "::", "PRE_INC", ":", "ISD", "::", "PRE_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "the", "node", "'s", "address", "can", "be", "legally", "represented", "as", "pre-indexed", "load", "/", "store", "address", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::SEXTLOAD", "ISD::SEXTLOAD", "ARM", "ISD::PRE_INC", "ISD::PRE_DEC"], "File": "ARMISelLowering (2)5", "Func": "getPreIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10857, "Length": 395} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMTargetLowering", "::", "getRegClassFor", "(", "MVT", "VT", ",", "bool", "isDivergent", ")", "const", "{", "(", "void", ")", "isDivergent", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "if", "(", "VT", "==", "MVT", "::", "v4i64", ")", "return", "&", "ARM", "::", "QQPRRegClass", ";", "if", "(", "VT", "==", "MVT", "::", "v8i64", ")", "return", "&", "ARM", "::", "QQQQPRRegClass", ";", "}", "if", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "{", "if", "(", "VT", "==", "MVT", "::", "v4i64", ")", "return", "&", "ARM", "::", "MQQPRRegClass", ";", "if", "(", "VT", "==", "MVT", "::", "v8i64", ")", "return", "&", "ARM", "::", "MQQQQPRRegClass", ";", "}", "return", "TargetLowering", "::", "getRegClassFor", "(", "VT", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "class", "that", "should", "be", "used", "for", "the", "specified", "value", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::v4i64", "ARM::QQPRRegClass", "MVT::v8i64", "ARM::QQQQPRRegClass", "MVT::v4i64", "ARM::MQQPRRegClass", "MVT::v8i64", "ARM::MQQQQPRRegClass"], "File": "ARMISelLowering (2)5", "Func": "getRegClassFor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10858, "Length": 105} {"ground_truth": ["", "RCPair", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "TargetRegisterInfo", "*", "TRI", ",", "StringRef", "Constraint", ",", "MVT", "VT", ")", "const", "{", "switch", "(", "Constraint", ".", "size", "(", ")", ")", "{", "case", "1", ":", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'h'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "hGPRRegClass", ")", ";", "break", ";", "case", "'r'", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPRRegClass", ")", ";", "break", ";", "case", "'x'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_8RegClass", ")", ";", "break", ";", "case", "'t'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", "||", "VT", "==", "MVT", "::", "i32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_VFP2RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_VFP2RegClass", ")", ";", "break", ";", "}", "break", ";", "case", "2", ":", "if", "(", "Constraint", "[", "0", "]", "==", "'T'", ")", "{", "switch", "(", "Constraint", "[", "1", "]", ")", "{", "default", ":", "break", ";", "case", "'e'", ":", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPREvenRegClass", ")", ";", "case", "'o'", ":", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPROddRegClass", ")", ";", "}", "}", "break", ";", "default", ":", "break", ";", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_insensitive", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "unsigned", "(", "ARM", "::", "CPSR", ")", ",", "&", "ARM", "::", "CCRRegClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "TRI", ",", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "0U", "ARM::hGPRRegClass", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPRRegClass", "128", "0U", "ARM::QPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPR_8RegClass", "64", "0U", "ARM::DPR_8RegClass", "128", "0U", "ARM::QPR_8RegClass", "MVT::Other", "MVT::f32", "MVT::i32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPR_VFP2RegClass", "128", "0U", "ARM::QPR_VFP2RegClass", "2", "0", "1", "0U", "ARM::tGPREvenRegClass", "0U", "ARM::tGPROddRegClass", "\"{cc}\"", "ARM::CPSR", "ARM::CCRRegClass"], "File": "ARMISelLowering (2)5", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10859, "Length": 470} {"ground_truth": ["", "Register", "ARMTargetLowering", "::", "getRegisterByName", "(", "const", "char", "*", "RegName", ",", "LLT", "VT", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "Register", "Reg", "=", "StringSwitch", "<", "unsigned", ">", "(", "RegName", ")", ".", "Case", "(", "\"sp\"", ",", "ARM", "::", "SP", ")", ".", "Default", "(", "0", ")", ";", "if", "(", "Reg", ")", "return", "Reg", ";", "report_fatal_error", "(", "Twine", "(", "\"Invalid register name \\\"\"", "+", "StringRef", "(", "RegName", ")", "+", "\"\\\".\"", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "ID", "of", "the", "name", "passed", "in", "."], "TS_V_token": ["ARM", "ARM", "\"sp\"", "ARM::SP", "0", "\"Invalid register name \\\"\"", "\"\\\".\""], "File": "ARMISelLowering (2)5", "Func": "getRegisterByName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10860, "Length": 68} {"ground_truth": ["", "InstructionCost", "ARMTargetLowering", "::", "getScalingFactorCost", "(", "const", "DataLayout", "&", "DL", ",", "const", "AddrMode", "&", "AM", ",", "Type", "*", "Ty", ",", "unsigned", "AS", ")", "const", "{", "if", "(", "isLegalAddressingMode", "(", "DL", ",", "AM", ",", "Ty", ",", "AS", ")", ")", "{", "if", "(", "Subtarget", "->", "hasFPAO", "(", ")", ")", "return", "AM", ".", "Scale", "<", "0", "?", "1", ":", "0", ";", "return", "0", ";", "}", "return", "-", "1", ";", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "the", "scaling", "factor", "used", "in", "the", "addressing", "mode", "represented", "by", "AM", "for", "this", "target", ",", "for", "a", "load/store", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "0", "1"], "File": "ARMISelLowering (2)5", "Func": "getScalingFactorCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10861, "Length": 66} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "getSDagStackGuard", "(", "const", "Module", "&", "M", ")", "const", "{", "if", "(", "Subtarget", "->", "getTargetTriple", "(", ")", ".", "isWindowsMSVCEnvironment", "(", ")", ")", "return", "M", ".", "getGlobalVariable", "(", "\"__security_cookie\"", ")", ";", "return", "TargetLowering", "::", "getSDagStackGuard", "(", "M", ")", ";", "}", ""], "natrual_language": ["Return", "the", "variable", "that", "'s", "previously", "inserted", "by", "insertSSPDeclarations", ",", "if", "any", ",", "otherwise", "return", "nullptr", "."], "TS_V_token": ["ARM", "ARM", "\"__security_cookie\""], "File": "ARMISelLowering (2)5", "Func": "getSDagStackGuard", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10862, "Length": 42} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getSetCCResultType", "(", "const", "DataLayout", "&", "DL", ",", "LLVMContext", "&", ",", "EVT", "VT", ")", "const", "{", "if", "(", "!", "VT", ".", "isVector", "(", ")", ")", "return", "getPointerTy", "(", "DL", ")", ";", "if", "(", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "(", "VT", "==", "MVT", "::", "v4i32", "||", "VT", "==", "MVT", "::", "v8i16", "||", "VT", "==", "MVT", "::", "v16i8", ")", ")", "||", "(", "Subtarget", "->", "hasMVEFloatOps", "(", ")", "&&", "(", "VT", "==", "MVT", "::", "v4f32", "||", "VT", "==", "MVT", "::", "v8f16", ")", ")", ")", "return", "MVT", "::", "getVectorVT", "(", "MVT", "::", "i1", ",", "VT", ".", "getVectorElementCount", "(", ")", ")", ";", "return", "VT", ".", "changeVectorElementTypeToInteger", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "value", "type", "to", "use", "for", "ISD", ":", ":SETCC", "."], "TS_V_token": ["ARM", "ARM", "MVT::v4i32", "MVT::v8i16", "MVT::v16i8", "MVT::v4f32", "MVT::v8f16", "MVT::getVectorVT", "MVT::i1"], "File": "ARMISelLowering (2)5", "Func": "getSetCCResultType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10863, "Length": 109} {"ground_truth": ["", "Function", "*", "ARMTargetLowering", "::", "getSSPStackGuardCheck", "(", "const", "Module", "&", "M", ")", "const", "{", "if", "(", "Subtarget", "->", "getTargetTriple", "(", ")", ".", "isWindowsMSVCEnvironment", "(", ")", ")", "return", "M", ".", "getFunction", "(", "\"__security_check_cookie\"", ")", ";", "return", "TargetLowering", "::", "getSSPStackGuardCheck", "(", "M", ")", ";", "}", ""], "natrual_language": ["If", "the", "target", "has", "a", "standard", "stack", "protection", "check", "function", "that", "performs", "validation", "and", "error", "handling", ",", "returns", "the", "function", "."], "TS_V_token": ["ARM", "ARM", "\"__security_check_cookie\""], "File": "ARMISelLowering (2)5", "Func": "getSSPStackGuardCheck", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10864, "Length": 42} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "HandleByVal", "(", "CCState", "*", "State", ",", "unsigned", "&", "Size", ",", "Align", "Alignment", ")", "const", "{", "Alignment", "=", "std", "::", "max", "(", "Alignment", ",", "Align", "(", "4", ")", ")", ";", "unsigned", "Reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ")", ";", "if", "(", "!", "Reg", ")", "return", ";", "unsigned", "AlignInRegs", "=", "Alignment", ".", "value", "(", ")", "/", "4", ";", "unsigned", "Waste", "=", "(", "ARM", "::", "R4", "-", "Reg", ")", "%", "AlignInRegs", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Waste", ";", "++", "i", ")", "Reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ")", ";", "if", "(", "!", "Reg", ")", "return", ";", "unsigned", "Excess", "=", "4", "*", "(", "ARM", "::", "R4", "-", "Reg", ")", ";", "const", "unsigned", "NSAAOffset", "=", "State", "->", "getNextStackOffset", "(", ")", ";", "if", "(", "NSAAOffset", "!=", "0", "&&", "Size", ">", "Excess", ")", "{", "while", "(", "State", "->", "AllocateReg", "(", "GPRArgRegs", ")", ")", ";", "return", ";", "}", "unsigned", "ByValRegBegin", "=", "Reg", ";", "unsigned", "ByValRegEnd", "=", "std", "::", "min", "<", "unsigned", ">", "(", "Reg", "+", "Size", "/", "4", ",", "ARM", "::", "R4", ")", ";", "State", "->", "addInRegsParamInfo", "(", "ByValRegBegin", ",", "ByValRegEnd", ")", ";", "for", "(", "unsigned", "i", "=", "Reg", "+", "1", ";", "i", "!=", "ByValRegEnd", ";", "++", "i", ")", "State", "->", "AllocateReg", "(", "GPRArgRegs", ")", ";", "Size", "=", "std", "::", "max", "<", "int", ">", "(", "Size", "-", "Excess", ",", "0", ")", ";", "}", ""], "natrual_language": ["Target-specific", "cleanup", "for", "formal", "ByVal", "parameters", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "ARM::R4", "0", "4", "ARM::R4", "0", "4", "ARM::R4", "1", "0"], "File": "ARMISelLowering (2)5", "Func": "HandleByVal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10865, "Length": 225} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "initializeSplitCSR", "(", "MachineBasicBlock", "*", "Entry", ")", "const", "{", "ARMFunctionInfo", "*", "AFI", "=", "Entry", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "AFI", "->", "setIsSplitCSR", "(", "true", ")", ";", "}", ""], "natrual_language": ["Perform", "necessary", "initialization", "to", "handle", "a", "subset", "of", "CSRs", "explicitly", "via", "copies", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMISelLowering (2)5", "Func": "initializeSplitCSR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10866, "Length": 36} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "insertCopiesSplitCSR", "(", "MachineBasicBlock", "*", "Entry", ",", "const", "SmallVectorImpl", "<", "MachineBasicBlock", "*", ">", "&", "Exits", ")", "const", "{", "const", "ARMBaseRegisterInfo", "*", "TRI", "=", "Subtarget", "->", "getRegisterInfo", "(", ")", ";", "const", "MCPhysReg", "*", "IStart", "=", "TRI", "->", "getCalleeSavedRegsViaCopy", "(", "Entry", "->", "getParent", "(", ")", ")", ";", "if", "(", "!", "IStart", ")", "return", ";", "const", "TargetInstrInfo", "*", "TII", "=", "Subtarget", "->", "getInstrInfo", "(", ")", ";", "MachineRegisterInfo", "*", "MRI", "=", "&", "Entry", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "Entry", "->", "begin", "(", ")", ";", "for", "(", "const", "MCPhysReg", "*", "I", "=", "IStart", ";", "*", "I", ";", "++", "I", ")", "{", "const", "TargetRegisterClass", "*", "RC", "=", "nullptr", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "contains", "(", "*", "I", ")", ")", "RC", "=", "&", "ARM", "::", "GPRRegClass", ";", "else", "if", "(", "ARM", "::", "DPRRegClass", ".", "contains", "(", "*", "I", ")", ")", "RC", "=", "&", "ARM", "::", "DPRRegClass", ";", "else", "llvm_unreachable", "(", "\"Unexpected register class in CSRsViaCopy!\"", ")", ";", "Register", "NewVR", "=", "MRI", "->", "createVirtualRegister", "(", "RC", ")", ";", "assert", "(", "Entry", "->", "getParent", "(", ")", "->", "getFunction", "(", ")", ".", "hasFnAttribute", "(", "Attribute", "::", "NoUnwind", ")", "&&", "\"Function should be nounwind in insertCopiesSplitCSR!\"", ")", ";", "Entry", "->", "addLiveIn", "(", "*", "I", ")", ";", "BuildMI", "(", "*", "Entry", ",", "MBBI", ",", "DebugLoc", "(", ")", ",", "TII", "->", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "NewVR", ")", ".", "addReg", "(", "*", "I", ")", ";", "for", "(", "auto", "*", "Exit", ":", "Exits", ")", "BuildMI", "(", "*", "Exit", ",", "Exit", "->", "getFirstTerminator", "(", ")", ",", "DebugLoc", "(", ")", ",", "TII", "->", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "*", "I", ")", ".", "addReg", "(", "NewVR", ")", ";", "}", "}", ""], "natrual_language": ["Insert", "explicit", "copies", "in", "entry", "and", "exit", "blocks", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegClass", "ARM::GPRRegClass", "ARM::DPRRegClass", "ARM::DPRRegClass", "\"Unexpected register class in CSRsViaCopy!\"", "\"Function should be nounwind in insertCopiesSplitCSR!\""], "File": "ARMISelLowering (2)5", "Func": "insertCopiesSplitCSR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10867, "Length": 271} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "insertSSPDeclarations", "(", "Module", "&", "M", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "getTargetTriple", "(", ")", ".", "isWindowsMSVCEnvironment", "(", ")", ")", "return", "TargetLowering", "::", "insertSSPDeclarations", "(", "M", ")", ";", "M", ".", "getOrInsertGlobal", "(", "\"__security_cookie\"", ",", "Type", "::", "getInt8PtrTy", "(", "M", ".", "getContext", "(", ")", ")", ")", ";", "FunctionCallee", "SecurityCheckCookie", "=", "M", ".", "getOrInsertFunction", "(", "\"__security_check_cookie\"", ",", "Type", "::", "getVoidTy", "(", "M", ".", "getContext", "(", ")", ")", ",", "Type", "::", "getInt8PtrTy", "(", "M", ".", "getContext", "(", ")", ")", ")", ";", "if", "(", "Function", "*", "F", "=", "dyn_cast", "<", "Function", ">", "(", "SecurityCheckCookie", ".", "getCallee", "(", ")", ")", ")", "F", "->", "addParamAttr", "(", "0", ",", "Attribute", "::", "AttrKind", "::", "InReg", ")", ";", "}", ""], "natrual_language": ["Inserts", "necessary", "declarations", "for", "SSP", "(", "stack", "protection", ")", "purpose", "."], "TS_V_token": ["ARM", "ARM", "\"__security_cookie\"", "\"__security_check_cookie\"", "0"], "File": "ARMISelLowering (2)5", "Func": "insertSSPDeclarations", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10868, "Length": 114} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isDesirableToCommuteWithShift", "(", "const", "SDNode", "*", "N", ",", "CombineLevel", "Level", ")", "const", "{", "if", "(", "Level", "==", "BeforeLegalizeTypes", ")", "return", "true", ";", "if", "(", "N", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "SHL", ")", "return", "true", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "{", "if", "(", "N", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "SHL", ")", "return", "true", ";", "SDValue", "N1", "=", "N", "->", "getOperand", "(", "0", ")", ";", "if", "(", "N1", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "ADD", "&&", "N1", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "AND", "&&", "N1", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "OR", "&&", "N1", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "XOR", ")", "return", "true", ";", "if", "(", "auto", "*", "Const", "=", "dyn_cast", "<", "ConstantSDNode", ">", "(", "N1", "->", "getOperand", "(", "1", ")", ")", ")", "{", "if", "(", "Const", "->", "getAPIntValue", "(", ")", ".", "ult", "(", "256", ")", ")", "return", "false", ";", "if", "(", "N1", "->", "getOpcode", "(", ")", "==", "ISD", "::", "ADD", "&&", "Const", "->", "getAPIntValue", "(", ")", ".", "slt", "(", "0", ")", "&&", "Const", "->", "getAPIntValue", "(", ")", ".", "sgt", "(", "-", "256", ")", ")", "return", "false", ";", "}", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "is", "profitable", "to", "move", "this", "shift", "by", "a", "constant", "amount", "through", "its", "operand", ",", "adjusting", "any", "immediate", "operands", "as", "necessary", "to", "preserve", "semantics", "."], "TS_V_token": ["ARM", "ARM", "ISD::SHL", "ISD::SHL", "0", "ISD::ADD", "ISD::AND", "ISD::OR", "ISD::XOR", "1", "256", "ISD::ADD", "0", "256"], "File": "ARMISelLowering (2)5", "Func": "isDesirableToCommuteWithShift", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10869, "Length": 201} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isExtractSubvectorCheap", "(", "EVT", "ResVT", ",", "EVT", "SrcVT", ",", "unsigned", "Index", ")", "const", "{", "if", "(", "!", "isOperationLegalOrCustom", "(", "ISD", "::", "EXTRACT_SUBVECTOR", ",", "ResVT", ")", ")", "return", "false", ";", "return", "(", "Index", "==", "0", "||", "Index", "==", "ResVT", ".", "getVectorNumElements", "(", ")", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "EXTRACT_SUBVECTOR", "is", "cheap", "for", "this", "result", "type", "with", "this", "index", "."], "TS_V_token": ["ARM", "ARM", "ISD::EXTRACT_SUBVECTOR", "0"], "File": "ARMISelLowering (2)5", "Func": "isExtractSubvectorCheap", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10870, "Length": 47} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isFMAFasterThanFMulAndFAdd", "(", "const", "MachineFunction", "&", "MF", ",", "EVT", "VT", ")", "const", "{", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "case", "MVT", "::", "v4f32", ":", "case", "MVT", "::", "v8f16", ":", "return", "Subtarget", "->", "hasMVEFloatOps", "(", ")", ";", "case", "MVT", "::", "f16", ":", "return", "Subtarget", "->", "useFPVFMx16", "(", ")", ";", "case", "MVT", "::", "f32", ":", "return", "Subtarget", "->", "useFPVFMx", "(", ")", ";", "case", "MVT", "::", "f64", ":", "return", "Subtarget", "->", "useFPVFMx64", "(", ")", ";", "default", ":", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "an", "FMA", "operation", "is", "faster", "than", "a", "pair", "of", "fmul", "and", "fadd", "instructions", "."], "TS_V_token": ["ARM", "ARM", "MVT::v4f32", "MVT::v8f16", "MVT::f16", "MVT::f32", "MVT::f64"], "File": "ARMISelLowering (2)5", "Func": "isFMAFasterThanFMulAndFAdd", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10871, "Length": 100} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isFNegFree", "(", "EVT", "VT", ")", "const", "{", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "break", ";", "case", "MVT", "::", "f16", ":", "return", "Subtarget", "->", "hasFullFP16", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "an", "fneg", "operation", "is", "free", "to", "the", "point", "where", "it", "is", "never", "worthwhile", "to", "replace", "it", "with", "a", "bitwise", "operation", "."], "TS_V_token": ["ARM", "ARM", "MVT::f16"], "File": "ARMISelLowering (2)5", "Func": "isFNegFree", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10872, "Length": 54} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isFPImmLegal", "(", "const", "APFloat", "&", "Imm", ",", "EVT", "VT", ",", "bool", "ForCodeSize", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasVFP3Base", "(", ")", ")", "return", "false", ";", "if", "(", "VT", "==", "MVT", "::", "f16", "&&", "Subtarget", "->", "hasFullFP16", "(", ")", ")", "return", "ARM_AM", "::", "getFP16Imm", "(", "Imm", ")", "!=", "-", "1", ";", "if", "(", "VT", "==", "MVT", "::", "f32", "&&", "Subtarget", "->", "hasFullFP16", "(", ")", "&&", "ARM_AM", "::", "getFP32FP16Imm", "(", "Imm", ")", "!=", "-", "1", ")", "return", "true", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "ARM_AM", "::", "getFP32Imm", "(", "Imm", ")", "!=", "-", "1", ";", "if", "(", "VT", "==", "MVT", "::", "f64", "&&", "Subtarget", "->", "hasFP64", "(", ")", ")", "return", "ARM_AM", "::", "getFP64Imm", "(", "Imm", ")", "!=", "-", "1", ";", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "can", "instruction", "select", "the", "specified", "FP", "immediate", "natively", "."], "TS_V_token": ["ARM", "ARM", "MVT::f16", "ARM_AM::getFP16Imm", "1", "MVT::f32", "ARM_AM::getFP32FP16Imm", "1", "MVT::f32", "ARM_AM::getFP32Imm", "1", "MVT::f64", "ARM_AM::getFP64Imm", "1"], "File": "ARMISelLowering (2)5", "Func": "isFPImmLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10873, "Length": 130} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalAddressingMode", "(", "const", "DataLayout", "&", "DL", ",", "const", "AddrMode", "&", "AM", ",", "Type", "*", "Ty", ",", "unsigned", "AS", ",", "Instruction", "*", "I", ")", "const", "{", "EVT", "VT", "=", "getValueType", "(", "DL", ",", "Ty", ",", "true", ")", ";", "if", "(", "!", "isLegalAddressImmediate", "(", "AM", ".", "BaseOffs", ",", "VT", ",", "Subtarget", ")", ")", "return", "false", ";", "if", "(", "AM", ".", "BaseGV", ")", "return", "false", ";", "switch", "(", "AM", ".", "Scale", ")", "{", "case", "0", ":", "break", ";", "default", ":", "if", "(", "AM", ".", "BaseOffs", ")", "return", "false", ";", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "isLegalT1ScaledAddressingMode", "(", "AM", ",", "VT", ")", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "isLegalT2ScaledAddressingMode", "(", "AM", ",", "VT", ")", ";", "int", "Scale", "=", "AM", ".", "Scale", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i1", ":", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i32", ":", "if", "(", "Scale", "<", "0", ")", "Scale", "=", "-", "Scale", ";", "if", "(", "Scale", "==", "1", ")", "return", "true", ";", "return", "isPowerOf2_32", "(", "Scale", "&", "~", "1", ")", ";", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i64", ":", "if", "(", "Scale", "==", "1", "||", "(", "AM", ".", "HasBaseReg", "&&", "Scale", "==", "-", "1", ")", ")", "return", "true", ";", "if", "(", "!", "AM", ".", "HasBaseReg", "&&", "Scale", "==", "2", ")", "return", "true", ";", "return", "false", ";", "case", "MVT", "::", "isVoid", ":", "if", "(", "Scale", "&", "1", ")", "return", "false", ";", "return", "isPowerOf2_32", "(", "Scale", ")", ";", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["isLegalAddressingMode", "-", "Return", "true", "if", "the", "addressing", "mode", "represented", "by", "AM", "is", "legal", "for", "this", "target", ",", "for", "a", "load/store", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "0", "MVT::i1", "MVT::i8", "MVT::i32", "0", "1", "1", "MVT::i16", "MVT::i64", "1", "1", "2", "MVT::isVoid", "1"], "File": "ARMISelLowering (2)5", "Func": "isLegalAddressingMode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10874, "Length": 273} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalICmpImmediate", "(", "int64_t", "Imm", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "ARM_AM", "::", "getSOImmVal", "(", "(", "uint32_t", ")", "Imm", ")", "!=", "-", "1", "||", "ARM_AM", "::", "getSOImmVal", "(", "-", "(", "uint32_t", ")", "Imm", ")", "!=", "-", "1", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "ARM_AM", "::", "getT2SOImmVal", "(", "(", "uint32_t", ")", "Imm", ")", "!=", "-", "1", "||", "ARM_AM", "::", "getT2SOImmVal", "(", "-", "(", "uint32_t", ")", "Imm", ")", "!=", "-", "1", ";", "return", "Imm", ">=", "0", "&&", "Imm", "<=", "255", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "immediate", "is", "legal", "icmp", "immediate", ",", "that", "is", "the", "target", "has", "icmp", "instructions", "which", "can", "compare", "a", "register", "against", "the", "immediate", "without", "having", "to", "materialize", "the", "immediate", "into", "a", "register", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::getSOImmVal", "1", "ARM_AM::getSOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "0", "255"], "File": "ARMISelLowering (2)5", "Func": "isLegalICmpImmediate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10875, "Length": 93} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalInterleavedAccessType", "(", "unsigned", "Factor", ",", "FixedVectorType", "*", "VecTy", ",", "Align", "Alignment", ",", "const", "DataLayout", "&", "DL", ")", "const", "{", "unsigned", "VecSize", "=", "DL", ".", "getTypeSizeInBits", "(", "VecTy", ")", ";", "unsigned", "ElSize", "=", "DL", ".", "getTypeSizeInBits", "(", "VecTy", "->", "getElementType", "(", ")", ")", ";", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "VecTy", "->", "getElementType", "(", ")", "->", "isHalfTy", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "Factor", "==", "3", ")", "return", "false", ";", "if", "(", "VecTy", "->", "getNumElements", "(", ")", "<", "2", ")", "return", "false", ";", "if", "(", "ElSize", "!=", "8", "&&", "ElSize", "!=", "16", "&&", "ElSize", "!=", "32", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "Alignment", "<", "ElSize", "/", "8", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "VecSize", "==", "64", ")", "return", "true", ";", "return", "VecSize", "%", "128", "==", "0", ";", "}", ""], "natrual_language": ["Returns", "whether", "or", "not", "generating", "a", "interleaved", "load/store", "intrinsic", "for", "this", "type", "will", "be", "legal", "."], "TS_V_token": ["ARM", "ARM", "3", "2", "8", "16", "32", "8", "64", "128", "0"], "File": "ARMISelLowering (2)5", "Func": "isLegalInterleavedAccessType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10876, "Length": 171} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalT1ScaledAddressingMode", "(", "const", "AddrMode", "&", "AM", ",", "EVT", "VT", ")", "const", "{", "const", "int", "Scale", "=", "AM", ".", "Scale", ";", "if", "(", "Scale", "<", "0", ")", "return", "false", ";", "return", "(", "Scale", "==", "1", ")", "||", "(", "!", "AM", ".", "HasBaseReg", "&&", "Scale", "==", "2", ")", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "addressing", "mode", "representing", "by", "AM", "is", "legal", "for", "the", "Thumb1", "target", ",", "for", "a", "load/store", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "2"], "File": "ARMISelLowering (2)5", "Func": "isLegalT1ScaledAddressingMode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10877, "Length": 51} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isMulAddWithConstProfitable", "(", "const", "SDValue", "&", "AddNode", ",", "const", "SDValue", "&", "ConstNode", ")", "const", "{", "const", "EVT", "VT", "=", "AddNode", ".", "getValueType", "(", ")", ";", "if", "(", "VT", ".", "isVector", "(", ")", "||", "VT", ".", "getScalarSizeInBits", "(", ")", ">", "32", ")", "return", "true", ";", "const", "ConstantSDNode", "*", "C0Node", "=", "cast", "<", "ConstantSDNode", ">", "(", "AddNode", ".", "getOperand", "(", "1", ")", ")", ";", "const", "ConstantSDNode", "*", "C1Node", "=", "cast", "<", "ConstantSDNode", ">", "(", "ConstNode", ")", ";", "const", "int64_t", "C0", "=", "C0Node", "->", "getSExtValue", "(", ")", ";", "APInt", "CA", "=", "C0Node", "->", "getAPIntValue", "(", ")", "*", "C1Node", "->", "getAPIntValue", "(", ")", ";", "if", "(", "!", "isLegalAddImmediate", "(", "C0", ")", "||", "isLegalAddImmediate", "(", "CA", ".", "getSExtValue", "(", ")", ")", ")", "return", "true", ";", "if", "(", "ConstantMaterializationCost", "(", "(", "unsigned", ")", "CA", ".", "getZExtValue", "(", ")", ",", "Subtarget", ")", ">", "1", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "may", "be", "profitable", "to", "transform", "(", "mul", "(", "add", "x", ",", "c1", ")", ",", "c2", ")", "-", ">", "(", "add", "(", "mul", "x", ",", "c2", ")", ",", "c1", "*", "c2", ")", "."], "TS_V_token": ["ARM", "ARM", "32", "1", "1"], "File": "ARMISelLowering (2)5", "Func": "isMulAddWithConstProfitable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10878, "Length": 147} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "ArrayRef", "<", "int", ">", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", "&&", "(", "Subtarget", "->", "hasNEON", "(", ")", "||", "isLegalMVEShuffleOp", "(", "PFEntry", ")", ")", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ",", "isV_UNDEF", ";", "unsigned", "Imm", ",", "WhichResult", ";", "unsigned", "EltSize", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "if", "(", "EltSize", ">=", "32", "||", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "ShuffleVectorInst", "::", "isIdentityMask", "(", "M", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", ")", "return", "true", ";", "else", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTBLMask", "(", "M", ",", "VT", ")", "||", "isNEONTwoResultShuffleMask", "(", "M", ",", "VT", ",", "WhichResult", ",", "isV_UNDEF", ")", ")", ")", "return", "true", ";", "else", "if", "(", "(", "VT", "==", "MVT", "::", "v8i16", "||", "VT", "==", "MVT", "::", "v8f16", "||", "VT", "==", "MVT", "::", "v16i8", ")", "&&", "isReverseMask", "(", "M", ",", "VT", ")", ")", "return", "true", ";", "else", "if", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "(", "isVMOVNMask", "(", "M", ",", "VT", ",", "true", ",", "false", ")", "||", "isVMOVNMask", "(", "M", ",", "VT", ",", "false", ",", "false", ")", "||", "isVMOVNMask", "(", "M", ",", "VT", ",", "true", ",", "true", ")", ")", ")", "return", "true", ";", "else", "return", "false", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "32", "0", "64", "32", "16", "MVT::v8i16", "MVT::v8f16", "MVT::v16i8"], "File": "ARMISelLowering (2)5", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10879, "Length": 368} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isTruncateFree", "(", "EVT", "SrcVT", ",", "EVT", "DstVT", ")", "const", "{", "if", "(", "SrcVT", ".", "isVector", "(", ")", "||", "DstVT", ".", "isVector", "(", ")", "||", "!", "SrcVT", ".", "isInteger", "(", ")", "||", "!", "DstVT", ".", "isInteger", "(", ")", ")", "return", "false", ";", "unsigned", "SrcBits", "=", "SrcVT", ".", "getSizeInBits", "(", ")", ";", "unsigned", "DestBits", "=", "DstVT", ".", "getSizeInBits", "(", ")", ";", "return", "(", "SrcBits", "==", "64", "&&", "DestBits", "==", "32", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "free", "to", "truncate", "a", "value", "of", "type", "Ty1", "to", "type", "Ty2", "."], "TS_V_token": ["ARM", "ARM", "64", "32"], "File": "ARMISelLowering (2)5", "Func": "isTruncateFree", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10880, "Length": 74} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isVectorLoadExtDesirable", "(", "SDValue", "ExtVal", ")", "const", "{", "EVT", "VT", "=", "ExtVal", ".", "getValueType", "(", ")", ";", "if", "(", "!", "isTypeLegal", "(", "VT", ")", ")", "return", "false", ";", "if", "(", "auto", "*", "Ld", "=", "dyn_cast", "<", "MaskedLoadSDNode", ">", "(", "ExtVal", ".", "getOperand", "(", "0", ")", ")", ")", "{", "if", "(", "Ld", "->", "isExpandingLoad", "(", ")", ")", "return", "false", ";", "}", "if", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "true", ";", "if", "(", "ExtVal", "->", "use_empty", "(", ")", "||", "!", "ExtVal", "->", "use_begin", "(", ")", "->", "isOnlyUserOf", "(", "ExtVal", ".", "getNode", "(", ")", ")", ")", "return", "true", ";", "SDNode", "*", "U", "=", "*", "ExtVal", "->", "use_begin", "(", ")", ";", "if", "(", "(", "U", "->", "getOpcode", "(", ")", "==", "ISD", "::", "ADD", "||", "U", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SUB", "||", "U", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SHL", "||", "U", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "VSHLIMM", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "folding", "a", "vector", "load", "into", "ExtVal", "(", "a", "sign", ",", "zero", ",", "or", "any", "extend", "node", ")", "is", "profitable", "."], "TS_V_token": ["ARM", "ARM", "0", "ISD::ADD", "ISD::SUB", "ISD::SHL", "ARMISD::VSHLIMM"], "File": "ARMISelLowering (2)5", "Func": "isVectorLoadExtDesirable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10881, "Length": 162} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "joinRegisterPartsIntoValue", "(", "SelectionDAG", "&", "DAG", ",", "const", "SDLoc", "&", "DL", ",", "const", "SDValue", "*", "Parts", ",", "unsigned", "NumParts", ",", "MVT", "PartVT", ",", "EVT", "ValueVT", ",", "Optional", "<", "CallingConv", "::", "ID", ">", "CC", ")", "const", "{", "bool", "IsABIRegCopy", "=", "CC", ".", "hasValue", "(", ")", ";", "if", "(", "IsABIRegCopy", "&&", "(", "ValueVT", "==", "MVT", "::", "f16", "||", "ValueVT", "==", "MVT", "::", "bf16", ")", "&&", "PartVT", "==", "MVT", "::", "f32", ")", "{", "unsigned", "ValueBits", "=", "ValueVT", ".", "getSizeInBits", "(", ")", ";", "unsigned", "PartBits", "=", "PartVT", ".", "getSizeInBits", "(", ")", ";", "SDValue", "Val", "=", "Parts", "[", "0", "]", ";", "Val", "=", "DAG", ".", "getNode", "(", "ISD", "::", "BITCAST", ",", "DL", ",", "MVT", "::", "getIntegerVT", "(", "PartBits", ")", ",", "Val", ")", ";", "Val", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "DL", ",", "MVT", "::", "getIntegerVT", "(", "ValueBits", ")", ",", "Val", ")", ";", "Val", "=", "DAG", ".", "getNode", "(", "ISD", "::", "BITCAST", ",", "DL", ",", "ValueVT", ",", "Val", ")", ";", "return", "Val", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["Target-specific", "combining", "of", "register", "parts", "into", "its", "original", "value", "."], "TS_V_token": ["ARM", "ARM", "MVT::f16", "MVT::bf16", "MVT::f32", "0", "ISD::BITCAST", "MVT::getIntegerVT", "ISD::TRUNCATE", "MVT::getIntegerVT", "ISD::BITCAST"], "File": "ARMISelLowering (2)5", "Func": "joinRegisterPartsIntoValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10882, "Length": 169} {"ground_truth": ["", "const", "char", "*", "ARMTargetLowering", "::", "LowerXConstraint", "(", "EVT", "ConstraintVT", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasVFP2Base", "(", ")", ")", "return", "\"r\"", ";", "if", "(", "ConstraintVT", ".", "isFloatingPoint", "(", ")", ")", "return", "\"w\"", ";", "if", "(", "ConstraintVT", ".", "isVector", "(", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "ConstraintVT", ".", "getSizeInBits", "(", ")", "==", "64", "||", "ConstraintVT", ".", "getSizeInBits", "(", ")", "==", "128", ")", ")", "return", "\"w\"", ";", "return", "\"r\"", ";", "}", ""], "natrual_language": ["Try", "to", "replace", "an", "X", "constraint", ",", "which", "matches", "anything", ",", "with", "another", "that", "has", "more", "specific", "requirements", "based", "on", "the", "type", "of", "the", "corresponding", "operand", "."], "TS_V_token": ["ARM", "ARM", "\"r\"", "\"w\"", "64", "128", "\"w\"", "\"r\""], "File": "ARMISelLowering (2)5", "Func": "LowerXConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10883, "Length": 74} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "mayBeEmittedAsTailCall", "(", "const", "CallInst", "*", "CI", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "supportsTailCall", "(", ")", ")", "return", "false", ";", "if", "(", "!", "CI", "->", "isTailCall", "(", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "may", "be", "able", "emit", "the", "call", "instruction", "as", "a", "tail", "call", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)5", "Func": "mayBeEmittedAsTailCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10884, "Length": 40} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformBRCONDCombine", "(", "SDNode", "*", "N", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Cmp", "=", "N", "->", "getOperand", "(", "4", ")", ";", "if", "(", "Cmp", ".", "getOpcode", "(", ")", "!=", "ARMISD", "::", "CMPZ", ")", "return", "SDValue", "(", ")", ";", "EVT", "VT", "=", "N", "->", "getValueType", "(", "0", ")", ";", "SDLoc", "dl", "(", "N", ")", ";", "SDValue", "LHS", "=", "Cmp", ".", "getOperand", "(", "0", ")", ";", "SDValue", "RHS", "=", "Cmp", ".", "getOperand", "(", "1", ")", ";", "SDValue", "Chain", "=", "N", "->", "getOperand", "(", "0", ")", ";", "SDValue", "BB", "=", "N", "->", "getOperand", "(", "1", ")", ";", "SDValue", "ARMcc", "=", "N", "->", "getOperand", "(", "2", ")", ";", "ARMCC", "::", "CondCodes", "CC", "=", "(", "ARMCC", "::", "CondCodes", ")", "cast", "<", "ConstantSDNode", ">", "(", "ARMcc", ")", "->", "getZExtValue", "(", ")", ";", "if", "(", "CC", "==", "ARMCC", "::", "NE", "&&", "LHS", ".", "getOpcode", "(", ")", "==", "ISD", "::", "AND", "&&", "LHS", "->", "hasOneUse", "(", ")", "&&", "LHS", "->", "getOperand", "(", "0", ")", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "CMOV", "&&", "LHS", "->", "getOperand", "(", "0", ")", "->", "hasOneUse", "(", ")", ")", "{", "auto", "*", "LHS00C", "=", "dyn_cast", "<", "ConstantSDNode", ">", "(", "LHS", "->", "getOperand", "(", "0", ")", "->", "getOperand", "(", "0", ")", ")", ";", "auto", "*", "LHS01C", "=", "dyn_cast", "<", "ConstantSDNode", ">", "(", "LHS", "->", "getOperand", "(", "0", ")", "->", "getOperand", "(", "1", ")", ")", ";", "auto", "*", "LHS1C", "=", "dyn_cast", "<", "ConstantSDNode", ">", "(", "LHS", "->", "getOperand", "(", "1", ")", ")", ";", "auto", "*", "RHSC", "=", "dyn_cast", "<", "ConstantSDNode", ">", "(", "RHS", ")", ";", "if", "(", "(", "LHS00C", "&&", "LHS00C", "->", "getZExtValue", "(", ")", "==", "0", ")", "&&", "(", "LHS01C", "&&", "LHS01C", "->", "getZExtValue", "(", ")", "==", "1", ")", "&&", "(", "LHS1C", "&&", "LHS1C", "->", "getZExtValue", "(", ")", "==", "1", ")", "&&", "(", "RHSC", "&&", "RHSC", "->", "getZExtValue", "(", ")", "==", "0", ")", ")", "{", "return", "DAG", ".", "getNode", "(", "ARMISD", "::", "BRCOND", ",", "dl", ",", "VT", ",", "Chain", ",", "BB", ",", "LHS", "->", "getOperand", "(", "0", ")", "->", "getOperand", "(", "2", ")", ",", "LHS", "->", "getOperand", "(", "0", ")", "->", "getOperand", "(", "3", ")", ",", "LHS", "->", "getOperand", "(", "0", ")", "->", "getOperand", "(", "4", ")", ")", ";", "}", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["PerformBRCONDCombine", "-", "Target-specific", "DAG", "combining", "for", "ARMISD", ":", ":BRCOND", "."], "TS_V_token": ["ARM", "ARM", "4", "ARMISD::CMPZ", "0", "0", "1", "0", "1", "ARM", "2", "ARMCC::CondCodes", "ARMCC::CondCodes", "ARM", "ARMCC::NE", "ISD::AND", "0", "ARMISD::CMOV", "0", "0", "0", "0", "1", "1", "0", "1", "1", "0", "ARMISD::BRCOND", "0", "2", "0", "3", "0", "4"], "File": "ARMISelLowering (2)5", "Func": "PerformBRCONDCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10885, "Length": 367} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "preferIncOfAddToSubOfNot", "(", "EVT", "VT", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "VT", ".", "getScalarSizeInBits", "(", ")", "<=", "32", ";", "return", "true", ";", "}", "return", "VT", ".", "isScalarInteger", "(", ")", ";", "}", ""], "natrual_language": ["These", "two", "forms", "are", "equivalent", ":", "sub", "y", ",", "(", "xor", "x", ",", "-1", ")", "add", "(", "add", "x", ",", "1", ")", ",", "y", "The", "variant", "with", "two", "add", "'s", "is", "IR-canonical", "."], "TS_V_token": ["ARM", "ARM", "32"], "File": "ARMISelLowering (2)5", "Func": "preferIncOfAddToSubOfNot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10886, "Length": 49} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SHL", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SDIVREM", ":", "case", "ISD", "::", "UDIVREM", ":", "Res", "=", "LowerDivRem", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ")", ";", "assert", "(", "Res", ".", "getNumOperands", "(", ")", "==", "2", "&&", "\"DivRem needs two values\"", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "0", ")", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "1", ")", ")", ";", "return", ";", "case", "ISD", "::", "SADDSAT", ":", "case", "ISD", "::", "SSUBSAT", ":", "case", "ISD", "::", "UADDSAT", ":", "case", "ISD", "::", "USUBSAT", ":", "Res", "=", "LowerADDSUBSAT", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "UDIV", ":", "case", "ISD", "::", "SDIV", ":", "assert", "(", "Subtarget", "->", "isTargetWindows", "(", ")", "&&", "\"can only expand DIV on Windows\"", ")", ";", "return", "ExpandDIV_Windows", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SDIV", ",", "Results", ")", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceCMP_SWAP_64Results", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "ReplaceLongIntrinsic", "(", "N", ",", "Results", ",", "DAG", ")", ";", "case", "ISD", "::", "ABS", ":", "lowerABS", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "case", "ISD", "::", "LOAD", ":", "LowerLOAD", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "TRUNCATE", ":", "Res", "=", "LowerTruncate", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "Res", "=", "LowerVectorExtend", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "FP_TO_SINT_SAT", ":", "case", "ISD", "::", "FP_TO_UINT_SAT", ":", "Res", "=", "LowerFP_TO_INT_SAT", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SHL", "ISD::SREM", "ISD::UREM", "ISD::SDIVREM", "ISD::UDIVREM", "0", "2", "\"DivRem needs two values\"", "0", "1", "ISD::SADDSAT", "ISD::SSUBSAT", "ISD::UADDSAT", "ISD::USUBSAT", "0", "ISD::READCYCLECOUNTER", "ISD::UDIV", "ISD::SDIV", "\"can only expand DIV on Windows\"", "0", "ISD::SDIV", "ISD::ATOMIC_CMP_SWAP", "ISD::INTRINSIC_WO_CHAIN", "ISD::ABS", "ISD::LOAD", "ISD::TRUNCATE", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND", "ISD::FP_TO_SINT_SAT", "ISD::FP_TO_UINT_SAT", "0"], "File": "ARMISelLowering (2)5", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10887, "Length": 438} {"ground_truth": ["", "Type", "*", "ARMTargetLowering", "::", "shouldConvertSplatType", "(", "ShuffleVectorInst", "*", "SVI", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "nullptr", ";", "Type", "*", "SVIType", "=", "SVI", "->", "getType", "(", ")", ";", "Type", "*", "ScalarType", "=", "SVIType", "->", "getScalarType", "(", ")", ";", "if", "(", "ScalarType", "->", "isFloatTy", "(", ")", ")", "return", "Type", "::", "getInt32Ty", "(", "SVIType", "->", "getContext", "(", ")", ")", ";", "if", "(", "ScalarType", "->", "isHalfTy", "(", ")", ")", "return", "Type", "::", "getInt16Ty", "(", "SVIType", "->", "getContext", "(", ")", ")", ";", "return", "nullptr", ";", "}", ""], "natrual_language": ["Given", "a", "shuffle", "vector", "SVI", "representing", "a", "vector", "splat", ",", "return", "a", "new", "scalar", "type", "of", "size", "equal", "to", "SVI", "'s", "scalar", "type", "if", "the", "new", "type", "is", "more", "profitable", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)5", "Func": "shouldConvertSplatType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10888, "Length": 88} {"ground_truth": ["", "TargetLowering", "::", "AtomicExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicCmpXchgInIR", "(", "AtomicCmpXchgInst", "*", "AI", ")", "const", "{", "unsigned", "Size", "=", "AI", "->", "getOperand", "(", "1", ")", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "bool", "HasAtomicCmpXchg", "=", "!", "Subtarget", "->", "isThumb", "(", ")", "||", "Subtarget", "->", "hasV8MBaselineOps", "(", ")", ";", "if", "(", "getTargetMachine", "(", ")", ".", "getOptLevel", "(", ")", "!=", "0", "&&", "HasAtomicCmpXchg", "&&", "Size", "<=", "(", "Subtarget", "->", "isMClass", "(", ")", "?", "32U", ":", "64U", ")", ")", "return", "AtomicExpansionKind", "::", "LLSC", ";", "return", "AtomicExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "atomic", "cmpxchg", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "32U", "64U"], "File": "ARMISelLowering (2)5", "Func": "shouldExpandAtomicCmpXchgInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10889, "Length": 86} {"ground_truth": ["", "TargetLowering", "::", "AtomicExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicRMWInIR", "(", "AtomicRMWInst", "*", "AI", ")", "const", "{", "if", "(", "AI", "->", "isFloatingPointOperation", "(", ")", ")", "return", "AtomicExpansionKind", "::", "CmpXChg", ";", "if", "(", "getTargetMachine", "(", ")", ".", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "None", ")", "return", "AtomicExpansionKind", "::", "CmpXChg", ";", "unsigned", "Size", "=", "AI", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "bool", "hasAtomicRMW", "=", "!", "Subtarget", "->", "isThumb", "(", ")", "||", "Subtarget", "->", "hasV8MBaselineOps", "(", ")", ";", "return", "(", "Size", "<=", "(", "Subtarget", "->", "isMClass", "(", ")", "?", "32U", ":", "64U", ")", "&&", "hasAtomicRMW", ")", "?", "AtomicExpansionKind", "::", "LLSC", ":", "AtomicExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "IR-level", "AtomicExpand", "pass", "should", "expand", "the", "given", "AtomicRMW", ",", "if", "at", "all", "."], "TS_V_token": ["ARM", "ARM", "32U", "64U"], "File": "ARMISelLowering (2)5", "Func": "shouldExpandAtomicRMWInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10890, "Length": 102} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldFoldConstantShiftPairToMask", "(", "const", "SDNode", "*", "N", ",", "CombineLevel", "Level", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "true", ";", "if", "(", "Level", "==", "BeforeLegalizeTypes", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "is", "profitable", "to", "fold", "a", "pair", "of", "shifts", "into", "a", "mask", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)5", "Func": "shouldFoldConstantShiftPairToMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10891, "Length": 40} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldInsertFencesForAtomic", "(", "const", "Instruction", "*", "I", ")", "const", "{", "return", "InsertFencesForAtomic", ";", "}", ""], "natrual_language": ["Helper", "functions", "for", "atomic", "operations", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)5", "Func": "shouldInsertFencesForAtomic", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10892, "Length": 16} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "SimplifyDemandedBitsForTargetNode", "(", "SDValue", "Op", ",", "const", "APInt", "&", "OriginalDemandedBits", ",", "const", "APInt", "&", "OriginalDemandedElts", ",", "KnownBits", "&", "Known", ",", "TargetLoweringOpt", "&", "TLO", ",", "unsigned", "Depth", ")", "const", "{", "unsigned", "Opc", "=", "Op", ".", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "case", "ARMISD", "::", "ASRL", ":", "case", "ARMISD", "::", "LSRL", ":", "{", "if", "(", "Op", ".", "getResNo", "(", ")", "==", "0", "&&", "!", "Op", "->", "hasAnyUseOfValue", "(", "1", ")", "&&", "isa", "<", "ConstantSDNode", ">", "(", "Op", "->", "getOperand", "(", "2", ")", ")", ")", "{", "unsigned", "ShAmt", "=", "Op", "->", "getConstantOperandVal", "(", "2", ")", ";", "if", "(", "ShAmt", "<", "32", "&&", "OriginalDemandedBits", ".", "isSubsetOf", "(", "APInt", "::", "getAllOnes", "(", "32", ")", "<<", "(", "32", "-", "ShAmt", ")", ")", ")", "return", "TLO", ".", "CombineTo", "(", "Op", ",", "TLO", ".", "DAG", ".", "getNode", "(", "ISD", "::", "SHL", ",", "SDLoc", "(", "Op", ")", ",", "MVT", "::", "i32", ",", "Op", ".", "getOperand", "(", "1", ")", ",", "TLO", ".", "DAG", ".", "getConstant", "(", "32", "-", "ShAmt", ",", "SDLoc", "(", "Op", ")", ",", "MVT", "::", "i32", ")", ")", ")", ";", "}", "break", ";", "}", "}", "return", "TargetLowering", "::", "SimplifyDemandedBitsForTargetNode", "(", "Op", ",", "OriginalDemandedBits", ",", "OriginalDemandedElts", ",", "Known", ",", "TLO", ",", "Depth", ")", ";", "}", ""], "natrual_language": ["Attempt", "to", "simplify", "any", "target", "nodes", "based", "on", "the", "demanded", "bits/elts", ",", "returning", "true", "on", "success", "."], "TS_V_token": ["ARM", "ARM", "ARMISD::ASRL", "ARMISD::LSRL", "0", "1", "2", "2", "32", "32", "32", "ISD::SHL", "MVT::i32", "1", "32", "MVT::i32"], "File": "ARMISelLowering (2)5", "Func": "SimplifyDemandedBitsForTargetNode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10893, "Length": 201} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "splitValueIntoRegisterParts", "(", "SelectionDAG", "&", "DAG", ",", "const", "SDLoc", "&", "DL", ",", "SDValue", "Val", ",", "SDValue", "*", "Parts", ",", "unsigned", "NumParts", ",", "MVT", "PartVT", ",", "Optional", "<", "CallingConv", "::", "ID", ">", "CC", ")", "const", "{", "bool", "IsABIRegCopy", "=", "CC", ".", "hasValue", "(", ")", ";", "EVT", "ValueVT", "=", "Val", ".", "getValueType", "(", ")", ";", "if", "(", "IsABIRegCopy", "&&", "(", "ValueVT", "==", "MVT", "::", "f16", "||", "ValueVT", "==", "MVT", "::", "bf16", ")", "&&", "PartVT", "==", "MVT", "::", "f32", ")", "{", "unsigned", "ValueBits", "=", "ValueVT", ".", "getSizeInBits", "(", ")", ";", "unsigned", "PartBits", "=", "PartVT", ".", "getSizeInBits", "(", ")", ";", "Val", "=", "DAG", ".", "getNode", "(", "ISD", "::", "BITCAST", ",", "DL", ",", "MVT", "::", "getIntegerVT", "(", "ValueBits", ")", ",", "Val", ")", ";", "Val", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ANY_EXTEND", ",", "DL", ",", "MVT", "::", "getIntegerVT", "(", "PartBits", ")", ",", "Val", ")", ";", "Val", "=", "DAG", ".", "getNode", "(", "ISD", "::", "BITCAST", ",", "DL", ",", "PartVT", ",", "Val", ")", ";", "Parts", "[", "0", "]", "=", "Val", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Target-specific", "splitting", "of", "values", "into", "parts", "that", "fit", "a", "register", "storing", "a", "legal", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::f16", "MVT::bf16", "MVT::f32", "ISD::BITCAST", "MVT::getIntegerVT", "ISD::ANY_EXTEND", "MVT::getIntegerVT", "ISD::BITCAST", "0"], "File": "ARMISelLowering (2)5", "Func": "splitValueIntoRegisterParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10894, "Length": 174} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "allowsMisalignedMemoryAccesses", "(", "EVT", "VT", ",", "unsigned", ",", "unsigned", "Alignment", ",", "MachineMemOperand", "::", "Flags", ",", "bool", "*", "Fast", ")", "const", "{", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "bool", "AllowsUnaligned", "=", "Subtarget", "->", "allowsUnalignedMem", "(", ")", ";", "auto", "Ty", "=", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ";", "if", "(", "Ty", "==", "MVT", "::", "i8", "||", "Ty", "==", "MVT", "::", "i16", "||", "Ty", "==", "MVT", "::", "i32", ")", "{", "if", "(", "AllowsUnaligned", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "return", "true", ";", "}", "}", "if", "(", "Ty", "==", "MVT", "::", "f64", "||", "Ty", "==", "MVT", "::", "v2f64", ")", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "AllowsUnaligned", "||", "Subtarget", "->", "isLittle", "(", ")", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "}", "if", "(", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "(", "Ty", "==", "MVT", "::", "v16i1", "||", "Ty", "==", "MVT", "::", "v8i1", "||", "Ty", "==", "MVT", "::", "v4i1", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "if", "(", "(", "Ty", "==", "MVT", "::", "v4i8", "||", "Ty", "==", "MVT", "::", "v8i8", "||", "Ty", "==", "MVT", "::", "v4i16", ")", "&&", "Alignment", ">=", "VT", ".", "getScalarSizeInBits", "(", ")", "/", "8", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "if", "(", "Ty", "==", "MVT", "::", "v16i8", "||", "Ty", "==", "MVT", "::", "v8i16", "||", "Ty", "==", "MVT", "::", "v8f16", "||", "Ty", "==", "MVT", "::", "v4i32", "||", "Ty", "==", "MVT", "::", "v4f32", "||", "Ty", "==", "MVT", "::", "v2i64", "||", "Ty", "==", "MVT", "::", "v2f64", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "allows", "unaligned", "memory", "accesses", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::i8", "MVT::i16", "MVT::i32", "MVT::f64", "MVT::v2f64", "MVT::v16i1", "MVT::v8i1", "MVT::v4i1", "MVT::v4i8", "MVT::v8i8", "MVT::v4i16", "8", "MVT::v16i8", "MVT::v8i16", "MVT::v8f16", "MVT::v4i32", "MVT::v4f32", "MVT::v2i64", "MVT::v2f64"], "File": "ARMISelLowering (2)6", "Func": "allowsMisalignedMemoryAccesses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10895, "Length": 303} {"ground_truth": ["", "Instruction", "*", "ARMTargetLowering", "::", "emitLeadingFence", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Instruction", "*", "Inst", ",", "AtomicOrdering", "Ord", ")", "const", "{", "switch", "(", "Ord", ")", "{", "case", "AtomicOrdering", "::", "NotAtomic", ":", "case", "AtomicOrdering", "::", "Unordered", ":", "llvm_unreachable", "(", "\"Invalid fence: unordered/non-atomic\"", ")", ";", "case", "AtomicOrdering", "::", "Monotonic", ":", "case", "AtomicOrdering", "::", "Acquire", ":", "return", "nullptr", ";", "case", "AtomicOrdering", "::", "SequentiallyConsistent", ":", "if", "(", "!", "Inst", "->", "hasAtomicStore", "(", ")", ")", "return", "nullptr", ";", "LLVM_FALLTHROUGH", ";", "case", "AtomicOrdering", "::", "Release", ":", "case", "AtomicOrdering", "::", "AcquireRelease", ":", "if", "(", "Subtarget", "->", "preferISHSTBarriers", "(", ")", ")", "return", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISHST", ")", ";", "else", "return", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISH", ")", ";", "}", "llvm_unreachable", "(", "\"Unknown fence ordering in emitLeadingFence\"", ")", ";", "}", ""], "natrual_language": ["Custom", "Lower", "{", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fence: unordered/non-atomic\"", "ARM_MB::ISHST", "ARM_MB::ISH", "\"Unknown fence ordering in emitLeadingFence\""], "File": "ARMISelLowering (2)6", "Func": "emitLeadingFence", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10896, "Length": 119} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitLoadLinked", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "Type", "*", "ValTy", "=", "cast", "<", "PointerType", ">", "(", "Addr", "->", "getType", "(", ")", ")", "->", "getElementType", "(", ")", ";", "bool", "IsAcquire", "=", "isAcquireOrStronger", "(", "Ord", ")", ";", "if", "(", "ValTy", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaexd", ":", "Intrinsic", "::", "arm_ldrexd", ";", "Function", "*", "Ldrex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "Value", "*", "LoHi", "=", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ",", "\"lohi\"", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "0", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "1", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Lo", "=", "Builder", ".", "CreateZExt", "(", "Lo", ",", "ValTy", ",", "\"lo64\"", ")", ";", "Hi", "=", "Builder", ".", "CreateZExt", "(", "Hi", ",", "ValTy", ",", "\"hi64\"", ")", ";", "return", "Builder", ".", "CreateOr", "(", "Lo", ",", "Builder", ".", "CreateShl", "(", "Hi", ",", "ConstantInt", "::", "get", "(", "ValTy", ",", "32", ")", ")", ",", "\"val64\"", ")", ";", "}", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaex", ":", "Intrinsic", "::", "arm_ldrex", ";", "Function", "*", "Ldrex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateTruncOrBitCast", "(", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ")", ",", "cast", "<", "PointerType", ">", "(", "Addr", "->", "getType", "(", ")", ")", "->", "getElementType", "(", ")", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "load-linked", "operation", "on", "Addr", ",", "returning", "a", "``", "Value", "*", "''", "with", "the", "corresponding", "pointee", "type", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_ldaexd", "Intrinsic::arm_ldrexd", "Intrinsic::getDeclaration", "\"lohi\"", "0", "\"lo\"", "1", "\"hi\"", "\"lo64\"", "\"hi64\"", "32", "\"val64\"", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex", "Intrinsic::getDeclaration"], "File": "ARMISelLowering (2)6", "Func": "emitLoadLinked", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10897, "Length": 318} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitStoreConditional", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Value", "*", "Val", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "bool", "IsRelease", "=", "isReleaseOrStronger", "(", "Ord", ")", ";", "if", "(", "Val", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlexd", ":", "Intrinsic", "::", "arm_strexd", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Type", "*", "Int32Ty", "=", "Type", "::", "getInt32Ty", "(", "M", "->", "getContext", "(", ")", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateTrunc", "(", "Val", ",", "Int32Ty", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateTrunc", "(", "Builder", ".", "CreateLShr", "(", "Val", ",", "32", ")", ",", "Int32Ty", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "return", "Builder", ".", "CreateCall", "(", "Strex", ",", "{", "Lo", ",", "Hi", ",", "Addr", "}", ")", ";", "}", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlex", ":", "Intrinsic", "::", "arm_strex", ";", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateCall", "(", "Strex", ",", "{", "Builder", ".", "CreateZExtOrBitCast", "(", "Val", ",", "Strex", "->", "getFunctionType", "(", ")", "->", "getParamType", "(", "0", ")", ")", ",", "Addr", "}", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "store-conditional", "operation", "to", "Addr", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_stlexd", "Intrinsic::arm_strexd", "Intrinsic::getDeclaration", "\"lo\"", "32", "\"hi\"", "Intrinsic::ID", "Intrinsic::arm_stlex", "Intrinsic::arm_strex", "Intrinsic::getDeclaration", "0"], "File": "ARMISelLowering (2)6", "Func": "emitStoreConditional", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10898, "Length": 276} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "functionArgumentNeedsConsecutiveRegisters", "(", "Type", "*", "Ty", ",", "CallingConv", "::", "ID", "CallConv", ",", "bool", "isVarArg", ")", "const", "{", "if", "(", "getEffectiveCallingConv", "(", "CallConv", ",", "isVarArg", ")", "!=", "CallingConv", "::", "ARM_AAPCS_VFP", ")", "return", "false", ";", "HABaseType", "Base", "=", "HA_UNKNOWN", ";", "uint64_t", "Members", "=", "0", ";", "bool", "IsHA", "=", "isHomogeneousAggregate", "(", "Ty", ",", "Base", ",", "Members", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"isHA: \"", "<<", "IsHA", "<<", "\" \"", ";", "Ty", "->", "dump", "(", ")", ")", ";", "bool", "IsIntArray", "=", "Ty", "->", "isArrayTy", "(", ")", "&&", "Ty", "->", "getArrayElementType", "(", ")", "->", "isIntegerTy", "(", ")", ";", "return", "IsHA", "||", "IsIntArray", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "an", "argument", "of", "type", "Ty", "needs", "to", "be", "passed", "in", "a", "contiguous", "block", "of", "registers", "in", "calling", "convention", "CallConv", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "\"isHA: \"", "\" \""], "File": "ARMISelLowering (2)6", "Func": "functionArgumentNeedsConsecutiveRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10899, "Length": 101} {"ground_truth": ["", "Align", "ARMTargetLowering", "::", "getABIAlignmentForCallingConv", "(", "Type", "*", "ArgTy", ",", "DataLayout", "DL", ")", "const", "{", "const", "Align", "ABITypeAlign", "(", "DL", ".", "getABITypeAlignment", "(", "ArgTy", ")", ")", ";", "if", "(", "!", "ArgTy", "->", "isVectorTy", "(", ")", ")", "return", "ABITypeAlign", ";", "return", "std", "::", "min", "(", "ABITypeAlign", ",", "DL", ".", "getStackAlignment", "(", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "correct", "alignment", "for", "the", "current", "calling", "convention", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)6", "Func": "getABIAlignmentForCallingConv", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10900, "Length": 53} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "uint64_t", "Size", ",", "unsigned", "DstAlign", ",", "unsigned", "SrcAlign", ",", "bool", "IsMemset", ",", "bool", "ZeroMemset", ",", "bool", "MemcpyStrSrc", ",", "const", "AttributeList", "&", "FuncAttributes", ")", "const", "{", "if", "(", "(", "!", "IsMemset", "||", "ZeroMemset", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "FuncAttributes", ".", "hasFnAttribute", "(", "Attribute", "::", "NoImplicitFloat", ")", ")", "{", "bool", "Fast", ";", "if", "(", "Size", ">=", "16", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "16", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "v2f64", ",", "0", ",", "1", ",", "MachineMemOperand", "::", "MONone", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "v2f64", ";", "}", "else", "if", "(", "Size", ">=", "8", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "8", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "f64", ",", "0", ",", "1", ",", "MachineMemOperand", "::", "MONone", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "f64", ";", "}", "}", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v2f64", "0", "1", "MVT::v2f64", "8", "8", "MVT::f64", "0", "1", "MVT::f64", "MVT::Other"], "File": "ARMISelLowering (2)6", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10901, "Length": 159} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPreIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "EVT", "VT", ";", "SDValue", "Ptr", ";", "unsigned", "Align", ";", "bool", "isSEXTLoad", "=", "false", ";", "bool", "IsMasked", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "Align", "=", "LD", "->", "getAlignment", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "Align", "=", "ST", "->", "getAlignment", "(", ")", ";", "}", "else", "if", "(", "MaskedLoadSDNode", "*", "LD", "=", "dyn_cast", "<", "MaskedLoadSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "Align", "=", "LD", "->", "getAlignment", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "IsMasked", "=", "true", ";", "}", "else", "if", "(", "MaskedStoreSDNode", "*", "ST", "=", "dyn_cast", "<", "MaskedStoreSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "Align", "=", "ST", "->", "getAlignment", "(", ")", ";", "IsMasked", "=", "true", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "VT", ".", "isVector", "(", ")", ")", "isLegal", "=", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "getMVEIndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "Align", ",", "isSEXTLoad", ",", "IsMasked", ",", "Subtarget", "->", "isLittle", "(", ")", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "{", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "}", "if", "(", "!", "isLegal", ")", "return", "false", ";", "AM", "=", "isInc", "?", "ISD", "::", "PRE_INC", ":", "ISD", "::", "PRE_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "the", "node", "'s", "address", "can", "be", "legally", "represented", "as", "pre-indexed", "load", "/", "store", "address", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::SEXTLOAD", "ISD::SEXTLOAD", "ARM", "ISD::PRE_INC", "ISD::PRE_DEC"], "File": "ARMISelLowering (2)6", "Func": "getPreIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10902, "Length": 395} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMTargetLowering", "::", "getRegClassFor", "(", "MVT", "VT", ",", "bool", "isDivergent", ")", "const", "{", "(", "void", ")", "isDivergent", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "||", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "{", "if", "(", "VT", "==", "MVT", "::", "v4i64", ")", "return", "&", "ARM", "::", "QQPRRegClass", ";", "if", "(", "VT", "==", "MVT", "::", "v8i64", ")", "return", "&", "ARM", "::", "QQQQPRRegClass", ";", "}", "return", "TargetLowering", "::", "getRegClassFor", "(", "VT", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "class", "that", "should", "be", "used", "for", "the", "specified", "value", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::v4i64", "ARM::QQPRRegClass", "MVT::v8i64", "ARM::QQQQPRRegClass"], "File": "ARMISelLowering (2)6", "Func": "getRegClassFor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10903, "Length": 73} {"ground_truth": ["", "RCPair", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "TargetRegisterInfo", "*", "TRI", ",", "StringRef", "Constraint", ",", "MVT", "VT", ")", "const", "{", "switch", "(", "Constraint", ".", "size", "(", ")", ")", "{", "case", "1", ":", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'h'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "hGPRRegClass", ")", ";", "break", ";", "case", "'r'", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPRRegClass", ")", ";", "break", ";", "case", "'x'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_8RegClass", ")", ";", "break", ";", "case", "'t'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", "||", "VT", "==", "MVT", "::", "i32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_VFP2RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_VFP2RegClass", ")", ";", "break", ";", "}", "break", ";", "case", "2", ":", "if", "(", "Constraint", "[", "0", "]", "==", "'T'", ")", "{", "switch", "(", "Constraint", "[", "1", "]", ")", "{", "default", ":", "break", ";", "case", "'e'", ":", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPREvenRegClass", ")", ";", "case", "'o'", ":", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPROddRegClass", ")", ";", "}", "}", "break", ";", "default", ":", "break", ";", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_lower", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "unsigned", "(", "ARM", "::", "CPSR", ")", ",", "&", "ARM", "::", "CCRRegClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "TRI", ",", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "0U", "ARM::hGPRRegClass", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPRRegClass", "128", "0U", "ARM::QPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPR_8RegClass", "64", "0U", "ARM::DPR_8RegClass", "128", "0U", "ARM::QPR_8RegClass", "MVT::Other", "MVT::f32", "MVT::i32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPR_VFP2RegClass", "128", "0U", "ARM::QPR_VFP2RegClass", "2", "0", "1", "0U", "ARM::tGPREvenRegClass", "0U", "ARM::tGPROddRegClass", "\"{cc}\"", "ARM::CPSR", "ARM::CCRRegClass"], "File": "ARMISelLowering (2)6", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10904, "Length": 470} {"ground_truth": ["", "Register", "ARMTargetLowering", "::", "getRegisterByName", "(", "const", "char", "*", "RegName", ",", "EVT", "VT", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "Register", "Reg", "=", "StringSwitch", "<", "unsigned", ">", "(", "RegName", ")", ".", "Case", "(", "\"sp\"", ",", "ARM", "::", "SP", ")", ".", "Default", "(", "0", ")", ";", "if", "(", "Reg", ")", "return", "Reg", ";", "report_fatal_error", "(", "Twine", "(", "\"Invalid register name \\\"\"", "+", "StringRef", "(", "RegName", ")", "+", "\"\\\".\"", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "ID", "of", "the", "name", "passed", "in", "."], "TS_V_token": ["ARM", "ARM", "\"sp\"", "ARM::SP", "0", "\"Invalid register name \\\"\"", "\"\\\".\""], "File": "ARMISelLowering (2)6", "Func": "getRegisterByName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10905, "Length": 68} {"ground_truth": ["", "int", "ARMTargetLowering", "::", "getScalingFactorCost", "(", "const", "DataLayout", "&", "DL", ",", "const", "AddrMode", "&", "AM", ",", "Type", "*", "Ty", ",", "unsigned", "AS", ")", "const", "{", "if", "(", "isLegalAddressingMode", "(", "DL", ",", "AM", ",", "Ty", ",", "AS", ")", ")", "{", "if", "(", "Subtarget", "->", "hasFPAO", "(", ")", ")", "return", "AM", ".", "Scale", "<", "0", "?", "1", ":", "0", ";", "return", "0", ";", "}", "return", "-", "1", ";", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "the", "scaling", "factor", "used", "in", "the", "addressing", "mode", "represented", "by", "AM", "for", "this", "target", ",", "for", "a", "load/store", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "0", "1"], "File": "ARMISelLowering (2)6", "Func": "getScalingFactorCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10906, "Length": 66} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getSetCCResultType", "(", "const", "DataLayout", "&", "DL", ",", "LLVMContext", "&", ",", "EVT", "VT", ")", "const", "{", "if", "(", "!", "VT", ".", "isVector", "(", ")", ")", "return", "getPointerTy", "(", "DL", ")", ";", "if", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "(", "VT", "==", "MVT", "::", "v4i32", "||", "VT", "==", "MVT", "::", "v8i16", "||", "VT", "==", "MVT", "::", "v16i8", ")", ")", "return", "MVT", "::", "getVectorVT", "(", "MVT", "::", "i1", ",", "VT", ".", "getVectorElementCount", "(", ")", ")", ";", "return", "VT", ".", "changeVectorElementTypeToInteger", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "value", "type", "to", "use", "for", "ISD", ":", ":SETCC", "."], "TS_V_token": ["ARM", "ARM", "MVT::v4i32", "MVT::v8i16", "MVT::v16i8", "MVT::getVectorVT", "MVT::i1"], "File": "ARMISelLowering (2)6", "Func": "getSetCCResultType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10907, "Length": 85} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "HandleByVal", "(", "CCState", "*", "State", ",", "unsigned", "&", "Size", ",", "unsigned", "Align", ")", "const", "{", "Align", "=", "std", "::", "max", "(", "Align", ",", "4U", ")", ";", "unsigned", "Reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ")", ";", "if", "(", "!", "Reg", ")", "return", ";", "unsigned", "AlignInRegs", "=", "Align", "/", "4", ";", "unsigned", "Waste", "=", "(", "ARM", "::", "R4", "-", "Reg", ")", "%", "AlignInRegs", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Waste", ";", "++", "i", ")", "Reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ")", ";", "if", "(", "!", "Reg", ")", "return", ";", "unsigned", "Excess", "=", "4", "*", "(", "ARM", "::", "R4", "-", "Reg", ")", ";", "const", "unsigned", "NSAAOffset", "=", "State", "->", "getNextStackOffset", "(", ")", ";", "if", "(", "NSAAOffset", "!=", "0", "&&", "Size", ">", "Excess", ")", "{", "while", "(", "State", "->", "AllocateReg", "(", "GPRArgRegs", ")", ")", ";", "return", ";", "}", "unsigned", "ByValRegBegin", "=", "Reg", ";", "unsigned", "ByValRegEnd", "=", "std", "::", "min", "<", "unsigned", ">", "(", "Reg", "+", "Size", "/", "4", ",", "ARM", "::", "R4", ")", ";", "State", "->", "addInRegsParamInfo", "(", "ByValRegBegin", ",", "ByValRegEnd", ")", ";", "for", "(", "unsigned", "i", "=", "Reg", "+", "1", ";", "i", "!=", "ByValRegEnd", ";", "++", "i", ")", "State", "->", "AllocateReg", "(", "GPRArgRegs", ")", ";", "Size", "=", "std", "::", "max", "<", "int", ">", "(", "Size", "-", "Excess", ",", "0", ")", ";", "}", ""], "natrual_language": ["Target-specific", "cleanup", "for", "formal", "ByVal", "parameters", "."], "TS_V_token": ["ARM", "ARM", "4U", "4", "ARM::R4", "0", "4", "ARM::R4", "0", "4", "ARM::R4", "1", "0"], "File": "ARMISelLowering (2)6", "Func": "HandleByVal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10908, "Length": 218} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "insertSSPDeclarations", "(", "Module", "&", "M", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "getTargetTriple", "(", ")", ".", "isWindowsMSVCEnvironment", "(", ")", ")", "return", "TargetLowering", "::", "insertSSPDeclarations", "(", "M", ")", ";", "M", ".", "getOrInsertGlobal", "(", "\"__security_cookie\"", ",", "Type", "::", "getInt8PtrTy", "(", "M", ".", "getContext", "(", ")", ")", ")", ";", "FunctionCallee", "SecurityCheckCookie", "=", "M", ".", "getOrInsertFunction", "(", "\"__security_check_cookie\"", ",", "Type", "::", "getVoidTy", "(", "M", ".", "getContext", "(", ")", ")", ",", "Type", "::", "getInt8PtrTy", "(", "M", ".", "getContext", "(", ")", ")", ")", ";", "if", "(", "Function", "*", "F", "=", "dyn_cast", "<", "Function", ">", "(", "SecurityCheckCookie", ".", "getCallee", "(", ")", ")", ")", "F", "->", "addAttribute", "(", "1", ",", "Attribute", "::", "AttrKind", "::", "InReg", ")", ";", "}", ""], "natrual_language": ["Inserts", "necessary", "declarations", "for", "SSP", "(", "stack", "protection", ")", "purpose", "."], "TS_V_token": ["ARM", "ARM", "\"__security_cookie\"", "\"__security_check_cookie\"", "1"], "File": "ARMISelLowering (2)6", "Func": "insertSSPDeclarations", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10909, "Length": 114} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isFMAFasterThanFMulAndFAdd", "(", "const", "MachineFunction", "&", "MF", ",", "EVT", "VT", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasMVEFloatOps", "(", ")", ")", "return", "false", ";", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "case", "MVT", "::", "v4f32", ":", "case", "MVT", "::", "v8f16", ":", "return", "true", ";", "default", ":", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "an", "FMA", "operation", "is", "faster", "than", "a", "pair", "of", "fmul", "and", "fadd", "instructions", "."], "TS_V_token": ["ARM", "ARM", "MVT::v4f32", "MVT::v8f16"], "File": "ARMISelLowering (2)6", "Func": "isFMAFasterThanFMulAndFAdd", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10910, "Length": 72} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isFPImmLegal", "(", "const", "APFloat", "&", "Imm", ",", "EVT", "VT", ",", "bool", "ForCodeSize", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasVFP3Base", "(", ")", ")", "return", "false", ";", "if", "(", "VT", "==", "MVT", "::", "f16", "&&", "Subtarget", "->", "hasFullFP16", "(", ")", ")", "return", "ARM_AM", "::", "getFP16Imm", "(", "Imm", ")", "!=", "-", "1", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "ARM_AM", "::", "getFP32Imm", "(", "Imm", ")", "!=", "-", "1", ";", "if", "(", "VT", "==", "MVT", "::", "f64", "&&", "Subtarget", "->", "hasFP64", "(", ")", ")", "return", "ARM_AM", "::", "getFP64Imm", "(", "Imm", ")", "!=", "-", "1", ";", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "can", "instruction", "select", "the", "specified", "FP", "immediate", "natively", "."], "TS_V_token": ["ARM", "ARM", "MVT::f16", "ARM_AM::getFP16Imm", "1", "MVT::f32", "ARM_AM::getFP32Imm", "1", "MVT::f64", "ARM_AM::getFP64Imm", "1"], "File": "ARMISelLowering (2)6", "Func": "isFPImmLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10911, "Length": 103} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalInterleavedAccessType", "(", "unsigned", "Factor", ",", "VectorType", "*", "VecTy", ",", "const", "DataLayout", "&", "DL", ")", "const", "{", "unsigned", "VecSize", "=", "DL", ".", "getTypeSizeInBits", "(", "VecTy", ")", ";", "unsigned", "ElSize", "=", "DL", ".", "getTypeSizeInBits", "(", "VecTy", "->", "getElementType", "(", ")", ")", ";", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "VecTy", "->", "getElementType", "(", ")", "->", "isHalfTy", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "Factor", "==", "3", ")", "return", "false", ";", "if", "(", "VecTy", "->", "getNumElements", "(", ")", "<", "2", ")", "return", "false", ";", "if", "(", "ElSize", "!=", "8", "&&", "ElSize", "!=", "16", "&&", "ElSize", "!=", "32", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "VecSize", "==", "64", ")", "return", "true", ";", "return", "VecSize", "%", "128", "==", "0", ";", "}", ""], "natrual_language": ["Returns", "whether", "or", "not", "generating", "a", "interleaved", "load/store", "intrinsic", "for", "this", "type", "will", "be", "legal", "."], "TS_V_token": ["ARM", "ARM", "3", "2", "8", "16", "32", "64", "128", "0"], "File": "ARMISelLowering (2)6", "Func": "isLegalInterleavedAccessType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10912, "Length": 151} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "ArrayRef", "<", "int", ">", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", "&&", "(", "Subtarget", "->", "hasNEON", "(", ")", "||", "isLegalMVEShuffleOp", "(", "PFEntry", ")", ")", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ",", "isV_UNDEF", ";", "unsigned", "Imm", ",", "WhichResult", ";", "unsigned", "EltSize", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "if", "(", "EltSize", ">=", "32", "||", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "ShuffleVectorInst", "::", "isIdentityMask", "(", "M", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", ")", "return", "true", ";", "else", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTBLMask", "(", "M", ",", "VT", ")", "||", "isNEONTwoResultShuffleMask", "(", "M", ",", "VT", ",", "WhichResult", ",", "isV_UNDEF", ")", ")", ")", "return", "true", ";", "else", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "VT", "==", "MVT", "::", "v8i16", "||", "VT", "==", "MVT", "::", "v16i8", ")", "&&", "isReverseMask", "(", "M", ",", "VT", ")", ")", "return", "true", ";", "else", "if", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "(", "isVMOVNMask", "(", "M", ",", "VT", ",", "0", ")", "||", "isVMOVNMask", "(", "M", ",", "VT", ",", "1", ")", ")", ")", "return", "true", ";", "else", "return", "false", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "32", "0", "64", "32", "16", "MVT::v8i16", "MVT::v16i8", "0", "1"], "File": "ARMISelLowering (2)6", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10913, "Length": 353} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isVectorLoadExtDesirable", "(", "SDValue", "ExtVal", ")", "const", "{", "EVT", "VT", "=", "ExtVal", ".", "getValueType", "(", ")", ";", "if", "(", "!", "isTypeLegal", "(", "VT", ")", ")", "return", "false", ";", "if", "(", "auto", "*", "Ld", "=", "dyn_cast", "<", "MaskedLoadSDNode", ">", "(", "ExtVal", ".", "getOperand", "(", "0", ")", ")", ")", "{", "if", "(", "Ld", "->", "isExpandingLoad", "(", ")", ")", "return", "false", ";", "}", "if", "(", "ExtVal", "->", "use_empty", "(", ")", "||", "!", "ExtVal", "->", "use_begin", "(", ")", "->", "isOnlyUserOf", "(", "ExtVal", ".", "getNode", "(", ")", ")", ")", "return", "true", ";", "SDNode", "*", "U", "=", "*", "ExtVal", "->", "use_begin", "(", ")", ";", "if", "(", "(", "U", "->", "getOpcode", "(", ")", "==", "ISD", "::", "ADD", "||", "U", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SUB", "||", "U", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SHL", "||", "U", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "VSHLIMM", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "folding", "a", "vector", "load", "into", "ExtVal", "(", "a", "sign", ",", "zero", ",", "or", "any", "extend", "node", ")", "is", "profitable", "."], "TS_V_token": ["ARM", "ARM", "0", "ISD::ADD", "ISD::SUB", "ISD::SHL", "ARMISD::VSHLIMM"], "File": "ARMISelLowering (2)6", "Func": "isVectorLoadExtDesirable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10914, "Length": 151} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "mayBeEmittedAsTailCall", "(", "const", "CallInst", "*", "CI", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "supportsTailCall", "(", ")", ")", "return", "false", ";", "auto", "Attr", "=", "CI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getFnAttribute", "(", "\"disable-tail-calls\"", ")", ";", "if", "(", "!", "CI", "->", "isTailCall", "(", ")", "||", "Attr", ".", "getValueAsString", "(", ")", "==", "\"true\"", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "may", "be", "able", "emit", "the", "call", "instruction", "as", "a", "tail", "call", "."], "TS_V_token": ["ARM", "ARM", "\"disable-tail-calls\"", "\"true\""], "File": "ARMISelLowering (2)6", "Func": "mayBeEmittedAsTailCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10915, "Length": 66} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SHL", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SDIVREM", ":", "case", "ISD", "::", "UDIVREM", ":", "Res", "=", "LowerDivRem", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ")", ";", "assert", "(", "Res", ".", "getNumOperands", "(", ")", "==", "2", "&&", "\"DivRem needs two values\"", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "0", ")", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "1", ")", ")", ";", "return", ";", "case", "ISD", "::", "SADDSAT", ":", "case", "ISD", "::", "SSUBSAT", ":", "Res", "=", "LowerSADDSUBSAT", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "UDIV", ":", "case", "ISD", "::", "SDIV", ":", "assert", "(", "Subtarget", "->", "isTargetWindows", "(", ")", "&&", "\"can only expand DIV on Windows\"", ")", ";", "return", "ExpandDIV_Windows", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SDIV", ",", "Results", ")", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceCMP_SWAP_64Results", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "ReplaceLongIntrinsic", "(", "N", ",", "Results", ",", "DAG", ")", ";", "case", "ISD", "::", "ABS", ":", "lowerABS", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SHL", "ISD::SREM", "ISD::UREM", "ISD::SDIVREM", "ISD::UDIVREM", "0", "2", "\"DivRem needs two values\"", "0", "1", "ISD::SADDSAT", "ISD::SSUBSAT", "0", "ISD::READCYCLECOUNTER", "ISD::UDIV", "ISD::SDIV", "\"can only expand DIV on Windows\"", "0", "ISD::SDIV", "ISD::ATOMIC_CMP_SWAP", "ISD::INTRINSIC_WO_CHAIN", "ISD::ABS"], "File": "ARMISelLowering (2)6", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10916, "Length": 343} {"ground_truth": ["", "TargetLowering", "::", "AtomicExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicCmpXchgInIR", "(", "AtomicCmpXchgInst", "*", "AI", ")", "const", "{", "bool", "HasAtomicCmpXchg", "=", "!", "Subtarget", "->", "isThumb", "(", ")", "||", "Subtarget", "->", "hasV8MBaselineOps", "(", ")", ";", "if", "(", "getTargetMachine", "(", ")", ".", "getOptLevel", "(", ")", "!=", "0", "&&", "HasAtomicCmpXchg", ")", "return", "AtomicExpansionKind", "::", "LLSC", ";", "return", "AtomicExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "atomic", "cmpxchg", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMISelLowering (2)6", "Func": "shouldExpandAtomicCmpXchgInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10917, "Length": 54} {"ground_truth": ["", "TargetLowering", "::", "AtomicExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicRMWInIR", "(", "AtomicRMWInst", "*", "AI", ")", "const", "{", "if", "(", "AI", "->", "isFloatingPointOperation", "(", ")", ")", "return", "AtomicExpansionKind", "::", "CmpXChg", ";", "unsigned", "Size", "=", "AI", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "bool", "hasAtomicRMW", "=", "!", "Subtarget", "->", "isThumb", "(", ")", "||", "Subtarget", "->", "hasV8MBaselineOps", "(", ")", ";", "return", "(", "Size", "<=", "(", "Subtarget", "->", "isMClass", "(", ")", "?", "32U", ":", "64U", ")", "&&", "hasAtomicRMW", ")", "?", "AtomicExpansionKind", "::", "LLSC", ":", "AtomicExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "IR-level", "AtomicExpand", "pass", "should", "expand", "the", "given", "AtomicRMW", ",", "if", "at", "all", "."], "TS_V_token": ["ARM", "ARM", "32U", "64U"], "File": "ARMISelLowering (2)6", "Func": "shouldExpandAtomicRMWInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10918, "Length": 83} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldSinkOperands", "(", "Instruction", "*", "I", ",", "SmallVectorImpl", "<", "Use", "*", ">", "&", "Ops", ")", "const", "{", "if", "(", "!", "I", "->", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "switch", "(", "I", "->", "getOpcode", "(", ")", ")", "{", "case", "Instruction", "::", "Sub", ":", "case", "Instruction", "::", "Add", ":", "{", "if", "(", "!", "areExtractExts", "(", "I", "->", "getOperand", "(", "0", ")", ",", "I", "->", "getOperand", "(", "1", ")", ")", ")", "return", "false", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "0", ")", ")", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "1", ")", ")", ";", "return", "true", ";", "}", "default", ":", "return", "false", ";", "}", "}", "if", "(", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "auto", "IsSinker", "=", "[", "]", "(", "Instruction", "*", "I", ",", "int", "Operand", ")", "{", "switch", "(", "I", "->", "getOpcode", "(", ")", ")", "{", "case", "Instruction", "::", "Add", ":", "case", "Instruction", "::", "Mul", ":", "return", "true", ";", "case", "Instruction", "::", "Sub", ":", "case", "Instruction", "::", "Shl", ":", "case", "Instruction", "::", "LShr", ":", "case", "Instruction", "::", "AShr", ":", "return", "Operand", "==", "1", ";", "default", ":", "return", "false", ";", "}", "}", ";", "int", "Op", "=", "0", ";", "if", "(", "!", "isa", "<", "ShuffleVectorInst", ">", "(", "I", "->", "getOperand", "(", "Op", ")", ")", ")", "Op", "=", "1", ";", "if", "(", "!", "IsSinker", "(", "I", ",", "Op", ")", ")", "return", "false", ";", "if", "(", "!", "match", "(", "I", "->", "getOperand", "(", "Op", ")", ",", "m_ShuffleVector", "(", "m_InsertElement", "(", "m_Undef", "(", ")", ",", "m_Value", "(", ")", ",", "m_ZeroInt", "(", ")", ")", ",", "m_Undef", "(", ")", ",", "m_Zero", "(", ")", ")", ")", ")", "{", "return", "false", ";", "}", "Instruction", "*", "Shuffle", "=", "cast", "<", "Instruction", ">", "(", "I", "->", "getOperand", "(", "Op", ")", ")", ";", "for", "(", "Use", "&", "U", ":", "Shuffle", "->", "uses", "(", ")", ")", "{", "Instruction", "*", "Insn", "=", "cast", "<", "Instruction", ">", "(", "U", ".", "getUser", "(", ")", ")", ";", "if", "(", "!", "IsSinker", "(", "Insn", ",", "U", ".", "getOperandNo", "(", ")", ")", ")", "return", "false", ";", "}", "Ops", ".", "push_back", "(", "&", "Shuffle", "->", "getOperandUse", "(", "0", ")", ")", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "Op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "sinking", "I", "'s", "operands", "to", "the", "same", "basic", "block", "as", "I", "is", "profitable", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "1", "1", "0", "1", "0"], "File": "ARMISelLowering (2)6", "Func": "shouldSinkOperands", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10919, "Length": 381} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "AdjustInstrPostInstrSelection", "(", "MachineInstr", "*", "MI", ",", "SDNode", "*", "Node", ")", "const", "{", "if", "(", "!", "MI", "->", "hasPostISelHook", "(", ")", ")", "{", "assert", "(", "!", "convertAddSubFlagsOpcode", "(", "MI", "->", "getOpcode", "(", ")", ")", "&&", "\"Pseudo flag-setting opcodes must be marked with 'hasPostISelHook'\"", ")", ";", "return", ";", "}", "const", "MCInstrDesc", "*", "MCID", "=", "&", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "NewOpc", "=", "convertAddSubFlagsOpcode", "(", "MI", "->", "getOpcode", "(", ")", ")", ";", "if", "(", "NewOpc", ")", "{", "const", "ARMBaseInstrInfo", "*", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "getTargetMachine", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "MCID", "=", "&", "TII", "->", "get", "(", "NewOpc", ")", ";", "assert", "(", "MCID", "->", "getNumOperands", "(", ")", "==", "MI", "->", "getDesc", "(", ")", ".", "getNumOperands", "(", ")", "+", "1", "&&", "\"converted opcode should be the same except for cc_out\"", ")", ";", "MI", "->", "setDesc", "(", "*", "MCID", ")", ";", "MI", "->", "addOperand", "(", "MachineOperand", "::", "CreateReg", "(", "0", ",", "true", ")", ")", ";", "}", "unsigned", "ccOutIdx", "=", "MCID", "->", "getNumOperands", "(", ")", "-", "1", ";", "if", "(", "!", "MI", "->", "hasOptionalDef", "(", ")", "||", "!", "MCID", "->", "OpInfo", "[", "ccOutIdx", "]", ".", "isOptionalDef", "(", ")", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "bool", "definesCPSR", "=", "false", ";", "bool", "deadCPSR", "=", "false", ";", "for", "(", "unsigned", "i", "=", "MCID", "->", "getNumOperands", "(", ")", ",", "e", "=", "MI", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isReg", "(", ")", "&&", "MO", ".", "isDef", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", ")", "{", "definesCPSR", "=", "true", ";", "if", "(", "MO", ".", "isDead", "(", ")", ")", "deadCPSR", "=", "true", ";", "MI", "->", "RemoveOperand", "(", "i", ")", ";", "break", ";", "}", "}", "if", "(", "!", "definesCPSR", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "assert", "(", "deadCPSR", "==", "!", "Node", "->", "hasAnyUseOfValue", "(", "1", ")", "&&", "\"inconsistent dead flag\"", ")", ";", "if", "(", "deadCPSR", ")", "{", "assert", "(", "!", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ".", "getReg", "(", ")", "&&", "\"expect uninitialized optional cc_out operand\"", ")", ";", "return", ";", "}", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ";", "MO", ".", "setReg", "(", "ARM", "::", "CPSR", ")", ";", "MO", ".", "setIsDef", "(", "true", ")", ";", "}", ""], "natrual_language": ["This", "method", "should", "be", "implemented", "by", "targets", "that", "mark", "instructions", "with", "the", "'hasPostISelHook", "'", "flag", "."], "TS_V_token": ["ARM", "ARM", "\"Pseudo flag-setting opcodes must be marked with 'hasPostISelHook'\"", "ARM", "ARM", "1", "\"converted opcode should be the same except for cc_out\"", "0", "1", "\"Optional cc_out operand required\"", "ARM::CPSR", "\"Optional cc_out operand required\"", "1", "\"inconsistent dead flag\"", "\"expect uninitialized optional cc_out operand\"", "ARM::CPSR"], "File": "ARMISelLowering (2)", "Func": "AdjustInstrPostInstrSelection", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10920, "Length": 379} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "allowTruncateForTailCall", "(", "Type", "*", "Ty1", ",", "Type", "*", "Ty2", ")", "const", "{", "if", "(", "!", "Ty1", "->", "isIntegerTy", "(", ")", "||", "!", "Ty2", "->", "isIntegerTy", "(", ")", ")", "return", "false", ";", "if", "(", "!", "isTypeLegal", "(", "EVT", "::", "getEVT", "(", "Ty1", ")", ")", ")", "return", "false", ";", "assert", "(", "Ty1", "->", "getPrimitiveSizeInBits", "(", ")", "<=", "64", "&&", "\"i128 is probably not a noop\"", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "a", "truncation", "from", "FromTy", "to", "ToTy", "is", "permitted", "when", "deciding", "whether", "a", "call", "is", "in", "tail", "position", "."], "TS_V_token": ["ARM", "ARM", "64", "\"i128 is probably not a noop\""], "File": "ARMISelLowering (2)", "Func": "allowTruncateForTailCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10921, "Length": 67} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "CanLowerReturn", "(", "CallingConv", "::", "ID", "CallConv", ",", "MachineFunction", "&", "MF", ",", "bool", "isVarArg", ",", "const", "SmallVectorImpl", "<", "ISD", "::", "OutputArg", ">", "&", "Outs", ",", "LLVMContext", "&", "Context", ")", "const", "{", "SmallVector", "<", "CCValAssign", ",", "16", ">", "RVLocs", ";", "CCState", "CCInfo", "(", "CallConv", ",", "isVarArg", ",", "MF", ",", "getTargetMachine", "(", ")", ",", "RVLocs", ",", "Context", ")", ";", "return", "CCInfo", ".", "CheckReturn", "(", "Outs", ",", "CCAssignFnForNode", "(", "CallConv", ",", "true", ",", "isVarArg", ")", ")", ";", "}", ""], "natrual_language": ["This", "hook", "should", "be", "implemented", "to", "check", "whether", "the", "return", "values", "described", "by", "the", "Outs", "array", "can", "fit", "into", "the", "return", "registers", "."], "TS_V_token": ["ARM", "ARM", "ISD::OutputArg", "16"], "File": "ARMISelLowering (2)", "Func": "CanLowerReturn", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10922, "Length": 77} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "computeKnownBitsForTargetNode", "(", "const", "SDValue", "Op", ",", "APInt", "&", "KnownZero", ",", "APInt", "&", "KnownOne", ",", "const", "SelectionDAG", "&", "DAG", ",", "unsigned", "Depth", ")", "const", "{", "unsigned", "BitWidth", "=", "KnownOne", ".", "getBitWidth", "(", ")", ";", "KnownZero", "=", "KnownOne", "=", "APInt", "(", "BitWidth", ",", "0", ")", ";", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARMISD", "::", "ADDC", ":", "case", "ARMISD", "::", "ADDE", ":", "case", "ARMISD", "::", "SUBC", ":", "case", "ARMISD", "::", "SUBE", ":", "if", "(", "Op", ".", "getResNo", "(", ")", "==", "0", ")", "break", ";", "KnownZero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "1", ")", ";", "break", ";", "case", "ARMISD", "::", "CMOV", ":", "{", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "0", ")", ",", "KnownZero", ",", "KnownOne", ",", "Depth", "+", "1", ")", ";", "if", "(", "KnownZero", "==", "0", "&&", "KnownOne", "==", "0", ")", "return", ";", "APInt", "KnownZeroRHS", ",", "KnownOneRHS", ";", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "1", ")", ",", "KnownZeroRHS", ",", "KnownOneRHS", ",", "Depth", "+", "1", ")", ";", "KnownZero", "&=", "KnownZeroRHS", ";", "KnownOne", "&=", "KnownOneRHS", ";", "return", ";", "}", "case", "ISD", "::", "INTRINSIC_W_CHAIN", ":", "{", "ConstantSDNode", "*", "CN", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", "->", "getOperand", "(", "1", ")", ")", ";", "Intrinsic", "::", "ID", "IntID", "=", "static_cast", "<", "Intrinsic", "::", "ID", ">", "(", "CN", "->", "getZExtValue", "(", ")", ")", ";", "switch", "(", "IntID", ")", "{", "default", ":", "return", ";", "case", "Intrinsic", "::", "arm_ldaex", ":", "case", "Intrinsic", "::", "arm_ldrex", ":", "{", "EVT", "VT", "=", "cast", "<", "MemIntrinsicSDNode", ">", "(", "Op", ")", "->", "getMemoryVT", "(", ")", ";", "unsigned", "MemBits", "=", "VT", ".", "getScalarType", "(", ")", ".", "getSizeInBits", "(", ")", ";", "KnownZero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "MemBits", ")", ";", "return", ";", "}", "}", "}", "}", "}", ""], "natrual_language": ["Determine", "which", "of", "the", "bits", "specified", "in", "Mask", "are", "known", "to", "be", "either", "zero", "or", "one", "and", "return", "them", "in", "the", "KnownZero/KnownOne", "bitsets", "."], "TS_V_token": ["ARM", "ARM", "0", "ARMISD::ADDC", "ARMISD::ADDE", "ARMISD::SUBC", "ARMISD::SUBE", "0", "1", "ARMISD::CMOV", "0", "1", "0", "0", "1", "1", "ISD::INTRINSIC_W_CHAIN", "1", "Intrinsic::ID", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex"], "File": "ARMISelLowering (2)", "Func": "computeKnownBitsForTargetNode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10923, "Length": 291} {"ground_truth": ["", "FastISel", "*", "ARMTargetLowering", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ",", "const", "TargetLibraryInfo", "*", "libInfo", ")", "const", "{", "return", "ARM", "::", "createFastISel", "(", "funcInfo", ",", "libInfo", ")", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM", "ARM::createFastISel"], "File": "ARMISelLowering (2)", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10924, "Length": 28} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitLoadLinked", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "Type", "*", "ValTy", "=", "cast", "<", "PointerType", ">", "(", "Addr", "->", "getType", "(", ")", ")", "->", "getElementType", "(", ")", ";", "bool", "IsAcquire", "=", "Ord", "==", "Acquire", "||", "Ord", "==", "AcquireRelease", "||", "Ord", "==", "SequentiallyConsistent", ";", "if", "(", "ValTy", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaexd", ":", "Intrinsic", "::", "arm_ldrexd", ";", "Function", "*", "Ldrex", "=", "llvm", "::", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "Value", "*", "LoHi", "=", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ",", "\"lohi\"", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "0", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "1", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Lo", "=", "Builder", ".", "CreateZExt", "(", "Lo", ",", "ValTy", ",", "\"lo64\"", ")", ";", "Hi", "=", "Builder", ".", "CreateZExt", "(", "Hi", ",", "ValTy", ",", "\"hi64\"", ")", ";", "return", "Builder", ".", "CreateOr", "(", "Lo", ",", "Builder", ".", "CreateShl", "(", "Hi", ",", "ConstantInt", "::", "get", "(", "ValTy", ",", "32", ")", ")", ",", "\"val64\"", ")", ";", "}", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaex", ":", "Intrinsic", "::", "arm_ldrex", ";", "Function", "*", "Ldrex", "=", "llvm", "::", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateTruncOrBitCast", "(", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ")", ",", "cast", "<", "PointerType", ">", "(", "Addr", "->", "getType", "(", ")", ")", "->", "getElementType", "(", ")", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "load-linked", "operation", "on", "Addr", ",", "returning", "a", "``", "Value", "*", "''", "with", "the", "corresponding", "pointee", "type", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_ldaexd", "Intrinsic::arm_ldrexd", "Intrinsic::getDeclaration", "\"lohi\"", "0", "\"lo\"", "1", "\"hi\"", "\"lo64\"", "\"hi64\"", "32", "\"val64\"", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex", "Intrinsic::getDeclaration"], "File": "ARMISelLowering (2)", "Func": "emitLoadLinked", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10925, "Length": 329} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitStoreConditional", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Value", "*", "Val", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "bool", "IsRelease", "=", "Ord", "==", "Release", "||", "Ord", "==", "AcquireRelease", "||", "Ord", "==", "SequentiallyConsistent", ";", "if", "(", "Val", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlexd", ":", "Intrinsic", "::", "arm_strexd", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Type", "*", "Int32Ty", "=", "Type", "::", "getInt32Ty", "(", "M", "->", "getContext", "(", ")", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateTrunc", "(", "Val", ",", "Int32Ty", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateTrunc", "(", "Builder", ".", "CreateLShr", "(", "Val", ",", "32", ")", ",", "Int32Ty", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "return", "Builder", ".", "CreateCall3", "(", "Strex", ",", "Lo", ",", "Hi", ",", "Addr", ")", ";", "}", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlex", ":", "Intrinsic", "::", "arm_strex", ";", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateCall2", "(", "Strex", ",", "Builder", ".", "CreateZExtOrBitCast", "(", "Val", ",", "Strex", "->", "getFunctionType", "(", ")", "->", "getParamType", "(", "0", ")", ")", ",", "Addr", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "store-conditional", "operation", "to", "Addr", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_stlexd", "Intrinsic::arm_strexd", "Intrinsic::getDeclaration", "\"lo\"", "32", "\"hi\"", "Intrinsic::ID", "Intrinsic::arm_stlex", "Intrinsic::arm_strex", "Intrinsic::getDeclaration", "0"], "File": "ARMISelLowering (2)", "Func": "emitStoreConditional", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10926, "Length": 279} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "ExpandInlineAsm", "(", "CallInst", "*", "CI", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasV6Ops", "(", ")", ")", "return", "false", ";", "InlineAsm", "*", "IA", "=", "cast", "<", "InlineAsm", ">", "(", "CI", "->", "getCalledValue", "(", ")", ")", ";", "std", "::", "string", "AsmStr", "=", "IA", "->", "getAsmString", "(", ")", ";", "SmallVector", "<", "StringRef", ",", "4", ">", "AsmPieces", ";", "SplitString", "(", "AsmStr", ",", "AsmPieces", ",", "\";\\n\"", ")", ";", "switch", "(", "AsmPieces", ".", "size", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "1", ":", "AsmStr", "=", "AsmPieces", "[", "0", "]", ";", "AsmPieces", ".", "clear", "(", ")", ";", "SplitString", "(", "AsmStr", ",", "AsmPieces", ",", "\" \\t,\"", ")", ";", "if", "(", "AsmPieces", ".", "size", "(", ")", "==", "3", "&&", "AsmPieces", "[", "0", "]", "==", "\"rev\"", "&&", "AsmPieces", "[", "1", "]", "==", "\"$0\"", "&&", "AsmPieces", "[", "2", "]", "==", "\"$1\"", "&&", "IA", "->", "getConstraintString", "(", ")", ".", "compare", "(", "0", ",", "4", ",", "\"=l,l\"", ")", "==", "0", ")", "{", "IntegerType", "*", "Ty", "=", "dyn_cast", "<", "IntegerType", ">", "(", "CI", "->", "getType", "(", ")", ")", ";", "if", "(", "Ty", "&&", "Ty", "->", "getBitWidth", "(", ")", "==", "32", ")", "return", "IntrinsicLowering", "::", "LowerToByteSwap", "(", "CI", ")", ";", "}", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["This", "hook", "allows", "the", "target", "to", "expand", "an", "inline", "asm", "call", "to", "be", "explicit", "llvm", "code", "if", "it", "wants", "to", "."], "TS_V_token": ["ARM", "ARM", "4", "\";\\n\"", "1", "0", "\" \\t,\"", "3", "0", "\"rev\"", "1", "\"$0\"", "2", "\"$1\"", "0", "4", "\"=l,l\"", "0", "32"], "File": "ARMISelLowering (2)", "Func": "ExpandInlineAsm", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10927, "Length": 199} {"ground_truth": ["", "std", "::", "pair", "<", "const", "TargetRegisterClass", "*", ",", "uint8_t", ">", "ARMTargetLowering", "::", "findRepresentativeClass", "(", "MVT", "VT", ")", "const", "{", "const", "TargetRegisterClass", "*", "RRC", "=", "nullptr", ";", "uint8_t", "Cost", "=", "1", ";", "switch", "(", "VT", ".", "SimpleTy", ")", "{", "default", ":", "return", "TargetLowering", "::", "findRepresentativeClass", "(", "VT", ")", ";", "case", "MVT", "::", "f32", ":", "case", "MVT", "::", "f64", ":", "case", "MVT", "::", "v8i8", ":", "case", "MVT", "::", "v4i16", ":", "case", "MVT", "::", "v2i32", ":", "case", "MVT", "::", "v1i64", ":", "case", "MVT", "::", "v2f32", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "if", "(", "Subtarget", "->", "useNEONForSinglePrecisionFP", "(", ")", ")", "Cost", "=", "2", ";", "break", ";", "case", "MVT", "::", "v16i8", ":", "case", "MVT", "::", "v8i16", ":", "case", "MVT", "::", "v4i32", ":", "case", "MVT", "::", "v2i64", ":", "case", "MVT", "::", "v4f32", ":", "case", "MVT", "::", "v2f64", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "Cost", "=", "2", ";", "break", ";", "case", "MVT", "::", "v4i64", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "Cost", "=", "4", ";", "break", ";", "case", "MVT", "::", "v8i64", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "Cost", "=", "8", ";", "break", ";", "}", "return", "std", "::", "make_pair", "(", "RRC", ",", "Cost", ")", ";", "}", ""], "natrual_language": ["Return", "the", "largest", "legal", "super-reg", "register", "class", "of", "the", "register", "class", "for", "the", "specified", "type", "and", "its", "associated", "``", "cost", "''", "."], "TS_V_token": ["ARM", "ARM", "1", "MVT::f32", "MVT::f64", "MVT::v8i8", "MVT::v4i16", "MVT::v2i32", "MVT::v1i64", "MVT::v2f32", "ARM::DPRRegClass", "2", "MVT::v16i8", "MVT::v8i16", "MVT::v4i32", "MVT::v2i64", "MVT::v4f32", "MVT::v2f64", "ARM::DPRRegClass", "2", "MVT::v4i64", "ARM::DPRRegClass", "4", "MVT::v8i64", "ARM::DPRRegClass", "8"], "File": "ARMISelLowering (2)", "Func": "findRepresentativeClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10928, "Length": 195} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "functionArgumentNeedsConsecutiveRegisters", "(", "Type", "*", "Ty", ",", "CallingConv", "::", "ID", "CallConv", ",", "bool", "isVarArg", ")", "const", "{", "if", "(", "getEffectiveCallingConv", "(", "CallConv", ",", "isVarArg", ")", "!=", "CallingConv", "::", "ARM_AAPCS_VFP", ")", "return", "false", ";", "HABaseType", "Base", "=", "HA_UNKNOWN", ";", "uint64_t", "Members", "=", "0", ";", "bool", "result", "=", "isHomogeneousAggregate", "(", "Ty", ",", "Base", ",", "Members", ")", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"isHA: \"", "<<", "result", "<<", "\" \"", ";", "Ty", "->", "dump", "(", ")", ";", "dbgs", "(", ")", "<<", "\"\\n\"", ")", ";", "return", "result", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "an", "argument", "of", "type", "Ty", "needs", "to", "be", "passed", "in", "a", "contiguous", "block", "of", "registers", "in", "calling", "convention", "CallConv", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "\"isHA: \"", "\" \"", "\"\\n\""], "File": "ARMISelLowering (2)", "Func": "functionArgumentNeedsConsecutiveRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10929, "Length": 86} {"ground_truth": ["", "ARMTargetLowering", "::", "ConstraintType", "ARMTargetLowering", "::", "getConstraintType", "(", "const", "std", "::", "string", "&", "Constraint", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "default", ":", "break", ";", "case", "'l'", ":", "return", "C_RegisterClass", ";", "case", "'w'", ":", "return", "C_RegisterClass", ";", "case", "'h'", ":", "return", "C_RegisterClass", ";", "case", "'x'", ":", "return", "C_RegisterClass", ";", "case", "'t'", ":", "return", "C_RegisterClass", ";", "case", "'j'", ":", "return", "C_Other", ";", "case", "'Q'", ":", "return", "C_Memory", ";", "}", "}", "else", "if", "(", "Constraint", ".", "size", "(", ")", "==", "2", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "default", ":", "break", ";", "case", "'U'", ":", "return", "C_Memory", ";", "}", "}", "return", "TargetLowering", "::", "getConstraintType", "(", "Constraint", ")", ";", "}", ""], "natrual_language": ["Given", "a", "constraint", "letter", ",", "return", "the", "type", "of", "constraint", "for", "this", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "1", "0", "2", "0"], "File": "ARMISelLowering (2)", "Func": "getConstraintType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10930, "Length": 124} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getJumpTableEncoding", "(", ")", "const", "{", "return", "MachineJumpTableInfo", "::", "EK_Inline", ";", "}", ""], "natrual_language": ["Return", "the", "entry", "encoding", "for", "a", "jump", "table", "in", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)", "Func": "getJumpTableEncoding", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10931, "Length": 14} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "uint64_t", "Size", ",", "unsigned", "DstAlign", ",", "unsigned", "SrcAlign", ",", "bool", "IsMemset", ",", "bool", "ZeroMemset", ",", "bool", "MemcpyStrSrc", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "if", "(", "(", "!", "IsMemset", "||", "ZeroMemset", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "F", "->", "getAttributes", "(", ")", ".", "hasAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "Attribute", "::", "NoImplicitFloat", ")", ")", "{", "bool", "Fast", ";", "if", "(", "Size", ">=", "16", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "16", ")", "||", "(", "allowsUnalignedMemoryAccesses", "(", "MVT", "::", "v2f64", ",", "0", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "v2f64", ";", "}", "else", "if", "(", "Size", ">=", "8", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "8", ")", "||", "(", "allowsUnalignedMemoryAccesses", "(", "MVT", "::", "f64", ",", "0", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "f64", ";", "}", "}", "if", "(", "Size", ">=", "4", ")", "return", "MVT", "::", "i32", ";", "else", "if", "(", "Size", ">=", "2", ")", "return", "MVT", "::", "i16", ";", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v2f64", "0", "MVT::v2f64", "8", "8", "MVT::f64", "0", "MVT::f64", "4", "MVT::i32", "2", "MVT::i16", "MVT::Other"], "File": "ARMISelLowering (2)", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10932, "Length": 188} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPostIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDNode", "*", "Op", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "EVT", "VT", ";", "SDValue", "Ptr", ";", "bool", "isSEXTLoad", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "if", "(", "!", "isLegal", ")", "return", "false", ";", "if", "(", "Ptr", "!=", "Base", ")", "{", "if", "(", "Ptr", "==", "Offset", "&&", "Op", "->", "getOpcode", "(", ")", "==", "ISD", "::", "ADD", "&&", "!", "Subtarget", "->", "isThumb2", "(", ")", ")", "std", "::", "swap", "(", "Base", ",", "Offset", ")", ";", "if", "(", "Ptr", "!=", "Base", ")", "return", "false", ";", "}", "AM", "=", "isInc", "?", "ISD", "::", "POST_INC", ":", "ISD", "::", "POST_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "this", "node", "can", "be", "combined", "with", "a", "load", "/", "store", "to", "form", "a", "post-indexed", "load", "/", "store", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::SEXTLOAD", "ARM", "ISD::ADD", "ISD::POST_INC", "ISD::POST_DEC"], "File": "ARMISelLowering (2)", "Func": "getPostIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10933, "Length": 264} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPreIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "EVT", "VT", ";", "SDValue", "Ptr", ";", "bool", "isSEXTLoad", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "if", "(", "!", "isLegal", ")", "return", "false", ";", "AM", "=", "isInc", "?", "ISD", "::", "PRE_INC", ":", "ISD", "::", "PRE_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "the", "node", "'s", "address", "can", "be", "legally", "represented", "as", "pre-indexed", "load", "/", "store", "address", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::SEXTLOAD", "ARM", "ISD::PRE_INC", "ISD::PRE_DEC"], "File": "ARMISelLowering (2)", "Func": "getPreIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10934, "Length": 219} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMTargetLowering", "::", "getRegClassFor", "(", "MVT", "VT", ")", "const", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "if", "(", "VT", "==", "MVT", "::", "v4i64", ")", "return", "&", "ARM", "::", "QQPRRegClass", ";", "if", "(", "VT", "==", "MVT", "::", "v8i64", ")", "return", "&", "ARM", "::", "QQQQPRRegClass", ";", "}", "return", "TargetLowering", "::", "getRegClassFor", "(", "VT", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "class", "that", "should", "be", "used", "for", "the", "specified", "value", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::v4i64", "ARM::QQPRRegClass", "MVT::v8i64", "ARM::QQQQPRRegClass"], "File": "ARMISelLowering (2)", "Func": "getRegClassFor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10935, "Length": 59} {"ground_truth": ["", "RCPair", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "std", "::", "string", "&", "Constraint", ",", "MVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'h'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "hGPRRegClass", ")", ";", "break", ";", "case", "'r'", ":", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPRRegClass", ")", ";", "break", ";", "case", "'x'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_8RegClass", ")", ";", "break", ";", "case", "'t'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "break", ";", "}", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_lower", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "unsigned", "(", "ARM", "::", "CPSR", ")", ",", "&", "ARM", "::", "CCRRegClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "0U", "ARM::hGPRRegClass", "0U", "ARM::GPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPRRegClass", "128", "0U", "ARM::QPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPR_8RegClass", "64", "0U", "ARM::DPR_8RegClass", "128", "0U", "ARM::QPR_8RegClass", "MVT::f32", "0U", "ARM::SPRRegClass", "\"{cc}\"", "ARM::CPSR", "ARM::CCRRegClass"], "File": "ARMISelLowering (2)", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10936, "Length": 326} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getRegisterByName", "(", "const", "char", "*", "RegName", ",", "EVT", "VT", ")", "const", "{", "unsigned", "Reg", "=", "StringSwitch", "<", "unsigned", ">", "(", "RegName", ")", ".", "Case", "(", "\"sp\"", ",", "ARM", "::", "SP", ")", ".", "Default", "(", "0", ")", ";", "if", "(", "Reg", ")", "return", "Reg", ";", "report_fatal_error", "(", "\"Invalid register name global variable\"", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "ID", "of", "the", "name", "passed", "in", "."], "TS_V_token": ["ARM", "ARM", "\"sp\"", "ARM::SP", "0", "\"Invalid register name global variable\""], "File": "ARMISelLowering (2)", "Func": "getRegisterByName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10937, "Length": 53} {"ground_truth": ["", "Sched", "::", "Preference", "ARMTargetLowering", "::", "getSchedulingPreference", "(", "SDNode", "*", "N", ")", "const", "{", "unsigned", "NumVals", "=", "N", "->", "getNumValues", "(", ")", ";", "if", "(", "!", "NumVals", ")", "return", "Sched", "::", "RegPressure", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumVals", ";", "++", "i", ")", "{", "EVT", "VT", "=", "N", "->", "getValueType", "(", "i", ")", ";", "if", "(", "VT", "==", "MVT", "::", "Glue", "||", "VT", "==", "MVT", "::", "Other", ")", "continue", ";", "if", "(", "VT", ".", "isFloatingPoint", "(", ")", "||", "VT", ".", "isVector", "(", ")", ")", "return", "Sched", "::", "ILP", ";", "}", "if", "(", "!", "N", "->", "isMachineOpcode", "(", ")", ")", "return", "Sched", "::", "RegPressure", ";", "const", "TargetInstrInfo", "*", "TII", "=", "getTargetMachine", "(", ")", ".", "getInstrInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "TII", "->", "get", "(", "N", "->", "getMachineOpcode", "(", ")", ")", ";", "if", "(", "MCID", ".", "getNumDefs", "(", ")", "==", "0", ")", "return", "Sched", "::", "RegPressure", ";", "if", "(", "!", "Itins", "->", "isEmpty", "(", ")", "&&", "Itins", "->", "getOperandCycle", "(", "MCID", ".", "getSchedClass", "(", ")", ",", "0", ")", ">", "2", ")", "return", "Sched", "::", "ILP", ";", "return", "Sched", "::", "RegPressure", ";", "}", ""], "natrual_language": ["Some", "scheduler", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "MVT::Glue", "MVT::Other", "0", "0", "2"], "File": "ARMISelLowering (2)", "Func": "getSchedulingPreference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10938, "Length": 186} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getSetCCResultType", "(", "LLVMContext", "&", ",", "EVT", "VT", ")", "const", "{", "if", "(", "!", "VT", ".", "isVector", "(", ")", ")", "return", "getPointerTy", "(", ")", ";", "return", "VT", ".", "changeVectorElementTypeToInteger", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "value", "type", "to", "use", "for", "ISD", ":", ":SETCC", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)", "Func": "getSetCCResultType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10939, "Length": 35} {"ground_truth": ["", "TargetLowering", "::", "ConstraintWeight", "ARMTargetLowering", "::", "getSingleConstraintMatchWeight", "(", "AsmOperandInfo", "&", "info", ",", "const", "char", "*", "constraint", ")", "const", "{", "ConstraintWeight", "weight", "=", "CW_Invalid", ";", "Value", "*", "CallOperandVal", "=", "info", ".", "CallOperandVal", ";", "if", "(", "!", "CallOperandVal", ")", "return", "CW_Default", ";", "Type", "*", "type", "=", "CallOperandVal", "->", "getType", "(", ")", ";", "switch", "(", "*", "constraint", ")", "{", "default", ":", "weight", "=", "TargetLowering", "::", "getSingleConstraintMatchWeight", "(", "info", ",", "constraint", ")", ";", "break", ";", "case", "'l'", ":", "if", "(", "type", "->", "isIntegerTy", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "weight", "=", "CW_SpecificReg", ";", "else", "weight", "=", "CW_Register", ";", "}", "break", ";", "case", "'w'", ":", "if", "(", "type", "->", "isFloatingPointTy", "(", ")", ")", "weight", "=", "CW_Register", ";", "break", ";", "}", "return", "weight", ";", "}", ""], "natrual_language": ["Examine", "constraint", "string", "and", "operand", "type", "and", "determine", "a", "weight", "value", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)", "Func": "getSingleConstraintMatchWeight", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10940, "Length": 124} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "HandleByVal", "(", "CCState", "*", "State", ",", "unsigned", "&", "size", ",", "unsigned", "Align", ")", "const", "{", "unsigned", "reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "assert", "(", "(", "State", "->", "getCallOrPrologue", "(", ")", "==", "Prologue", "||", "State", "->", "getCallOrPrologue", "(", ")", "==", "Call", ")", "&&", "\"unhandled ParmContext\"", ")", ";", "if", "(", "(", "ARM", "::", "R0", "<=", "reg", ")", "&&", "(", "reg", "<=", "ARM", "::", "R3", ")", ")", "{", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "&&", "Align", ">", "4", ")", "{", "unsigned", "AlignInRegs", "=", "Align", "/", "4", ";", "unsigned", "Waste", "=", "(", "ARM", "::", "R4", "-", "reg", ")", "%", "AlignInRegs", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Waste", ";", "++", "i", ")", "reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "}", "if", "(", "reg", "!=", "0", ")", "{", "unsigned", "excess", "=", "4", "*", "(", "ARM", "::", "R4", "-", "reg", ")", ";", "const", "unsigned", "NSAAOffset", "=", "State", "->", "getNextStackOffset", "(", ")", ";", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "&&", "NSAAOffset", "!=", "0", "&&", "size", ">", "excess", ")", "{", "while", "(", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ")", ";", "return", ";", "}", "unsigned", "ByValRegBegin", "=", "reg", ";", "unsigned", "ByValRegEnd", "=", "(", "size", "<", "excess", ")", "?", "reg", "+", "size", "/", "4", ":", "(", "unsigned", ")", "ARM", "::", "R4", ";", "State", "->", "addInRegsParamInfo", "(", "ByValRegBegin", ",", "ByValRegEnd", ")", ";", "for", "(", "unsigned", "i", "=", "reg", "+", "1", ";", "i", "!=", "ByValRegEnd", ";", "++", "i", ")", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "if", "(", "size", "<", "excess", ")", "size", "=", "0", ";", "else", "size", "-=", "excess", ";", "}", "}", "}", ""], "natrual_language": ["Target-specific", "cleanup", "for", "formal", "ByVal", "parameters", "."], "TS_V_token": ["ARM", "ARM", "4", "\"unhandled ParmContext\"", "ARM::R0", "ARM::R3", "4", "4", "ARM::R4", "0", "4", "0", "4", "ARM::R4", "0", "4", "4", "ARM::R4", "1", "4", "0"], "File": "ARMISelLowering (2)", "Func": "HandleByVal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10941, "Length": 272} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isDesirableToTransformToIntegerOp", "(", "unsigned", "Opc", ",", "EVT", "VT", ")", "const", "{", "return", "(", "VT", "==", "MVT", "::", "f32", ")", "&&", "(", "Opc", "==", "ISD", "::", "LOAD", "||", "Opc", "==", "ISD", "::", "STORE", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "is", "profitable", "for", "dag", "combiner", "to", "transform", "a", "floating", "point", "op", "of", "specified", "opcode", "to", "a", "equivalent", "op", "of", "an", "integer", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::f32", "ISD::LOAD", "ISD::STORE"], "File": "ARMISelLowering (2)", "Func": "isDesirableToTransformToIntegerOp", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10942, "Length": 37} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isFPImmLegal", "(", "const", "APFloat", "&", "Imm", ",", "EVT", "VT", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasVFP3", "(", ")", ")", "return", "false", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "ARM_AM", "::", "getFP32Imm", "(", "Imm", ")", "!=", "-", "1", ";", "if", "(", "VT", "==", "MVT", "::", "f64", ")", "return", "ARM_AM", "::", "getFP64Imm", "(", "Imm", ")", "!=", "-", "1", ";", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "can", "instruction", "select", "the", "specified", "FP", "immediate", "natively", "."], "TS_V_token": ["ARM", "ARM", "MVT::f32", "ARM_AM::getFP32Imm", "1", "MVT::f64", "ARM_AM::getFP64Imm", "1"], "File": "ARMISelLowering (2)", "Func": "isFPImmLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10943, "Length": 69} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalAddImmediate", "(", "int64_t", "Imm", ")", "const", "{", "int64_t", "AbsImm", "=", "llvm", "::", "abs64", "(", "Imm", ")", ";", "if", "(", "!", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "ARM_AM", "::", "getSOImmVal", "(", "AbsImm", ")", "!=", "-", "1", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "ARM_AM", "::", "getT2SOImmVal", "(", "AbsImm", ")", "!=", "-", "1", ";", "return", "AbsImm", ">=", "0", "&&", "AbsImm", "<=", "255", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "immediate", "is", "legal", "add", "immediate", ",", "that", "is", "the", "target", "has", "add", "instructions", "which", "can", "add", "a", "register", "and", "the", "immediate", "without", "having", "to", "materialize", "the", "immediate", "into", "a", "register", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::getSOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "0", "255"], "File": "ARMISelLowering (2)", "Func": "isLegalAddImmediate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10944, "Length": 69} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalAddressingMode", "(", "const", "AddrMode", "&", "AM", ",", "Type", "*", "Ty", ")", "const", "{", "EVT", "VT", "=", "getValueType", "(", "Ty", ",", "true", ")", ";", "if", "(", "!", "isLegalAddressImmediate", "(", "AM", ".", "BaseOffs", ",", "VT", ",", "Subtarget", ")", ")", "return", "false", ";", "if", "(", "AM", ".", "BaseGV", ")", "return", "false", ";", "switch", "(", "AM", ".", "Scale", ")", "{", "case", "0", ":", "break", ";", "case", "1", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "default", ":", "if", "(", "AM", ".", "BaseOffs", ")", "return", "false", ";", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "isLegalT2ScaledAddressingMode", "(", "AM", ",", "VT", ")", ";", "int", "Scale", "=", "AM", ".", "Scale", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i1", ":", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i32", ":", "if", "(", "Scale", "<", "0", ")", "Scale", "=", "-", "Scale", ";", "if", "(", "Scale", "==", "1", ")", "return", "true", ";", "return", "isPowerOf2_32", "(", "Scale", "&", "~", "1", ")", ";", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i64", ":", "if", "(", "(", "(", "unsigned", ")", "AM", ".", "HasBaseReg", "+", "Scale", ")", "<=", "2", ")", "return", "true", ";", "return", "false", ";", "case", "MVT", "::", "isVoid", ":", "if", "(", "Scale", "&", "1", ")", "return", "false", ";", "return", "isPowerOf2_32", "(", "Scale", ")", ";", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["isLegalAddressingMode", "-", "Return", "true", "if", "the", "addressing", "mode", "represented", "by", "AM", "is", "legal", "for", "this", "target", ",", "for", "a", "load/store", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "MVT::i1", "MVT::i8", "MVT::i32", "0", "1", "1", "MVT::i16", "MVT::i64", "2", "MVT::isVoid", "1"], "File": "ARMISelLowering (2)", "Func": "isLegalAddressingMode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10945, "Length": 241} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalICmpImmediate", "(", "int64_t", "Imm", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "ARM_AM", "::", "getSOImmVal", "(", "llvm", "::", "abs64", "(", "Imm", ")", ")", "!=", "-", "1", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "ARM_AM", "::", "getT2SOImmVal", "(", "llvm", "::", "abs64", "(", "Imm", ")", ")", "!=", "-", "1", ";", "return", "Imm", ">=", "0", "&&", "Imm", "<=", "255", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "immediate", "is", "legal", "icmp", "immediate", ",", "that", "is", "the", "target", "has", "icmp", "instructions", "which", "can", "compare", "a", "register", "against", "the", "immediate", "without", "having", "to", "materialize", "the", "immediate", "into", "a", "register", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::getSOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "0", "255"], "File": "ARMISelLowering (2)", "Func": "isLegalICmpImmediate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10946, "Length": 69} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isOffsetFoldingLegal", "(", "const", "GlobalAddressSDNode", "*", "GA", ")", "const", "{", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "folding", "a", "constant", "offset", "with", "the", "given", "GlobalAddress", "is", "legal", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)", "Func": "isOffsetFoldingLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10947, "Length": 16} {"ground_truth": ["", "static", "bool", "isReverseMask", "(", "ArrayRef", "<", "int", ">", "M", ",", "EVT", "VT", ")", "{", "unsigned", "NumElts", "=", "VT", ".", "getVectorNumElements", "(", ")", ";", "if", "(", "NumElts", "!=", "M", ".", "size", "(", ")", ")", "return", "false", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumElts", ";", "++", "i", ")", "if", "(", "M", "[", "i", "]", ">=", "0", "&&", "M", "[", "i", "]", "!=", "(", "int", ")", "(", "NumElts", "-", "1", "-", "i", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "this", "shuffle", "mask", "swaps", "the", "order", "of", "elements", "from", "exactly", "one", "source", "vector", "."], "TS_V_token": ["ARM", "0", "0", "1"], "File": "ARMISelLowering (2)", "Func": "isReverseMask", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10948, "Length": 82} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "const", "SmallVectorImpl", "<", "int", ">", "&", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ";", "unsigned", "Imm", ",", "WhichResult", ";", "unsigned", "EltSize", "=", "VT", ".", "getVectorElementType", "(", ")", ".", "getSizeInBits", "(", ")", ";", "return", "(", "EltSize", ">=", "32", "||", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", "||", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTBLMask", "(", "M", ",", "VT", ")", "||", "isVTRNMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVUZPMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVZIPMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVTRN_v_undef_Mask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVUZP_v_undef_Mask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVZIP_v_undef_Mask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "(", "(", "VT", "==", "MVT", "::", "v8i16", "||", "VT", "==", "MVT", "::", "v16i8", ")", "&&", "isReverseMask", "(", "M", ",", "VT", ")", ")", ")", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "32", "0", "64", "32", "16", "MVT::v8i16", "MVT::v16i8"], "File": "ARMISelLowering (2)", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10949, "Length": 318} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isUsedByReturnOnly", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Chain", ")", "const", "{", "if", "(", "N", "->", "getNumValues", "(", ")", "!=", "1", ")", "return", "false", ";", "if", "(", "!", "N", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "SDValue", "TCChain", "=", "Chain", ";", "SDNode", "*", "Copy", "=", "*", "N", "->", "use_begin", "(", ")", ";", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ISD", "::", "CopyToReg", ")", "{", "if", "(", "Copy", "->", "getOperand", "(", "Copy", "->", "getNumOperands", "(", ")", "-", "1", ")", ".", "getValueType", "(", ")", "==", "MVT", "::", "Glue", ")", "return", "false", ";", "TCChain", "=", "Copy", "->", "getOperand", "(", "0", ")", ";", "}", "else", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "VMOVRRD", ")", "{", "SDNode", "*", "VMov", "=", "Copy", ";", "SmallPtrSet", "<", "SDNode", "*", ",", "2", ">", "Copies", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "VMov", "->", "use_begin", "(", ")", ",", "UE", "=", "VMov", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "if", "(", "UI", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", ")", "return", "false", ";", "Copies", ".", "insert", "(", "*", "UI", ")", ";", "}", "if", "(", "Copies", ".", "size", "(", ")", ">", "2", ")", "return", "false", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "VMov", "->", "use_begin", "(", ")", ",", "UE", "=", "VMov", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "SDValue", "UseChain", "=", "UI", "->", "getOperand", "(", "0", ")", ";", "if", "(", "Copies", ".", "count", "(", "UseChain", ".", "getNode", "(", ")", ")", ")", "Copy", "=", "*", "UI", ";", "else", "TCChain", "=", "UseChain", ";", "}", "}", "else", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ISD", "::", "BITCAST", ")", "{", "if", "(", "!", "Copy", "->", "hasOneUse", "(", ")", ")", "return", "false", ";", "Copy", "=", "*", "Copy", "->", "use_begin", "(", ")", ";", "if", "(", "Copy", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", "||", "!", "Copy", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "TCChain", "=", "Copy", "->", "getOperand", "(", "0", ")", ";", "}", "else", "{", "return", "false", ";", "}", "bool", "HasRet", "=", "false", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "Copy", "->", "use_begin", "(", ")", ",", "UE", "=", "Copy", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "if", "(", "UI", "->", "getOpcode", "(", ")", "!=", "ARMISD", "::", "RET_FLAG", "&&", "UI", "->", "getOpcode", "(", ")", "!=", "ARMISD", "::", "INTRET_FLAG", ")", "return", "false", ";", "HasRet", "=", "true", ";", "}", "if", "(", "!", "HasRet", ")", "return", "false", ";", "Chain", "=", "TCChain", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "result", "of", "the", "specified", "node", "is", "used", "by", "a", "return", "node", "only", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0", "ISD::CopyToReg", "1", "MVT::Glue", "0", "ARMISD::VMOVRRD", "2", "ISD::CopyToReg", "2", "0", "ISD::BITCAST", "ISD::CopyToReg", "1", "0", "0", "ARMISD::RET_FLAG", "ARMISD::INTRET_FLAG"], "File": "ARMISelLowering (2)", "Func": "isUsedByReturnOnly", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10950, "Length": 423} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isZExtFree", "(", "SDValue", "Val", ",", "EVT", "VT2", ")", "const", "{", "if", "(", "Val", ".", "getOpcode", "(", ")", "!=", "ISD", "::", "LOAD", ")", "return", "false", ";", "EVT", "VT1", "=", "Val", ".", "getValueType", "(", ")", ";", "if", "(", "!", "VT1", ".", "isSimple", "(", ")", "||", "!", "VT1", ".", "isInteger", "(", ")", "||", "!", "VT2", ".", "isSimple", "(", ")", "||", "!", "VT2", ".", "isInteger", "(", ")", ")", "return", "false", ";", "switch", "(", "VT1", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "break", ";", "case", "MVT", "::", "i1", ":", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i16", ":", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "zero-extending", "the", "specific", "node", "Val", "to", "type", "VT2", "is", "free", "(", "either", "because", "it", "'s", "implicitly", "zero-extended", "such", "as", "ARM", "ldrb", "/", "ldrh", "or", "because", "it", "'s", "folded", "such", "as", "X86", "zero-extending", "loads", ")", "."], "TS_V_token": ["ARM", "ARM", "ISD::LOAD", "MVT::i1", "MVT::i8", "MVT::i16"], "File": "ARMISelLowering (2)", "Func": "isZExtFree", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10951, "Length": 108} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "mayBeEmittedAsTailCall", "(", "CallInst", "*", "CI", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "supportsTailCall", "(", ")", ")", "return", "false", ";", "if", "(", "!", "CI", "->", "isTailCall", "(", ")", "||", "getTargetMachine", "(", ")", ".", "Options", ".", "DisableTailCalls", ")", "return", "false", ";", "return", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "may", "be", "able", "emit", "the", "call", "instruction", "as", "a", "tail", "call", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (2)", "Func": "mayBeEmittedAsTailCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10952, "Length": 52} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformCMOVCombine", "(", "SDNode", "*", "N", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Cmp", "=", "N", "->", "getOperand", "(", "4", ")", ";", "if", "(", "Cmp", ".", "getOpcode", "(", ")", "!=", "ARMISD", "::", "CMPZ", ")", "return", "SDValue", "(", ")", ";", "EVT", "VT", "=", "N", "->", "getValueType", "(", "0", ")", ";", "SDLoc", "dl", "(", "N", ")", ";", "SDValue", "LHS", "=", "Cmp", ".", "getOperand", "(", "0", ")", ";", "SDValue", "RHS", "=", "Cmp", ".", "getOperand", "(", "1", ")", ";", "SDValue", "FalseVal", "=", "N", "->", "getOperand", "(", "0", ")", ";", "SDValue", "TrueVal", "=", "N", "->", "getOperand", "(", "1", ")", ";", "SDValue", "ARMcc", "=", "N", "->", "getOperand", "(", "2", ")", ";", "ARMCC", "::", "CondCodes", "CC", "=", "(", "ARMCC", "::", "CondCodes", ")", "cast", "<", "ConstantSDNode", ">", "(", "ARMcc", ")", "->", "getZExtValue", "(", ")", ";", "SDValue", "Res", ";", "if", "(", "CC", "==", "ARMCC", "::", "NE", "&&", "FalseVal", "==", "RHS", "&&", "FalseVal", "!=", "LHS", ")", "{", "Res", "=", "DAG", ".", "getNode", "(", "ARMISD", "::", "CMOV", ",", "dl", ",", "VT", ",", "LHS", ",", "TrueVal", ",", "ARMcc", ",", "N", "->", "getOperand", "(", "3", ")", ",", "Cmp", ")", ";", "}", "else", "if", "(", "CC", "==", "ARMCC", "::", "EQ", "&&", "TrueVal", "==", "RHS", ")", "{", "SDValue", "ARMcc", ";", "SDValue", "NewCmp", "=", "getARMCmp", "(", "LHS", ",", "RHS", ",", "ISD", "::", "SETNE", ",", "ARMcc", ",", "DAG", ",", "dl", ")", ";", "Res", "=", "DAG", ".", "getNode", "(", "ARMISD", "::", "CMOV", ",", "dl", ",", "VT", ",", "LHS", ",", "FalseVal", ",", "ARMcc", ",", "N", "->", "getOperand", "(", "3", ")", ",", "NewCmp", ")", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "{", "APInt", "KnownZero", ",", "KnownOne", ";", "DAG", ".", "computeKnownBits", "(", "SDValue", "(", "N", ",", "0", ")", ",", "KnownZero", ",", "KnownOne", ")", ";", "if", "(", "KnownZero", "==", "0xfffffffe", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i1", ")", ")", ";", "else", "if", "(", "KnownZero", "==", "0xffffff00", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i8", ")", ")", ";", "else", "if", "(", "KnownZero", "==", "0xffff0000", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i16", ")", ")", ";", "}", "return", "Res", ";", "}", ""], "natrual_language": ["PerformCMOVCombine", "-", "Target-specific", "DAG", "combining", "for", "ARMISD", ":", ":CMOV", "."], "TS_V_token": ["ARM", "ARM", "4", "ARMISD::CMPZ", "0", "0", "1", "0", "1", "ARM", "2", "ARMCC::CondCodes", "ARMCC::CondCodes", "ARM", "ARMCC::NE", "ARMISD::CMOV", "ARM", "3", "ARMCC::EQ", "ARM", "ARM", "ISD::SETNE", "ARM", "ARMISD::CMOV", "ARM", "3", "0", "0xfffffffe", "ISD::AssertZext", "MVT::i32", "MVT::i1", "0xffffff00", "ISD::AssertZext", "MVT::i32", "MVT::i8", "0xffff0000", "ISD::AssertZext", "MVT::i32", "MVT::i16"], "File": "ARMISelLowering (2)", "Func": "PerformCMOVCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10953, "Length": 388} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::READCYCLECOUNTER"], "File": "ARMISelLowering (2)", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10954, "Length": 115} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldConvertConstantLoadToIntImm", "(", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "const", "{", "assert", "(", "Ty", "->", "isIntegerTy", "(", ")", ")", ";", "unsigned", "Bits", "=", "Ty", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "Bits", "==", "0", "||", "Bits", ">", "32", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "it", "is", "beneficial", "to", "convert", "a", "load", "of", "a", "constant", "to", "just", "the", "constant", "itself", "."], "TS_V_token": ["ARM", "ARM", "0", "32"], "File": "ARMISelLowering (2)", "Func": "shouldConvertConstantLoadToIntImm", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10955, "Length": 51} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "allowsMisalignedMemoryAccesses", "(", "EVT", "VT", ",", "unsigned", ",", "unsigned", ",", "bool", "*", "Fast", ")", "const", "{", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "bool", "AllowsUnaligned", "=", "Subtarget", "->", "allowsUnalignedMem", "(", ")", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i32", ":", "{", "if", "(", "AllowsUnaligned", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", "case", "MVT", "::", "f64", ":", "case", "MVT", "::", "v2f64", ":", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "AllowsUnaligned", "||", "Subtarget", "->", "isLittle", "(", ")", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "return", "false", ";", "}", "}", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "allows", "unaligned", "memory", "accesses", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::i8", "MVT::i16", "MVT::i32", "MVT::f64", "MVT::v2f64"], "File": "ARMISelLowering (3)", "Func": "allowsMisalignedMemoryAccesses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10956, "Length": 146} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "BuildSDIVPow2", "(", "SDNode", "*", "N", ",", "const", "APInt", "&", "Divisor", ",", "SelectionDAG", "&", "DAG", ",", "SmallVectorImpl", "<", "SDNode", "*", ">", "&", "Created", ")", "const", "{", "if", "(", "N", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "SDIV", ")", "return", "SDValue", "(", ")", ";", "const", "auto", "&", "ST", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "DAG", ".", "getSubtarget", "(", ")", ")", ";", "const", "auto", "&", "MF", "=", "DAG", ".", "getMachineFunction", "(", ")", ";", "const", "bool", "MinSize", "=", "MF", ".", "getFunction", "(", ")", ".", "optForMinSize", "(", ")", ";", "const", "bool", "HasDivide", "=", "ST", ".", "isThumb", "(", ")", "?", "ST", ".", "hasDivideInThumbMode", "(", ")", ":", "ST", ".", "hasDivideInARMMode", "(", ")", ";", "if", "(", "N", "->", "getOperand", "(", "0", ")", ".", "getValueType", "(", ")", ".", "isVector", "(", ")", ")", "return", "SDValue", "(", ")", ";", "if", "(", "!", "(", "MinSize", "&&", "HasDivide", ")", ")", "return", "SDValue", "(", ")", ";", "if", "(", "!", "ST", ".", "isThumb", "(", ")", ")", "return", "SDValue", "(", "N", ",", "0", ")", ";", "if", "(", "Divisor", ".", "sgt", "(", "128", ")", ")", "return", "SDValue", "(", ")", ";", "return", "SDValue", "(", "N", ",", "0", ")", ";", "}", ""], "natrual_language": ["Targets", "may", "override", "this", "function", "to", "provide", "custom", "SDIV", "lowering", "for", "power-of-2", "denominators", "."], "TS_V_token": ["ARM", "ARM", "ISD::SDIV", "ARM", "ARM", "0", "0", "128", "0"], "File": "ARMISelLowering (3)", "Func": "BuildSDIVPow2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10957, "Length": 187} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getABIAlignmentForCallingConv", "(", "Type", "*", "ArgTy", ",", "DataLayout", "DL", ")", "const", "{", "if", "(", "!", "ArgTy", "->", "isVectorTy", "(", ")", ")", "return", "DL", ".", "getABITypeAlignment", "(", "ArgTy", ")", ";", "return", "std", "::", "min", "(", "DL", ".", "getABITypeAlignment", "(", "ArgTy", ")", ",", "DL", ".", "getStackAlignment", "(", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "correct", "alignment", "for", "the", "current", "calling", "convention", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering (3)", "Func": "getABIAlignmentForCallingConv", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10958, "Length": 51} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "uint64_t", "Size", ",", "unsigned", "DstAlign", ",", "unsigned", "SrcAlign", ",", "bool", "IsMemset", ",", "bool", "ZeroMemset", ",", "bool", "MemcpyStrSrc", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "Function", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "if", "(", "(", "!", "IsMemset", "||", "ZeroMemset", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "F", ".", "hasFnAttribute", "(", "Attribute", "::", "NoImplicitFloat", ")", ")", "{", "bool", "Fast", ";", "if", "(", "Size", ">=", "16", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "16", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "v2f64", ",", "0", ",", "1", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "v2f64", ";", "}", "else", "if", "(", "Size", ">=", "8", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "8", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "f64", ",", "0", ",", "1", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "f64", ";", "}", "}", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v2f64", "0", "1", "MVT::v2f64", "8", "8", "MVT::f64", "0", "1", "MVT::f64", "MVT::Other"], "File": "ARMISelLowering (3)", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10959, "Length": 161} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPostIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDNode", "*", "Op", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "EVT", "VT", ";", "SDValue", "Ptr", ";", "bool", "isSEXTLoad", "=", "false", ",", "isNonExt", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "isNonExt", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "NON_EXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "isNonExt", "=", "!", "ST", "->", "isTruncatingStore", "(", ")", ";", "}", "else", "return", "false", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "{", "assert", "(", "Op", "->", "getValueType", "(", "0", ")", "==", "MVT", "::", "i32", "&&", "\"Non-i32 post-inc op?!\"", ")", ";", "if", "(", "Op", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "ADD", "||", "!", "isNonExt", ")", "return", "false", ";", "auto", "*", "RHS", "=", "dyn_cast", "<", "ConstantSDNode", ">", "(", "Op", "->", "getOperand", "(", "1", ")", ")", ";", "if", "(", "!", "RHS", "||", "RHS", "->", "getZExtValue", "(", ")", "!=", "4", ")", "return", "false", ";", "Offset", "=", "Op", "->", "getOperand", "(", "1", ")", ";", "Base", "=", "Op", "->", "getOperand", "(", "0", ")", ";", "AM", "=", "ISD", "::", "POST_INC", ";", "return", "true", ";", "}", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "if", "(", "!", "isLegal", ")", "return", "false", ";", "if", "(", "Ptr", "!=", "Base", ")", "{", "if", "(", "Ptr", "==", "Offset", "&&", "Op", "->", "getOpcode", "(", ")", "==", "ISD", "::", "ADD", "&&", "!", "Subtarget", "->", "isThumb2", "(", ")", ")", "std", "::", "swap", "(", "Base", ",", "Offset", ")", ";", "if", "(", "Ptr", "!=", "Base", ")", "return", "false", ";", "}", "AM", "=", "isInc", "?", "ISD", "::", "POST_INC", ":", "ISD", "::", "POST_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "this", "node", "can", "be", "combined", "with", "a", "load", "/", "store", "to", "form", "a", "post-indexed", "load", "/", "store", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::SEXTLOAD", "ISD::NON_EXTLOAD", "0", "MVT::i32", "\"Non-i32 post-inc op?!\"", "ISD::ADD", "1", "4", "1", "0", "ISD::POST_INC", "ARM", "ISD::ADD", "ISD::POST_INC", "ISD::POST_DEC"], "File": "ARMISelLowering (3)", "Func": "getPostIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10960, "Length": 380} {"ground_truth": ["", "RCPair", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "TargetRegisterInfo", "*", "TRI", ",", "StringRef", "Constraint", ",", "MVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'h'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "hGPRRegClass", ")", ";", "break", ";", "case", "'r'", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPRRegClass", ")", ";", "break", ";", "case", "'x'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_8RegClass", ")", ";", "break", ";", "case", "'t'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", "||", "VT", "==", "MVT", "::", "i32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_VFP2RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_VFP2RegClass", ")", ";", "break", ";", "}", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_lower", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "unsigned", "(", "ARM", "::", "CPSR", ")", ",", "&", "ARM", "::", "CCRRegClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "TRI", ",", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "0U", "ARM::hGPRRegClass", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPRRegClass", "128", "0U", "ARM::QPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPR_8RegClass", "64", "0U", "ARM::DPR_8RegClass", "128", "0U", "ARM::QPR_8RegClass", "MVT::Other", "MVT::f32", "MVT::i32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPR_VFP2RegClass", "128", "0U", "ARM::QPR_VFP2RegClass", "\"{cc}\"", "ARM::CPSR", "ARM::CCRRegClass"], "File": "ARMISelLowering (3)", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10961, "Length": 406} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "insertCopiesSplitCSR", "(", "MachineBasicBlock", "*", "Entry", ",", "const", "SmallVectorImpl", "<", "MachineBasicBlock", "*", ">", "&", "Exits", ")", "const", "{", "const", "ARMBaseRegisterInfo", "*", "TRI", "=", "Subtarget", "->", "getRegisterInfo", "(", ")", ";", "const", "MCPhysReg", "*", "IStart", "=", "TRI", "->", "getCalleeSavedRegsViaCopy", "(", "Entry", "->", "getParent", "(", ")", ")", ";", "if", "(", "!", "IStart", ")", "return", ";", "const", "TargetInstrInfo", "*", "TII", "=", "Subtarget", "->", "getInstrInfo", "(", ")", ";", "MachineRegisterInfo", "*", "MRI", "=", "&", "Entry", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "Entry", "->", "begin", "(", ")", ";", "for", "(", "const", "MCPhysReg", "*", "I", "=", "IStart", ";", "*", "I", ";", "++", "I", ")", "{", "const", "TargetRegisterClass", "*", "RC", "=", "nullptr", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "contains", "(", "*", "I", ")", ")", "RC", "=", "&", "ARM", "::", "GPRRegClass", ";", "else", "if", "(", "ARM", "::", "DPRRegClass", ".", "contains", "(", "*", "I", ")", ")", "RC", "=", "&", "ARM", "::", "DPRRegClass", ";", "else", "llvm_unreachable", "(", "\"Unexpected register class in CSRsViaCopy!\"", ")", ";", "unsigned", "NewVR", "=", "MRI", "->", "createVirtualRegister", "(", "RC", ")", ";", "assert", "(", "Entry", "->", "getParent", "(", ")", "->", "getFunction", "(", ")", ".", "hasFnAttribute", "(", "Attribute", "::", "NoUnwind", ")", "&&", "\"Function should be nounwind in insertCopiesSplitCSR!\"", ")", ";", "Entry", "->", "addLiveIn", "(", "*", "I", ")", ";", "BuildMI", "(", "*", "Entry", ",", "MBBI", ",", "DebugLoc", "(", ")", ",", "TII", "->", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "NewVR", ")", ".", "addReg", "(", "*", "I", ")", ";", "for", "(", "auto", "*", "Exit", ":", "Exits", ")", "BuildMI", "(", "*", "Exit", ",", "Exit", "->", "getFirstTerminator", "(", ")", ",", "DebugLoc", "(", ")", ",", "TII", "->", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "*", "I", ")", ".", "addReg", "(", "NewVR", ")", ";", "}", "}", ""], "natrual_language": ["Insert", "explicit", "copies", "in", "entry", "and", "exit", "blocks", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegClass", "ARM::GPRRegClass", "ARM::DPRRegClass", "ARM::DPRRegClass", "\"Unexpected register class in CSRsViaCopy!\"", "\"Function should be nounwind in insertCopiesSplitCSR!\""], "File": "ARMISelLowering (3)", "Func": "insertCopiesSplitCSR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10962, "Length": 271} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isDesirableToCommuteWithShift", "(", "const", "SDNode", "*", "N", ",", "CombineLevel", "Level", ")", "const", "{", "if", "(", "Level", "==", "BeforeLegalizeTypes", ")", "return", "true", ";", "if", "(", "Subtarget", "->", "isThumb", "(", ")", "&&", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "true", ";", "if", "(", "N", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "SHL", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "is", "profitable", "to", "move", "this", "shift", "by", "a", "constant", "amount", "through", "its", "operand", ",", "adjusting", "any", "immediate", "operands", "as", "necessary", "to", "preserve", "semantics", "."], "TS_V_token": ["ARM", "ARM", "ISD::SHL"], "File": "ARMISelLowering (3)", "Func": "isDesirableToCommuteWithShift", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10963, "Length": 60} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isFPImmLegal", "(", "const", "APFloat", "&", "Imm", ",", "EVT", "VT", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasVFP3", "(", ")", ")", "return", "false", ";", "if", "(", "VT", "==", "MVT", "::", "f16", "&&", "Subtarget", "->", "hasFullFP16", "(", ")", ")", "return", "ARM_AM", "::", "getFP16Imm", "(", "Imm", ")", "!=", "-", "1", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "ARM_AM", "::", "getFP32Imm", "(", "Imm", ")", "!=", "-", "1", ";", "if", "(", "VT", "==", "MVT", "::", "f64", "&&", "!", "Subtarget", "->", "isFPOnlySP", "(", ")", ")", "return", "ARM_AM", "::", "getFP64Imm", "(", "Imm", ")", "!=", "-", "1", ";", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "can", "instruction", "select", "the", "specified", "FP", "immediate", "natively", "."], "TS_V_token": ["ARM", "ARM", "MVT::f16", "ARM_AM::getFP16Imm", "1", "MVT::f32", "ARM_AM::getFP32Imm", "1", "MVT::f64", "ARM_AM::getFP64Imm", "1"], "File": "ARMISelLowering (3)", "Func": "isFPImmLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10964, "Length": 101} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalInterleavedAccessType", "(", "VectorType", "*", "VecTy", ",", "const", "DataLayout", "&", "DL", ")", "const", "{", "unsigned", "VecSize", "=", "DL", ".", "getTypeSizeInBits", "(", "VecTy", ")", ";", "unsigned", "ElSize", "=", "DL", ".", "getTypeSizeInBits", "(", "VecTy", "->", "getElementType", "(", ")", ")", ";", "if", "(", "VecTy", "->", "getElementType", "(", ")", "->", "isHalfTy", "(", ")", ")", "return", "false", ";", "if", "(", "VecTy", "->", "getNumElements", "(", ")", "<", "2", ")", "return", "false", ";", "if", "(", "ElSize", "!=", "8", "&&", "ElSize", "!=", "16", "&&", "ElSize", "!=", "32", ")", "return", "false", ";", "return", "VecSize", "==", "64", "||", "VecSize", "%", "128", "==", "0", ";", "}", ""], "natrual_language": ["Returns", "whether", "or", "not", "generating", "a", "interleaved", "load/store", "intrinsic", "for", "this", "type", "will", "be", "legal", "."], "TS_V_token": ["ARM", "ARM", "2", "8", "16", "32", "64", "128", "0"], "File": "ARMISelLowering (3)", "Func": "isLegalInterleavedAccessType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10965, "Length": 97} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "ArrayRef", "<", "int", ">", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ",", "isV_UNDEF", ";", "unsigned", "Imm", ",", "WhichResult", ";", "unsigned", "EltSize", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "return", "(", "EltSize", ">=", "32", "||", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", "||", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTBLMask", "(", "M", ",", "VT", ")", "||", "isNEONTwoResultShuffleMask", "(", "M", ",", "VT", ",", "WhichResult", ",", "isV_UNDEF", ")", "||", "(", "(", "VT", "==", "MVT", "::", "v8i16", "||", "VT", "==", "MVT", "::", "v16i8", ")", "&&", "isReverseMask", "(", "M", ",", "VT", ")", ")", ")", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "32", "0", "64", "32", "16", "MVT::v8i16", "MVT::v16i8"], "File": "ARMISelLowering (3)", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10966, "Length": 271} {"ground_truth": ["", "const", "char", "*", "ARMTargetLowering", "::", "LowerXConstraint", "(", "EVT", "ConstraintVT", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasVFP2", "(", ")", ")", "return", "\"r\"", ";", "if", "(", "ConstraintVT", ".", "isFloatingPoint", "(", ")", ")", "return", "\"w\"", ";", "if", "(", "ConstraintVT", ".", "isVector", "(", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "ConstraintVT", ".", "getSizeInBits", "(", ")", "==", "64", "||", "ConstraintVT", ".", "getSizeInBits", "(", ")", "==", "128", ")", ")", "return", "\"w\"", ";", "return", "\"r\"", ";", "}", ""], "natrual_language": ["Try", "to", "replace", "an", "X", "constraint", ",", "which", "matches", "anything", ",", "with", "another", "that", "has", "more", "specific", "requirements", "based", "on", "the", "type", "of", "the", "corresponding", "operand", "."], "TS_V_token": ["ARM", "ARM", "\"r\"", "\"w\"", "64", "128", "\"w\"", "\"r\""], "File": "ARMISelLowering (3)", "Func": "LowerXConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10967, "Length": 74} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SDIVREM", ":", "case", "ISD", "::", "UDIVREM", ":", "Res", "=", "LowerDivRem", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ")", ";", "assert", "(", "Res", ".", "getNumOperands", "(", ")", "==", "2", "&&", "\"DivRem needs two values\"", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "0", ")", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "1", ")", ")", ";", "return", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "UDIV", ":", "case", "ISD", "::", "SDIV", ":", "assert", "(", "Subtarget", "->", "isTargetWindows", "(", ")", "&&", "\"can only expand DIV on Windows\"", ")", ";", "return", "ExpandDIV_Windows", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SDIV", ",", "Results", ")", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceCMP_SWAP_64Results", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "ReplaceLongIntrinsic", "(", "N", ",", "Results", ",", "DAG", ")", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SREM", "ISD::UREM", "ISD::SDIVREM", "ISD::UDIVREM", "0", "2", "\"DivRem needs two values\"", "0", "1", "ISD::READCYCLECOUNTER", "ISD::UDIV", "ISD::SDIV", "\"can only expand DIV on Windows\"", "0", "ISD::SDIV", "ISD::ATOMIC_CMP_SWAP", "ISD::INTRINSIC_WO_CHAIN"], "File": "ARMISelLowering (3)", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10968, "Length": 294} {"ground_truth": ["", "TargetLowering", "::", "AtomicExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicRMWInIR", "(", "AtomicRMWInst", "*", "AI", ")", "const", "{", "unsigned", "Size", "=", "AI", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "bool", "hasAtomicRMW", "=", "!", "Subtarget", "->", "isThumb", "(", ")", "||", "Subtarget", "->", "hasV8MBaselineOps", "(", ")", ";", "return", "(", "Size", "<=", "(", "Subtarget", "->", "isMClass", "(", ")", "?", "32U", ":", "64U", ")", "&&", "hasAtomicRMW", ")", "?", "AtomicExpansionKind", "::", "LLSC", ":", "AtomicExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "IR-level", "AtomicExpand", "pass", "should", "expand", "the", "given", "AtomicRMW", ",", "if", "at", "all", "."], "TS_V_token": ["ARM", "ARM", "32U", "64U"], "File": "ARMISelLowering (3)", "Func": "shouldExpandAtomicRMWInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10969, "Length": 70} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "ArrayRef", "<", "int", ">", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", "&&", "(", "Subtarget", "->", "hasNEON", "(", ")", "||", "isLegalMVEShuffleOp", "(", "PFEntry", ")", ")", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ",", "isV_UNDEF", ";", "unsigned", "Imm", ",", "WhichResult", ";", "unsigned", "EltSize", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "if", "(", "EltSize", ">=", "32", "||", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "ShuffleVectorInst", "::", "isIdentityMask", "(", "M", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", ")", "return", "true", ";", "else", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTBLMask", "(", "M", ",", "VT", ")", "||", "isNEONTwoResultShuffleMask", "(", "M", ",", "VT", ",", "WhichResult", ",", "isV_UNDEF", ")", ")", ")", "return", "true", ";", "else", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "VT", "==", "MVT", "::", "v8i16", "||", "VT", "==", "MVT", "::", "v16i8", ")", "&&", "isReverseMask", "(", "M", ",", "VT", ")", ")", "return", "true", ";", "else", "if", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "(", "isVMOVNMask", "(", "M", ",", "VT", ",", "true", ",", "false", ")", "||", "isVMOVNMask", "(", "M", ",", "VT", ",", "false", ",", "false", ")", "||", "isVMOVNMask", "(", "M", ",", "VT", ",", "true", ",", "true", ")", ")", ")", "return", "true", ";", "else", "return", "false", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "32", "0", "64", "32", "16", "MVT::v8i16", "MVT::v16i8"], "File": "ARMISelLowering100", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10970, "Length": 368} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SHL", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SDIVREM", ":", "case", "ISD", "::", "UDIVREM", ":", "Res", "=", "LowerDivRem", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ")", ";", "assert", "(", "Res", ".", "getNumOperands", "(", ")", "==", "2", "&&", "\"DivRem needs two values\"", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "0", ")", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "1", ")", ")", ";", "return", ";", "case", "ISD", "::", "SADDSAT", ":", "case", "ISD", "::", "SSUBSAT", ":", "case", "ISD", "::", "UADDSAT", ":", "case", "ISD", "::", "USUBSAT", ":", "Res", "=", "LowerADDSUBSAT", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "UDIV", ":", "case", "ISD", "::", "SDIV", ":", "assert", "(", "Subtarget", "->", "isTargetWindows", "(", ")", "&&", "\"can only expand DIV on Windows\"", ")", ";", "return", "ExpandDIV_Windows", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SDIV", ",", "Results", ")", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceCMP_SWAP_64Results", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "ReplaceLongIntrinsic", "(", "N", ",", "Results", ",", "DAG", ")", ";", "case", "ISD", "::", "ABS", ":", "lowerABS", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "case", "ISD", "::", "LOAD", ":", "LowerLOAD", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "TRUNCATE", ":", "Res", "=", "LowerTruncate", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "Res", "=", "LowerVectorExtend", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SHL", "ISD::SREM", "ISD::UREM", "ISD::SDIVREM", "ISD::UDIVREM", "0", "2", "\"DivRem needs two values\"", "0", "1", "ISD::SADDSAT", "ISD::SSUBSAT", "ISD::UADDSAT", "ISD::USUBSAT", "0", "ISD::READCYCLECOUNTER", "ISD::UDIV", "ISD::SDIV", "\"can only expand DIV on Windows\"", "0", "ISD::SDIV", "ISD::ATOMIC_CMP_SWAP", "ISD::INTRINSIC_WO_CHAIN", "ISD::ABS", "ISD::LOAD", "ISD::TRUNCATE", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND"], "File": "ARMISelLowering100", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10971, "Length": 410} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "SimplifyDemandedBitsForTargetNode", "(", "SDValue", "Op", ",", "const", "APInt", "&", "OriginalDemandedBits", ",", "const", "APInt", "&", "OriginalDemandedElts", ",", "KnownBits", "&", "Known", ",", "TargetLoweringOpt", "&", "TLO", ",", "unsigned", "Depth", ")", "const", "{", "unsigned", "Opc", "=", "Op", ".", "getOpcode", "(", ")", ";", "switch", "(", "Opc", ")", "{", "case", "ARMISD", "::", "ASRL", ":", "case", "ARMISD", "::", "LSRL", ":", "{", "if", "(", "Op", ".", "getResNo", "(", ")", "==", "0", "&&", "!", "Op", "->", "hasAnyUseOfValue", "(", "1", ")", "&&", "isa", "<", "ConstantSDNode", ">", "(", "Op", "->", "getOperand", "(", "2", ")", ")", ")", "{", "unsigned", "ShAmt", "=", "Op", "->", "getConstantOperandVal", "(", "2", ")", ";", "if", "(", "ShAmt", "<", "32", "&&", "OriginalDemandedBits", ".", "isSubsetOf", "(", "APInt", "::", "getAllOnesValue", "(", "32", ")", "<<", "(", "32", "-", "ShAmt", ")", ")", ")", "return", "TLO", ".", "CombineTo", "(", "Op", ",", "TLO", ".", "DAG", ".", "getNode", "(", "ISD", "::", "SHL", ",", "SDLoc", "(", "Op", ")", ",", "MVT", "::", "i32", ",", "Op", ".", "getOperand", "(", "1", ")", ",", "TLO", ".", "DAG", ".", "getConstant", "(", "32", "-", "ShAmt", ",", "SDLoc", "(", "Op", ")", ",", "MVT", "::", "i32", ")", ")", ")", ";", "}", "break", ";", "}", "}", "return", "TargetLowering", "::", "SimplifyDemandedBitsForTargetNode", "(", "Op", ",", "OriginalDemandedBits", ",", "OriginalDemandedElts", ",", "Known", ",", "TLO", ",", "Depth", ")", ";", "}", ""], "natrual_language": ["Attempt", "to", "simplify", "any", "target", "nodes", "based", "on", "the", "demanded", "bits/elts", ",", "returning", "true", "on", "success", "."], "TS_V_token": ["ARM", "ARM", "ARMISD::ASRL", "ARMISD::LSRL", "0", "1", "2", "2", "32", "32", "32", "ISD::SHL", "MVT::i32", "1", "32", "MVT::i32"], "File": "ARMISelLowering100", "Func": "SimplifyDemandedBitsForTargetNode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10972, "Length": 201} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getABIAlignmentForCallingConv", "(", "Type", "*", "ArgTy", ",", "DataLayout", "DL", ")", "const", "{", "if", "(", "!", "ArgTy", "->", "isVectorTy", "(", ")", ")", "return", "DL", ".", "getABITypeAlignment", "(", "ArgTy", ")", ";", "return", "std", "::", "min", "(", "DL", ".", "getABITypeAlignment", "(", "ArgTy", ")", ",", "(", "unsigned", ")", "DL", ".", "getStackAlignment", "(", ")", ".", "value", "(", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "correct", "alignment", "for", "the", "current", "calling", "convention", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering101", "Func": "getABIAlignmentForCallingConv", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10973, "Length": 58} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getMaxSupportedInterleaveFactor", "(", ")", "const", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "return", "4", ";", "return", "TargetLoweringBase", "::", "getMaxSupportedInterleaveFactor", "(", ")", ";", "}", ""], "natrual_language": ["Get", "the", "maximum", "supported", "factor", "for", "interleaved", "memory", "accesses", "."], "TS_V_token": ["ARM", "ARM", "4"], "File": "ARMISelLowering101", "Func": "getMaxSupportedInterleaveFactor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10974, "Length": 27} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPostIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDNode", "*", "Op", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "EVT", "VT", ";", "SDValue", "Ptr", ";", "unsigned", "Align", ";", "bool", "isSEXTLoad", "=", "false", ",", "isNonExt", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "Align", "=", "LD", "->", "getAlignment", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "isNonExt", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "NON_EXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "Align", "=", "ST", "->", "getAlignment", "(", ")", ";", "isNonExt", "=", "!", "ST", "->", "isTruncatingStore", "(", ")", ";", "}", "else", "return", "false", ";", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "{", "assert", "(", "Op", "->", "getValueType", "(", "0", ")", "==", "MVT", "::", "i32", "&&", "\"Non-i32 post-inc op?!\"", ")", ";", "if", "(", "Op", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "ADD", "||", "!", "isNonExt", ")", "return", "false", ";", "auto", "*", "RHS", "=", "dyn_cast", "<", "ConstantSDNode", ">", "(", "Op", "->", "getOperand", "(", "1", ")", ")", ";", "if", "(", "!", "RHS", "||", "RHS", "->", "getZExtValue", "(", ")", "!=", "4", ")", "return", "false", ";", "Offset", "=", "Op", "->", "getOperand", "(", "1", ")", ";", "Base", "=", "Op", "->", "getOperand", "(", "0", ")", ";", "AM", "=", "ISD", "::", "POST_INC", ";", "return", "true", ";", "}", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "VT", ".", "isVector", "(", ")", ")", "isLegal", "=", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "getMVEIndexedAddressParts", "(", "Op", ",", "VT", ",", "Align", ",", "isSEXTLoad", ",", "Subtarget", "->", "isLittle", "(", ")", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "{", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "}", "if", "(", "!", "isLegal", ")", "return", "false", ";", "if", "(", "Ptr", "!=", "Base", ")", "{", "if", "(", "Ptr", "==", "Offset", "&&", "Op", "->", "getOpcode", "(", ")", "==", "ISD", "::", "ADD", "&&", "!", "Subtarget", "->", "isThumb2", "(", ")", ")", "std", "::", "swap", "(", "Base", ",", "Offset", ")", ";", "if", "(", "Ptr", "!=", "Base", ")", "return", "false", ";", "}", "AM", "=", "isInc", "?", "ISD", "::", "POST_INC", ":", "ISD", "::", "POST_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "this", "node", "can", "be", "combined", "with", "a", "load", "/", "store", "to", "form", "a", "post-indexed", "load", "/", "store", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::SEXTLOAD", "ISD::NON_EXTLOAD", "0", "MVT::i32", "\"Non-i32 post-inc op?!\"", "ISD::ADD", "1", "4", "1", "0", "ISD::POST_INC", "ARM", "ISD::ADD", "ISD::POST_INC", "ISD::POST_DEC"], "File": "ARMISelLowering101", "Func": "getPostIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10975, "Length": 443} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPreIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "EVT", "VT", ";", "SDValue", "Ptr", ";", "unsigned", "Align", ";", "bool", "isSEXTLoad", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "Align", "=", "LD", "->", "getAlignment", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "Align", "=", "ST", "->", "getAlignment", "(", ")", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "VT", ".", "isVector", "(", ")", ")", "isLegal", "=", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "getMVEIndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "Align", ",", "isSEXTLoad", ",", "Subtarget", "->", "isLittle", "(", ")", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "{", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "}", "if", "(", "!", "isLegal", ")", "return", "false", ";", "AM", "=", "isInc", "?", "ISD", "::", "PRE_INC", ":", "ISD", "::", "PRE_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "the", "node", "'s", "address", "can", "be", "legally", "represented", "as", "pre-indexed", "load", "/", "store", "address", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::SEXTLOAD", "ARM", "ISD::PRE_INC", "ISD::PRE_DEC"], "File": "ARMISelLowering101", "Func": "getPreIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10976, "Length": 286} {"ground_truth": ["", "virtual", "bool", "isFMAFasterThanFMulAndFAdd", "(", "EVT", "VT", ")", "const", "{", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "an", "FMA", "operation", "is", "faster", "than", "a", "pair", "of", "fmul", "and", "fadd", "instructions", "."], "TS_V_token": ["ARM"], "File": "ARMISelLowering101", "Func": "isFMAFasterThanFMulAndFAdd", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10977, "Length": 13} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldSinkOperands", "(", "Instruction", "*", "I", ",", "SmallVectorImpl", "<", "Use", "*", ">", "&", "Ops", ")", "const", "{", "if", "(", "!", "I", "->", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "switch", "(", "I", "->", "getOpcode", "(", ")", ")", "{", "case", "Instruction", "::", "Sub", ":", "case", "Instruction", "::", "Add", ":", "{", "if", "(", "!", "areExtractExts", "(", "I", "->", "getOperand", "(", "0", ")", ",", "I", "->", "getOperand", "(", "1", ")", ")", ")", "return", "false", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "0", ")", ")", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "1", ")", ")", ";", "return", "true", ";", "}", "default", ":", "return", "false", ";", "}", "}", "if", "(", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "auto", "IsSinker", "=", "[", "]", "(", "Instruction", "*", "I", ",", "int", "Operand", ")", "{", "switch", "(", "I", "->", "getOpcode", "(", ")", ")", "{", "case", "Instruction", "::", "Add", ":", "case", "Instruction", "::", "Mul", ":", "return", "true", ";", "case", "Instruction", "::", "Sub", ":", "return", "Operand", "==", "1", ";", "default", ":", "return", "false", ";", "}", "}", ";", "int", "Op", "=", "0", ";", "if", "(", "!", "isa", "<", "ShuffleVectorInst", ">", "(", "I", "->", "getOperand", "(", "Op", ")", ")", ")", "Op", "=", "1", ";", "if", "(", "!", "IsSinker", "(", "I", ",", "Op", ")", ")", "return", "false", ";", "if", "(", "!", "match", "(", "I", "->", "getOperand", "(", "Op", ")", ",", "m_ShuffleVector", "(", "m_InsertElement", "(", "m_Undef", "(", ")", ",", "m_Value", "(", ")", ",", "m_ZeroInt", "(", ")", ")", ",", "m_Undef", "(", ")", ",", "m_Zero", "(", ")", ")", ")", ")", "{", "return", "false", ";", "}", "Instruction", "*", "Shuffle", "=", "cast", "<", "Instruction", ">", "(", "I", "->", "getOperand", "(", "Op", ")", ")", ";", "for", "(", "Use", "&", "U", ":", "Shuffle", "->", "uses", "(", ")", ")", "{", "Instruction", "*", "Insn", "=", "cast", "<", "Instruction", ">", "(", "U", ".", "getUser", "(", ")", ")", ";", "if", "(", "!", "IsSinker", "(", "Insn", ",", "U", ".", "getOperandNo", "(", ")", ")", ")", "return", "false", ";", "}", "Ops", ".", "push_back", "(", "&", "Shuffle", "->", "getOperandUse", "(", "0", ")", ")", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "Op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "sinking", "I", "'s", "operands", "to", "the", "same", "basic", "block", "as", "I", "is", "profitable", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "1", "1", "0", "1", "0"], "File": "ARMISelLowering101", "Func": "shouldSinkOperands", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10978, "Length": 366} {"ground_truth": ["", "Align", "ARMTargetLowering", "::", "getABIAlignmentForCallingConv", "(", "Type", "*", "ArgTy", ",", "DataLayout", "DL", ")", "const", "{", "const", "Align", "ABITypeAlign", "=", "DL", ".", "getABITypeAlign", "(", "ArgTy", ")", ";", "if", "(", "!", "ArgTy", "->", "isVectorTy", "(", ")", ")", "return", "ABITypeAlign", ";", "return", "std", "::", "min", "(", "ABITypeAlign", ",", "DL", ".", "getStackAlignment", "(", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "correct", "alignment", "for", "the", "current", "calling", "convention", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering103", "Func": "getABIAlignmentForCallingConv", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10979, "Length": 52} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "const", "MemOp", "&", "Op", ",", "const", "AttributeList", "&", "FuncAttributes", ")", "const", "{", "if", "(", "(", "Op", ".", "isMemcpy", "(", ")", "||", "Op", ".", "isZeroMemset", "(", ")", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "FuncAttributes", ".", "hasFnAttribute", "(", "Attribute", "::", "NoImplicitFloat", ")", ")", "{", "bool", "Fast", ";", "if", "(", "Op", ".", "size", "(", ")", ">=", "16", "&&", "(", "Op", ".", "isAligned", "(", "Align", "(", "16", ")", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "v2f64", ",", "0", ",", "1", ",", "MachineMemOperand", "::", "MONone", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "v2f64", ";", "}", "else", "if", "(", "Op", ".", "size", "(", ")", ">=", "8", "&&", "(", "Op", ".", "isAligned", "(", "Align", "(", "8", ")", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "f64", ",", "0", ",", "1", ",", "MachineMemOperand", "::", "MONone", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "f64", ";", "}", "}", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v2f64", "0", "1", "MVT::v2f64", "8", "8", "MVT::f64", "0", "1", "MVT::f64", "MVT::Other"], "File": "ARMISelLowering103", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10980, "Length": 163} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalInterleavedAccessType", "(", "unsigned", "Factor", ",", "FixedVectorType", "*", "VecTy", ",", "const", "DataLayout", "&", "DL", ")", "const", "{", "unsigned", "VecSize", "=", "DL", ".", "getTypeSizeInBits", "(", "VecTy", ")", ";", "unsigned", "ElSize", "=", "DL", ".", "getTypeSizeInBits", "(", "VecTy", "->", "getElementType", "(", ")", ")", ";", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "VecTy", "->", "getElementType", "(", ")", "->", "isHalfTy", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "Factor", "==", "3", ")", "return", "false", ";", "if", "(", "VecTy", "->", "getNumElements", "(", ")", "<", "2", ")", "return", "false", ";", "if", "(", "ElSize", "!=", "8", "&&", "ElSize", "!=", "16", "&&", "ElSize", "!=", "32", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "VecSize", "==", "64", ")", "return", "true", ";", "return", "VecSize", "%", "128", "==", "0", ";", "}", ""], "natrual_language": ["Returns", "whether", "or", "not", "generating", "a", "interleaved", "load/store", "intrinsic", "for", "this", "type", "will", "be", "legal", "."], "TS_V_token": ["ARM", "ARM", "3", "2", "8", "16", "32", "64", "128", "0"], "File": "ARMISelLowering103", "Func": "isLegalInterleavedAccessType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10981, "Length": 151} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SHL", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SDIVREM", ":", "case", "ISD", "::", "UDIVREM", ":", "Res", "=", "LowerDivRem", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ")", ";", "assert", "(", "Res", ".", "getNumOperands", "(", ")", "==", "2", "&&", "\"DivRem needs two values\"", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "0", ")", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "1", ")", ")", ";", "return", ";", "case", "ISD", "::", "SADDSAT", ":", "case", "ISD", "::", "SSUBSAT", ":", "Res", "=", "LowerSADDSUBSAT", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "UDIV", ":", "case", "ISD", "::", "SDIV", ":", "assert", "(", "Subtarget", "->", "isTargetWindows", "(", ")", "&&", "\"can only expand DIV on Windows\"", ")", ";", "return", "ExpandDIV_Windows", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SDIV", ",", "Results", ")", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceCMP_SWAP_64Results", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "ReplaceLongIntrinsic", "(", "N", ",", "Results", ",", "DAG", ")", ";", "case", "ISD", "::", "ABS", ":", "lowerABS", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "case", "ISD", "::", "LOAD", ":", "LowerLOAD", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SHL", "ISD::SREM", "ISD::UREM", "ISD::SDIVREM", "ISD::UDIVREM", "0", "2", "\"DivRem needs two values\"", "0", "1", "ISD::SADDSAT", "ISD::SSUBSAT", "0", "ISD::READCYCLECOUNTER", "ISD::UDIV", "ISD::SDIV", "\"can only expand DIV on Windows\"", "0", "ISD::SDIV", "ISD::ATOMIC_CMP_SWAP", "ISD::INTRINSIC_WO_CHAIN", "ISD::ABS", "ISD::LOAD"], "File": "ARMISelLowering103", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10982, "Length": 359} {"ground_truth": ["", "bool", "supportSplitCSR", "(", "MachineFunction", "*", "MF", ")", "const", "override", "{", "return", "MF", "->", "getFunction", "(", ")", "->", "getCallingConv", "(", ")", "==", "CallingConv", "::", "CXX_FAST_TLS", "&&", "MF", "->", "getFunction", "(", ")", "->", "hasFnAttribute", "(", "Attribute", "::", "NoUnwind", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "that", "a", "subset", "of", "CSRs", "for", "the", "given", "machine", "function", "is", "handled", "explicitly", "via", "copies", "."], "TS_V_token": ["ARM"], "File": "ARMISelLowering103", "Func": "supportSplitCSR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10983, "Length": 39} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldSinkOperands", "(", "Instruction", "*", "I", ",", "SmallVectorImpl", "<", "Use", "*", ">", "&", "Ops", ")", "const", "{", "if", "(", "!", "I", "->", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "switch", "(", "I", "->", "getOpcode", "(", ")", ")", "{", "case", "Instruction", "::", "Sub", ":", "case", "Instruction", "::", "Add", ":", "{", "if", "(", "!", "areExtractExts", "(", "I", "->", "getOperand", "(", "0", ")", ",", "I", "->", "getOperand", "(", "1", ")", ")", ")", "return", "false", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "0", ")", ")", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "1", ")", ")", ";", "return", "true", ";", "}", "default", ":", "return", "false", ";", "}", "}", "if", "(", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "auto", "IsFMSMul", "=", "[", "&", "]", "(", "Instruction", "*", "I", ")", "{", "if", "(", "!", "I", "->", "hasOneUse", "(", ")", ")", "return", "false", ";", "auto", "*", "Sub", "=", "cast", "<", "Instruction", ">", "(", "*", "I", "->", "users", "(", ")", ".", "begin", "(", ")", ")", ";", "return", "Sub", "->", "getOpcode", "(", ")", "==", "Instruction", "::", "FSub", "&&", "Sub", "->", "getOperand", "(", "1", ")", "==", "I", ";", "}", ";", "auto", "IsSinker", "=", "[", "&", "]", "(", "Instruction", "*", "I", ",", "int", "Operand", ")", "{", "switch", "(", "I", "->", "getOpcode", "(", ")", ")", "{", "case", "Instruction", "::", "Add", ":", "case", "Instruction", "::", "Mul", ":", "case", "Instruction", "::", "FAdd", ":", "case", "Instruction", "::", "ICmp", ":", "case", "Instruction", "::", "FCmp", ":", "return", "true", ";", "case", "Instruction", "::", "FMul", ":", "return", "!", "IsFMSMul", "(", "I", ")", ";", "case", "Instruction", "::", "Sub", ":", "case", "Instruction", "::", "FSub", ":", "case", "Instruction", "::", "Shl", ":", "case", "Instruction", "::", "LShr", ":", "case", "Instruction", "::", "AShr", ":", "return", "Operand", "==", "1", ";", "default", ":", "return", "false", ";", "}", "}", ";", "int", "Op", "=", "0", ";", "if", "(", "!", "isa", "<", "ShuffleVectorInst", ">", "(", "I", "->", "getOperand", "(", "Op", ")", ")", ")", "Op", "=", "1", ";", "if", "(", "!", "IsSinker", "(", "I", ",", "Op", ")", ")", "return", "false", ";", "if", "(", "!", "match", "(", "I", "->", "getOperand", "(", "Op", ")", ",", "m_ShuffleVector", "(", "m_InsertElement", "(", "m_Undef", "(", ")", ",", "m_Value", "(", ")", ",", "m_ZeroInt", "(", ")", ")", ",", "m_Undef", "(", ")", ",", "m_ZeroMask", "(", ")", ")", ")", ")", "{", "return", "false", ";", "}", "Instruction", "*", "Shuffle", "=", "cast", "<", "Instruction", ">", "(", "I", "->", "getOperand", "(", "Op", ")", ")", ";", "for", "(", "Use", "&", "U", ":", "Shuffle", "->", "uses", "(", ")", ")", "{", "Instruction", "*", "Insn", "=", "cast", "<", "Instruction", ">", "(", "U", ".", "getUser", "(", ")", ")", ";", "if", "(", "!", "IsSinker", "(", "Insn", ",", "U", ".", "getOperandNo", "(", ")", ")", ")", "return", "false", ";", "}", "Ops", ".", "push_back", "(", "&", "Shuffle", "->", "getOperandUse", "(", "0", ")", ")", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "Op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "sinking", "I", "'s", "operands", "to", "the", "same", "basic", "block", "as", "I", "is", "profitable", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "1", "1", "1", "0", "1", "0"], "File": "ARMISelLowering104", "Func": "shouldSinkOperands", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10984, "Length": 481} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldSinkOperands", "(", "Instruction", "*", "I", ",", "SmallVectorImpl", "<", "Use", "*", ">", "&", "Ops", ")", "const", "{", "if", "(", "!", "I", "->", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "switch", "(", "I", "->", "getOpcode", "(", ")", ")", "{", "case", "Instruction", "::", "Sub", ":", "case", "Instruction", "::", "Add", ":", "{", "if", "(", "!", "areExtractExts", "(", "I", "->", "getOperand", "(", "0", ")", ",", "I", "->", "getOperand", "(", "1", ")", ")", ")", "return", "false", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "0", ")", ")", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "1", ")", ")", ";", "return", "true", ";", "}", "default", ":", "return", "false", ";", "}", "}", "if", "(", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "auto", "IsSinker", "=", "[", "]", "(", "Instruction", "*", "I", ",", "int", "Operand", ")", "{", "switch", "(", "I", "->", "getOpcode", "(", ")", ")", "{", "case", "Instruction", "::", "Add", ":", "case", "Instruction", "::", "Mul", ":", "case", "Instruction", "::", "ICmp", ":", "return", "true", ";", "case", "Instruction", "::", "Sub", ":", "case", "Instruction", "::", "Shl", ":", "case", "Instruction", "::", "LShr", ":", "case", "Instruction", "::", "AShr", ":", "return", "Operand", "==", "1", ";", "default", ":", "return", "false", ";", "}", "}", ";", "int", "Op", "=", "0", ";", "if", "(", "!", "isa", "<", "ShuffleVectorInst", ">", "(", "I", "->", "getOperand", "(", "Op", ")", ")", ")", "Op", "=", "1", ";", "if", "(", "!", "IsSinker", "(", "I", ",", "Op", ")", ")", "return", "false", ";", "if", "(", "!", "match", "(", "I", "->", "getOperand", "(", "Op", ")", ",", "m_ShuffleVector", "(", "m_InsertElement", "(", "m_Undef", "(", ")", ",", "m_Value", "(", ")", ",", "m_ZeroInt", "(", ")", ")", ",", "m_Undef", "(", ")", ",", "m_Zero", "(", ")", ")", ")", ")", "{", "return", "false", ";", "}", "Instruction", "*", "Shuffle", "=", "cast", "<", "Instruction", ">", "(", "I", "->", "getOperand", "(", "Op", ")", ")", ";", "for", "(", "Use", "&", "U", ":", "Shuffle", "->", "uses", "(", ")", ")", "{", "Instruction", "*", "Insn", "=", "cast", "<", "Instruction", ">", "(", "U", ".", "getUser", "(", ")", ")", ";", "if", "(", "!", "IsSinker", "(", "Insn", ",", "U", ".", "getOperandNo", "(", ")", ")", ")", "return", "false", ";", "}", "Ops", ".", "push_back", "(", "&", "Shuffle", "->", "getOperandUse", "(", "0", ")", ")", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "Op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "sinking", "I", "'s", "operands", "to", "the", "same", "basic", "block", "as", "I", "is", "profitable", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "1", "1", "0", "1", "0"], "File": "ARMISelLowering105", "Func": "shouldSinkOperands", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10985, "Length": 386} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "computeKnownBitsForTargetNode", "(", "const", "SDValue", "Op", ",", "KnownBits", "&", "Known", ",", "const", "APInt", "&", "DemandedElts", ",", "const", "SelectionDAG", "&", "DAG", ",", "unsigned", "Depth", ")", "const", "{", "unsigned", "BitWidth", "=", "Known", ".", "getBitWidth", "(", ")", ";", "Known", ".", "resetAll", "(", ")", ";", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARMISD", "::", "ADDC", ":", "case", "ARMISD", "::", "ADDE", ":", "case", "ARMISD", "::", "SUBC", ":", "case", "ARMISD", "::", "SUBE", ":", "if", "(", "Op", ".", "getResNo", "(", ")", "==", "0", ")", "{", "SDValue", "LHS", "=", "Op", ".", "getOperand", "(", "0", ")", ";", "SDValue", "RHS", "=", "Op", ".", "getOperand", "(", "1", ")", ";", "if", "(", "Op", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "ADDE", "&&", "isNullConstant", "(", "LHS", ")", "&&", "isNullConstant", "(", "RHS", ")", ")", "{", "Known", ".", "Zero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "1", ")", ";", "return", ";", "}", "}", "break", ";", "case", "ARMISD", "::", "CMOV", ":", "{", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "0", ")", ",", "Known", ",", "Depth", "+", "1", ")", ";", "if", "(", "Known", ".", "isUnknown", "(", ")", ")", "return", ";", "KnownBits", "KnownRHS", ";", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "1", ")", ",", "KnownRHS", ",", "Depth", "+", "1", ")", ";", "Known", ".", "Zero", "&=", "KnownRHS", ".", "Zero", ";", "Known", ".", "One", "&=", "KnownRHS", ".", "One", ";", "return", ";", "}", "case", "ISD", "::", "INTRINSIC_W_CHAIN", ":", "{", "ConstantSDNode", "*", "CN", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", "->", "getOperand", "(", "1", ")", ")", ";", "Intrinsic", "::", "ID", "IntID", "=", "static_cast", "<", "Intrinsic", "::", "ID", ">", "(", "CN", "->", "getZExtValue", "(", ")", ")", ";", "switch", "(", "IntID", ")", "{", "default", ":", "return", ";", "case", "Intrinsic", "::", "arm_ldaex", ":", "case", "Intrinsic", "::", "arm_ldrex", ":", "{", "EVT", "VT", "=", "cast", "<", "MemIntrinsicSDNode", ">", "(", "Op", ")", "->", "getMemoryVT", "(", ")", ";", "unsigned", "MemBits", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "Known", ".", "Zero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "MemBits", ")", ";", "return", ";", "}", "}", "}", "case", "ARMISD", "::", "BFI", ":", "{", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "0", ")", ",", "Known", ",", "Depth", "+", "1", ")", ";", "ConstantSDNode", "*", "CI", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", ".", "getOperand", "(", "2", ")", ")", ";", "const", "APInt", "&", "Mask", "=", "CI", "->", "getAPIntValue", "(", ")", ";", "Known", ".", "Zero", "&=", "Mask", ";", "Known", ".", "One", "&=", "Mask", ";", "return", ";", "}", "}", "}", ""], "natrual_language": ["Determine", "which", "of", "the", "bits", "specified", "in", "Mask", "are", "known", "to", "be", "either", "zero", "or", "one", "and", "return", "them", "in", "the", "KnownZero/KnownOne", "bitsets", "."], "TS_V_token": ["ARM", "ARM", "ARMISD::ADDC", "ARMISD::ADDE", "ARMISD::SUBC", "ARMISD::SUBE", "0", "0", "1", "ARMISD::ADDE", "1", "ARMISD::CMOV", "0", "1", "1", "1", "ISD::INTRINSIC_W_CHAIN", "1", "Intrinsic::ID", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex", "ARMISD::BFI", "0", "1", "2"], "File": "ARMISelLowering106", "Func": "computeKnownBitsForTargetNode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10986, "Length": 400} {"ground_truth": ["", "virtual", "const", "ARMSubtarget", "*", "getSubtarget", "(", ")", "{", "return", "Subtarget", ";", "}", ""], "natrual_language": ["getSubtarget", "-", "Return", "the", "subtarget", "for", "which", "this", "machine", "code", "is", "being", "compiled", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering106", "Func": "getSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10987, "Length": 12} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldExpandAtomicCmpXchgInIR", "(", "AtomicCmpXchgInst", "*", "AI", ")", "const", "{", "bool", "hasAtomicCmpXchg", "=", "!", "Subtarget", "->", "isThumb", "(", ")", "||", "Subtarget", "->", "hasV8MBaselineOps", "(", ")", ";", "return", "getTargetMachine", "(", ")", ".", "getOptLevel", "(", ")", "!=", "0", "&&", "hasAtomicCmpXchg", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "atomic", "cmpxchg", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMISelLowering106", "Func": "shouldExpandAtomicCmpXchgInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10988, "Length": 41} {"ground_truth": ["", "bool", "canMergeStoresTo", "(", "unsigned", "AddressSpace", ",", "EVT", "MemVT", ",", "const", "SelectionDAG", "&", "DAG", ")", "const", "override", "{", "return", "(", "MemVT", ".", "getSizeInBits", "(", ")", "<=", "32", ")", ";", "}", ""], "natrual_language": ["Returns", "if", "it", "'s", "reasonable", "to", "merge", "stores", "to", "MemVT", "size", "."], "TS_V_token": ["ARM", "32"], "File": "ARMISelLowering107", "Func": "canMergeStoresTo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10989, "Length": 29} {"ground_truth": ["", "std", "::", "pair", "<", "const", "TargetRegisterClass", "*", ",", "uint8_t", ">", "ARMTargetLowering", "::", "findRepresentativeClass", "(", "EVT", "VT", ")", "const", "{", "const", "TargetRegisterClass", "*", "RRC", "=", "0", ";", "uint8_t", "Cost", "=", "1", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "TargetLowering", "::", "findRepresentativeClass", "(", "VT", ")", ";", "case", "MVT", "::", "f32", ":", "case", "MVT", "::", "f64", ":", "case", "MVT", "::", "v8i8", ":", "case", "MVT", "::", "v4i16", ":", "case", "MVT", "::", "v2i32", ":", "case", "MVT", "::", "v1i64", ":", "case", "MVT", "::", "v2f32", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "if", "(", "Subtarget", "->", "useNEONForSinglePrecisionFP", "(", ")", ")", "Cost", "=", "2", ";", "break", ";", "case", "MVT", "::", "v16i8", ":", "case", "MVT", "::", "v8i16", ":", "case", "MVT", "::", "v4i32", ":", "case", "MVT", "::", "v2i64", ":", "case", "MVT", "::", "v4f32", ":", "case", "MVT", "::", "v2f64", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "Cost", "=", "2", ";", "break", ";", "case", "MVT", "::", "v4i64", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "Cost", "=", "4", ";", "break", ";", "case", "MVT", "::", "v8i64", ":", "RRC", "=", "&", "ARM", "::", "DPRRegClass", ";", "Cost", "=", "8", ";", "break", ";", "}", "return", "std", "::", "make_pair", "(", "RRC", ",", "Cost", ")", ";", "}", ""], "natrual_language": ["Return", "the", "largest", "legal", "super-reg", "register", "class", "of", "the", "register", "class", "for", "the", "specified", "type", "and", "its", "associated", "``", "cost", "''", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "MVT::f32", "MVT::f64", "MVT::v8i8", "MVT::v4i16", "MVT::v2i32", "MVT::v1i64", "MVT::v2f32", "ARM::DPRRegClass", "2", "MVT::v16i8", "MVT::v8i16", "MVT::v4i32", "MVT::v2i64", "MVT::v4f32", "MVT::v2f64", "ARM::DPRRegClass", "2", "MVT::v4i64", "ARM::DPRRegClass", "4", "MVT::v8i64", "ARM::DPRRegClass", "8"], "File": "ARMISelLowering107", "Func": "findRepresentativeClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10990, "Length": 199} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "uint64_t", "Size", ",", "unsigned", "DstAlign", ",", "unsigned", "SrcAlign", ",", "bool", "IsZeroVal", ",", "bool", "MemcpyStrSrc", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "if", "(", "IsZeroVal", "&&", "!", "F", "->", "getFnAttributes", "(", ")", ".", "hasAttribute", "(", "Attributes", "::", "NoImplicitFloat", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "if", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "16", ")", "&&", "Size", ">=", "16", ")", "{", "return", "MVT", "::", "v4i32", ";", "}", "else", "if", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "8", ")", "&&", "Size", ">=", "8", ")", "{", "return", "MVT", "::", "v2i32", ";", "}", "}", "if", "(", "Size", ">=", "4", ")", "{", "return", "MVT", "::", "i32", ";", "}", "else", "if", "(", "Size", ">=", "2", ")", "{", "return", "MVT", "::", "i16", ";", "}", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v4i32", "8", "8", "MVT::v2i32", "4", "MVT::i32", "2", "MVT::i16", "MVT::Other"], "File": "ARMISelLowering107", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10991, "Length": 141} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMTargetLowering", "::", "getRegClassFor", "(", "EVT", "VT", ")", "const", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "if", "(", "VT", "==", "MVT", "::", "v4i64", ")", "return", "&", "ARM", "::", "QQPRRegClass", ";", "if", "(", "VT", "==", "MVT", "::", "v8i64", ")", "return", "&", "ARM", "::", "QQQQPRRegClass", ";", "}", "return", "TargetLowering", "::", "getRegClassFor", "(", "VT", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "class", "that", "should", "be", "used", "for", "the", "specified", "value", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::v4i64", "ARM::QQPRRegClass", "MVT::v8i64", "ARM::QQQQPRRegClass"], "File": "ARMISelLowering107", "Func": "getRegClassFor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10992, "Length": 59} {"ground_truth": ["", "RCPair", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "std", "::", "string", "&", "Constraint", ",", "EVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'h'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "hGPRRegClass", ")", ";", "break", ";", "case", "'r'", ":", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPRRegClass", ")", ";", "break", ";", "case", "'x'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_8RegClass", ")", ";", "break", ";", "case", "'t'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "break", ";", "}", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_lower", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "unsigned", "(", "ARM", "::", "CPSR", ")", ",", "&", "ARM", "::", "CCRRegClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "0U", "ARM::hGPRRegClass", "0U", "ARM::GPRRegClass", "MVT::f32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPRRegClass", "128", "0U", "ARM::QPRRegClass", "MVT::f32", "0U", "ARM::SPR_8RegClass", "64", "0U", "ARM::DPR_8RegClass", "128", "0U", "ARM::QPR_8RegClass", "MVT::f32", "0U", "ARM::SPRRegClass", "\"{cc}\"", "ARM::CPSR", "ARM::CCRRegClass"], "File": "ARMISelLowering107", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10993, "Length": 306} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getSetCCResultType", "(", "EVT", "VT", ")", "const", "{", "if", "(", "!", "VT", ".", "isVector", "(", ")", ")", "return", "getPointerTy", "(", ")", ";", "return", "VT", ".", "changeVectorElementTypeToInteger", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "value", "type", "to", "use", "for", "ISD", ":", ":SETCC", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering107", "Func": "getSetCCResultType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10994, "Length": 32} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "HandleByVal", "(", "CCState", "*", "State", ",", "unsigned", "&", "size", ",", "unsigned", "Align", ")", "const", "{", "unsigned", "reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "assert", "(", "(", "State", "->", "getCallOrPrologue", "(", ")", "==", "Prologue", "||", "State", "->", "getCallOrPrologue", "(", ")", "==", "Call", ")", "&&", "\"unhandled ParmContext\"", ")", ";", "if", "(", "(", "!", "State", "->", "isFirstByValRegValid", "(", ")", ")", "&&", "(", "ARM", "::", "R0", "<=", "reg", ")", "&&", "(", "reg", "<=", "ARM", "::", "R3", ")", ")", "{", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "&&", "Align", ">", "4", ")", "{", "unsigned", "AlignInRegs", "=", "Align", "/", "4", ";", "unsigned", "Waste", "=", "(", "ARM", "::", "R4", "-", "reg", ")", "%", "AlignInRegs", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Waste", ";", "++", "i", ")", "reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "}", "if", "(", "reg", "!=", "0", ")", "{", "State", "->", "setFirstByValReg", "(", "reg", ")", ";", "if", "(", "State", "->", "getCallOrPrologue", "(", ")", "==", "Call", ")", "{", "unsigned", "excess", "=", "4", "*", "(", "ARM", "::", "R4", "-", "reg", ")", ";", "assert", "(", "size", ">=", "excess", "&&", "\"expected larger existing stack allocation\"", ")", ";", "size", "-=", "excess", ";", "}", "}", "}", "while", "(", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ")", ";", "}", ""], "natrual_language": ["Target-specific", "cleanup", "for", "formal", "ByVal", "parameters", "."], "TS_V_token": ["ARM", "ARM", "4", "\"unhandled ParmContext\"", "ARM::R0", "ARM::R3", "4", "4", "ARM::R4", "0", "4", "0", "4", "ARM::R4", "\"expected larger existing stack allocation\"", "4"], "File": "ARMISelLowering107", "Func": "HandleByVal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10995, "Length": 207} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "const", "SmallVectorImpl", "<", "int", ">", "&", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ";", "unsigned", "Imm", ",", "WhichResult", ";", "unsigned", "EltSize", "=", "VT", ".", "getVectorElementType", "(", ")", ".", "getSizeInBits", "(", ")", ";", "return", "(", "EltSize", ">=", "32", "||", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", "||", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTBLMask", "(", "M", ",", "VT", ")", "||", "isVTRNMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVUZPMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVZIPMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVTRN_v_undef_Mask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVUZP_v_undef_Mask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVZIP_v_undef_Mask", "(", "M", ",", "VT", ",", "WhichResult", ")", ")", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "32", "0", "64", "32", "16"], "File": "ARMISelLowering107", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10996, "Length": 295} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isUsedByReturnOnly", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Chain", ")", "const", "{", "if", "(", "N", "->", "getNumValues", "(", ")", "!=", "1", ")", "return", "false", ";", "if", "(", "!", "N", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "SDValue", "TCChain", "=", "Chain", ";", "SDNode", "*", "Copy", "=", "*", "N", "->", "use_begin", "(", ")", ";", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ISD", "::", "CopyToReg", ")", "{", "if", "(", "Copy", "->", "getOperand", "(", "Copy", "->", "getNumOperands", "(", ")", "-", "1", ")", ".", "getValueType", "(", ")", "==", "MVT", "::", "Glue", ")", "return", "false", ";", "TCChain", "=", "Copy", "->", "getOperand", "(", "0", ")", ";", "}", "else", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "VMOVRRD", ")", "{", "SDNode", "*", "VMov", "=", "Copy", ";", "SmallPtrSet", "<", "SDNode", "*", ",", "2", ">", "Copies", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "VMov", "->", "use_begin", "(", ")", ",", "UE", "=", "VMov", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "if", "(", "UI", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", ")", "return", "false", ";", "Copies", ".", "insert", "(", "*", "UI", ")", ";", "}", "if", "(", "Copies", ".", "size", "(", ")", ">", "2", ")", "return", "false", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "VMov", "->", "use_begin", "(", ")", ",", "UE", "=", "VMov", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "SDValue", "UseChain", "=", "UI", "->", "getOperand", "(", "0", ")", ";", "if", "(", "Copies", ".", "count", "(", "UseChain", ".", "getNode", "(", ")", ")", ")", "Copy", "=", "*", "UI", ";", "else", "TCChain", "=", "UseChain", ";", "}", "}", "else", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ISD", "::", "BITCAST", ")", "{", "if", "(", "!", "Copy", "->", "hasOneUse", "(", ")", ")", "return", "false", ";", "Copy", "=", "*", "Copy", "->", "use_begin", "(", ")", ";", "if", "(", "Copy", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", "||", "!", "Copy", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "Chain", "=", "Copy", "->", "getOperand", "(", "0", ")", ";", "}", "else", "{", "return", "false", ";", "}", "bool", "HasRet", "=", "false", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "Copy", "->", "use_begin", "(", ")", ",", "UE", "=", "Copy", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "if", "(", "UI", "->", "getOpcode", "(", ")", "!=", "ARMISD", "::", "RET_FLAG", ")", "return", "false", ";", "HasRet", "=", "true", ";", "}", "if", "(", "!", "HasRet", ")", "return", "false", ";", "Chain", "=", "TCChain", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "result", "of", "the", "specified", "node", "is", "used", "by", "a", "return", "node", "only", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0", "ISD::CopyToReg", "1", "MVT::Glue", "0", "ARMISD::VMOVRRD", "2", "ISD::CopyToReg", "2", "0", "ISD::BITCAST", "ISD::CopyToReg", "1", "0", "0", "ARMISD::RET_FLAG"], "File": "ARMISelLowering107", "Func": "isUsedByReturnOnly", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10997, "Length": 413} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformCMOVCombine", "(", "SDNode", "*", "N", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Cmp", "=", "N", "->", "getOperand", "(", "4", ")", ";", "if", "(", "Cmp", ".", "getOpcode", "(", ")", "!=", "ARMISD", "::", "CMPZ", ")", "return", "SDValue", "(", ")", ";", "EVT", "VT", "=", "N", "->", "getValueType", "(", "0", ")", ";", "DebugLoc", "dl", "=", "N", "->", "getDebugLoc", "(", ")", ";", "SDValue", "LHS", "=", "Cmp", ".", "getOperand", "(", "0", ")", ";", "SDValue", "RHS", "=", "Cmp", ".", "getOperand", "(", "1", ")", ";", "SDValue", "FalseVal", "=", "N", "->", "getOperand", "(", "0", ")", ";", "SDValue", "TrueVal", "=", "N", "->", "getOperand", "(", "1", ")", ";", "SDValue", "ARMcc", "=", "N", "->", "getOperand", "(", "2", ")", ";", "ARMCC", "::", "CondCodes", "CC", "=", "(", "ARMCC", "::", "CondCodes", ")", "cast", "<", "ConstantSDNode", ">", "(", "ARMcc", ")", "->", "getZExtValue", "(", ")", ";", "SDValue", "Res", ";", "if", "(", "CC", "==", "ARMCC", "::", "NE", "&&", "FalseVal", "==", "RHS", "&&", "FalseVal", "!=", "LHS", ")", "{", "Res", "=", "DAG", ".", "getNode", "(", "ARMISD", "::", "CMOV", ",", "dl", ",", "VT", ",", "LHS", ",", "TrueVal", ",", "ARMcc", ",", "N", "->", "getOperand", "(", "3", ")", ",", "Cmp", ")", ";", "}", "else", "if", "(", "CC", "==", "ARMCC", "::", "EQ", "&&", "TrueVal", "==", "RHS", ")", "{", "SDValue", "ARMcc", ";", "SDValue", "NewCmp", "=", "getARMCmp", "(", "LHS", ",", "RHS", ",", "ISD", "::", "SETNE", ",", "ARMcc", ",", "DAG", ",", "dl", ")", ";", "Res", "=", "DAG", ".", "getNode", "(", "ARMISD", "::", "CMOV", ",", "dl", ",", "VT", ",", "LHS", ",", "FalseVal", ",", "ARMcc", ",", "N", "->", "getOperand", "(", "3", ")", ",", "NewCmp", ")", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "{", "APInt", "KnownZero", ",", "KnownOne", ";", "DAG", ".", "ComputeMaskedBits", "(", "SDValue", "(", "N", ",", "0", ")", ",", "KnownZero", ",", "KnownOne", ")", ";", "if", "(", "KnownZero", "==", "0xfffffffe", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i1", ")", ")", ";", "else", "if", "(", "KnownZero", "==", "0xffffff00", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i8", ")", ")", ";", "else", "if", "(", "KnownZero", "==", "0xffff0000", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i16", ")", ")", ";", "}", "return", "Res", ";", "}", ""], "natrual_language": ["PerformCMOVCombine", "-", "Target-specific", "DAG", "combining", "for", "ARMISD", ":", ":CMOV", "."], "TS_V_token": ["ARM", "ARM", "4", "ARMISD::CMPZ", "0", "0", "1", "0", "1", "ARM", "2", "ARMCC::CondCodes", "ARMCC::CondCodes", "ARM", "ARMCC::NE", "ARMISD::CMOV", "ARM", "3", "ARMCC::EQ", "ARM", "ARM", "ISD::SETNE", "ARM", "ARMISD::CMOV", "ARM", "3", "0", "0xfffffffe", "ISD::AssertZext", "MVT::i32", "MVT::i1", "0xffffff00", "ISD::AssertZext", "MVT::i32", "MVT::i8", "0xffff0000", "ISD::AssertZext", "MVT::i32", "MVT::i16"], "File": "ARMISelLowering107", "Func": "PerformCMOVCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10998, "Length": 391} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "ATOMIC_LOAD_ADD", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMADD64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_AND", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMAND64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_NAND", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMNAND64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_OR", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMOR64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_SUB", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMSUB64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_XOR", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMXOR64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_SWAP", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMSWAP64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMCMPXCHG64_DAG", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::ATOMIC_LOAD_ADD", "ARMISD::ATOMADD64_DAG", "ISD::ATOMIC_LOAD_AND", "ARMISD::ATOMAND64_DAG", "ISD::ATOMIC_LOAD_NAND", "ARMISD::ATOMNAND64_DAG", "ISD::ATOMIC_LOAD_OR", "ARMISD::ATOMOR64_DAG", "ISD::ATOMIC_LOAD_SUB", "ARMISD::ATOMSUB64_DAG", "ISD::ATOMIC_LOAD_XOR", "ARMISD::ATOMXOR64_DAG", "ISD::ATOMIC_SWAP", "ARMISD::ATOMSWAP64_DAG", "ISD::ATOMIC_CMP_SWAP", "ARMISD::ATOMCMPXCHG64_DAG"], "File": "ARMISelLowering107", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 10999, "Length": 257} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "computeKnownBitsForTargetNode", "(", "const", "SDValue", "Op", ",", "KnownBits", "&", "Known", ",", "const", "APInt", "&", "DemandedElts", ",", "const", "SelectionDAG", "&", "DAG", ",", "unsigned", "Depth", ")", "const", "{", "unsigned", "BitWidth", "=", "Known", ".", "getBitWidth", "(", ")", ";", "Known", ".", "resetAll", "(", ")", ";", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARMISD", "::", "ADDC", ":", "case", "ARMISD", "::", "ADDE", ":", "case", "ARMISD", "::", "SUBC", ":", "case", "ARMISD", "::", "SUBE", ":", "if", "(", "Op", ".", "getResNo", "(", ")", "==", "0", ")", "break", ";", "Known", ".", "Zero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "1", ")", ";", "break", ";", "case", "ARMISD", "::", "CMOV", ":", "{", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "0", ")", ",", "Known", ",", "Depth", "+", "1", ")", ";", "if", "(", "Known", ".", "isUnknown", "(", ")", ")", "return", ";", "KnownBits", "KnownRHS", ";", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "1", ")", ",", "KnownRHS", ",", "Depth", "+", "1", ")", ";", "Known", ".", "Zero", "&=", "KnownRHS", ".", "Zero", ";", "Known", ".", "One", "&=", "KnownRHS", ".", "One", ";", "return", ";", "}", "case", "ISD", "::", "INTRINSIC_W_CHAIN", ":", "{", "ConstantSDNode", "*", "CN", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", "->", "getOperand", "(", "1", ")", ")", ";", "Intrinsic", "::", "ID", "IntID", "=", "static_cast", "<", "Intrinsic", "::", "ID", ">", "(", "CN", "->", "getZExtValue", "(", ")", ")", ";", "switch", "(", "IntID", ")", "{", "default", ":", "return", ";", "case", "Intrinsic", "::", "arm_ldaex", ":", "case", "Intrinsic", "::", "arm_ldrex", ":", "{", "EVT", "VT", "=", "cast", "<", "MemIntrinsicSDNode", ">", "(", "Op", ")", "->", "getMemoryVT", "(", ")", ";", "unsigned", "MemBits", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "Known", ".", "Zero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "MemBits", ")", ";", "return", ";", "}", "}", "}", "case", "ARMISD", "::", "BFI", ":", "{", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "0", ")", ",", "Known", ",", "Depth", "+", "1", ")", ";", "ConstantSDNode", "*", "CI", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", ".", "getOperand", "(", "2", ")", ")", ";", "const", "APInt", "&", "Mask", "=", "CI", "->", "getAPIntValue", "(", ")", ";", "Known", ".", "Zero", "&=", "Mask", ";", "Known", ".", "One", "&=", "Mask", ";", "return", ";", "}", "}", "}", ""], "natrual_language": ["Determine", "which", "of", "the", "bits", "specified", "in", "Mask", "are", "known", "to", "be", "either", "zero", "or", "one", "and", "return", "them", "in", "the", "KnownZero/KnownOne", "bitsets", "."], "TS_V_token": ["ARM", "ARM", "ARMISD::ADDC", "ARMISD::ADDE", "ARMISD::SUBC", "ARMISD::SUBE", "0", "1", "ARMISD::CMOV", "0", "1", "1", "1", "ISD::INTRINSIC_W_CHAIN", "1", "Intrinsic::ID", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex", "ARMISD::BFI", "0", "1", "2"], "File": "ARMISelLowering108", "Func": "computeKnownBitsForTargetNode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11000, "Length": 354} {"ground_truth": ["", "Instruction", "*", "ARMTargetLowering", "::", "emitLeadingFence", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Instruction", "*", "Inst", ",", "AtomicOrdering", "Ord", ")", "const", "{", "switch", "(", "Ord", ")", "{", "case", "AtomicOrdering", "::", "NotAtomic", ":", "case", "AtomicOrdering", "::", "Unordered", ":", "llvm_unreachable", "(", "\"Invalid fence: unordered/non-atomic\"", ")", ";", "case", "AtomicOrdering", "::", "Monotonic", ":", "case", "AtomicOrdering", "::", "Acquire", ":", "return", "nullptr", ";", "case", "AtomicOrdering", "::", "SequentiallyConsistent", ":", "if", "(", "!", "Inst", "->", "hasAtomicStore", "(", ")", ")", "return", "nullptr", ";", "case", "AtomicOrdering", "::", "Release", ":", "case", "AtomicOrdering", "::", "AcquireRelease", ":", "if", "(", "Subtarget", "->", "preferISHSTBarriers", "(", ")", ")", "return", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISHST", ")", ";", "else", "return", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISH", ")", ";", "}", "llvm_unreachable", "(", "\"Unknown fence ordering in emitLeadingFence\"", ")", ";", "}", ""], "natrual_language": ["Custom", "Lower", "{", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fence: unordered/non-atomic\"", "ARM_MB::ISHST", "ARM_MB::ISH", "\"Unknown fence ordering in emitLeadingFence\""], "File": "ARMISelLowering108", "Func": "emitLeadingFence", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11001, "Length": 117} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "uint64_t", "Size", ",", "unsigned", "DstAlign", ",", "unsigned", "SrcAlign", ",", "bool", "IsMemset", ",", "bool", "ZeroMemset", ",", "bool", "MemcpyStrSrc", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "if", "(", "(", "!", "IsMemset", "||", "ZeroMemset", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "F", "->", "hasFnAttribute", "(", "Attribute", "::", "NoImplicitFloat", ")", ")", "{", "bool", "Fast", ";", "if", "(", "Size", ">=", "16", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "16", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "v2f64", ",", "0", ",", "1", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "v2f64", ";", "}", "else", "if", "(", "Size", ">=", "8", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "8", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "f64", ",", "0", ",", "1", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "f64", ";", "}", "}", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v2f64", "0", "1", "MVT::v2f64", "8", "8", "MVT::f64", "0", "1", "MVT::f64", "MVT::Other"], "File": "ARMISelLowering108", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11002, "Length": 161} {"ground_truth": ["", "RCPair", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "TargetRegisterInfo", "*", "TRI", ",", "StringRef", "Constraint", ",", "MVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'h'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "hGPRRegClass", ")", ";", "break", ";", "case", "'r'", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPRRegClass", ")", ";", "break", ";", "case", "'x'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_8RegClass", ")", ";", "break", ";", "case", "'t'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", "||", "VT", "==", "MVT", "::", "i32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "break", ";", "}", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_lower", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "unsigned", "(", "ARM", "::", "CPSR", ")", ",", "&", "ARM", "::", "CCRRegClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "TRI", ",", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "0U", "ARM::hGPRRegClass", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPRRegClass", "128", "0U", "ARM::QPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPR_8RegClass", "64", "0U", "ARM::DPR_8RegClass", "128", "0U", "ARM::QPR_8RegClass", "MVT::f32", "MVT::i32", "0U", "ARM::SPRRegClass", "\"{cc}\"", "ARM::CPSR", "ARM::CCRRegClass"], "File": "ARMISelLowering108", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11003, "Length": 354} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "insertCopiesSplitCSR", "(", "MachineBasicBlock", "*", "Entry", ",", "const", "SmallVectorImpl", "<", "MachineBasicBlock", "*", ">", "&", "Exits", ")", "const", "{", "const", "ARMBaseRegisterInfo", "*", "TRI", "=", "Subtarget", "->", "getRegisterInfo", "(", ")", ";", "const", "MCPhysReg", "*", "IStart", "=", "TRI", "->", "getCalleeSavedRegsViaCopy", "(", "Entry", "->", "getParent", "(", ")", ")", ";", "if", "(", "!", "IStart", ")", "return", ";", "const", "TargetInstrInfo", "*", "TII", "=", "Subtarget", "->", "getInstrInfo", "(", ")", ";", "MachineRegisterInfo", "*", "MRI", "=", "&", "Entry", "->", "getParent", "(", ")", "->", "getRegInfo", "(", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "Entry", "->", "begin", "(", ")", ";", "for", "(", "const", "MCPhysReg", "*", "I", "=", "IStart", ";", "*", "I", ";", "++", "I", ")", "{", "const", "TargetRegisterClass", "*", "RC", "=", "nullptr", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "contains", "(", "*", "I", ")", ")", "RC", "=", "&", "ARM", "::", "GPRRegClass", ";", "else", "if", "(", "ARM", "::", "DPRRegClass", ".", "contains", "(", "*", "I", ")", ")", "RC", "=", "&", "ARM", "::", "DPRRegClass", ";", "else", "llvm_unreachable", "(", "\"Unexpected register class in CSRsViaCopy!\"", ")", ";", "unsigned", "NewVR", "=", "MRI", "->", "createVirtualRegister", "(", "RC", ")", ";", "assert", "(", "Entry", "->", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "hasFnAttribute", "(", "Attribute", "::", "NoUnwind", ")", "&&", "\"Function should be nounwind in insertCopiesSplitCSR!\"", ")", ";", "Entry", "->", "addLiveIn", "(", "*", "I", ")", ";", "BuildMI", "(", "*", "Entry", ",", "MBBI", ",", "DebugLoc", "(", ")", ",", "TII", "->", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "NewVR", ")", ".", "addReg", "(", "*", "I", ")", ";", "for", "(", "auto", "*", "Exit", ":", "Exits", ")", "BuildMI", "(", "*", "Exit", ",", "Exit", "->", "getFirstTerminator", "(", ")", ",", "DebugLoc", "(", ")", ",", "TII", "->", "get", "(", "TargetOpcode", "::", "COPY", ")", ",", "*", "I", ")", ".", "addReg", "(", "NewVR", ")", ";", "}", "}", ""], "natrual_language": ["Insert", "explicit", "copies", "in", "entry", "and", "exit", "blocks", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegClass", "ARM::GPRRegClass", "ARM::DPRRegClass", "ARM::DPRRegClass", "\"Unexpected register class in CSRsViaCopy!\"", "\"Function should be nounwind in insertCopiesSplitCSR!\""], "File": "ARMISelLowering108", "Func": "insertCopiesSplitCSR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11004, "Length": 271} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SDIVREM", ":", "case", "ISD", "::", "UDIVREM", ":", "Res", "=", "LowerDivRem", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ")", ";", "assert", "(", "Res", ".", "getNumOperands", "(", ")", "==", "2", "&&", "\"DivRem needs two values\"", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "0", ")", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "1", ")", ")", ";", "return", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "UDIV", ":", "case", "ISD", "::", "SDIV", ":", "assert", "(", "Subtarget", "->", "isTargetWindows", "(", ")", "&&", "\"can only expand DIV on Windows\"", ")", ";", "return", "ExpandDIV_Windows", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SDIV", ",", "Results", ")", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceCMP_SWAP_64Results", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "ReplaceLongIntrinsic", "(", "N", ",", "Results", ",", "DAG", ")", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SREM", "ISD::UREM", "ISD::SDIVREM", "ISD::UDIVREM", "0", "2", "\"DivRem needs two values\"", "0", "1", "ISD::READCYCLECOUNTER", "ISD::UDIV", "ISD::SDIV", "\"can only expand DIV on Windows\"", "0", "ISD::SDIV", "ISD::ATOMIC_CMP_SWAP", "ISD::INTRINSIC_WO_CHAIN"], "File": "ARMISelLowering108", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11005, "Length": 292} {"ground_truth": ["", "bool", "canMergeStoresTo", "(", "EVT", "MemVT", ")", "const", "override", "{", "return", "(", "MemVT", ".", "getSizeInBits", "(", ")", "<=", "32", ")", ";", "}", ""], "natrual_language": ["Returns", "if", "it", "'s", "reasonable", "to", "merge", "stores", "to", "MemVT", "size", "."], "TS_V_token": ["ARM", "32"], "File": "ARMISelLowering109", "Func": "canMergeStoresTo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11006, "Length": 21} {"ground_truth": ["", "ARMTargetLowering", "::", "ConstraintType", "ARMTargetLowering", "::", "getConstraintType", "(", "const", "std", "::", "string", "&", "Constraint", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "default", ":", "break", ";", "case", "'l'", ":", "return", "C_RegisterClass", ";", "case", "'w'", ":", "return", "C_RegisterClass", ";", "}", "}", "return", "TargetLowering", "::", "getConstraintType", "(", "Constraint", ")", ";", "}", ""], "natrual_language": ["Given", "a", "constraint", "letter", ",", "return", "the", "type", "of", "constraint", "for", "this", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "1", "0"], "File": "ARMISelLowering109", "Func": "getConstraintType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11007, "Length": 62} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPostIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDNode", "*", "Op", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "EVT", "VT", ";", "SDValue", "Ptr", ";", "bool", "isSEXTLoad", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "if", "(", "!", "isLegal", ")", "return", "false", ";", "AM", "=", "isInc", "?", "ISD", "::", "POST_INC", ":", "ISD", "::", "POST_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "this", "node", "can", "be", "combined", "with", "a", "load", "/", "store", "to", "form", "a", "post-indexed", "load", "/", "store", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::SEXTLOAD", "ARM", "ISD::POST_INC", "ISD::POST_DEC"], "File": "ARMISelLowering109", "Func": "getPostIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11008, "Length": 199} {"ground_truth": ["", "std", "::", "pair", "<", "unsigned", ",", "const", "TargetRegisterClass", "*", ">", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "std", "::", "string", "&", "Constraint", ",", "EVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "tGPRRegisterClass", ")", ";", "else", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'r'", ":", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "SPRRegisterClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "DPRRegisterClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "QPRRegisterClass", ")", ";", "break", ";", "}", "}", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegisterClass", "0U", "ARM::GPRRegisterClass", "0U", "ARM::GPRRegisterClass", "MVT::f32", "0U", "ARM::SPRRegisterClass", "64", "0U", "ARM::DPRRegisterClass", "128", "0U", "ARM::QPRRegisterClass"], "File": "ARMISelLowering109", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11009, "Length": 178} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isFPImmLegal", "(", "const", "APFloat", "&", "Imm", ",", "EVT", "VT", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasVFP3", "(", ")", ")", "return", "false", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "ARM", "::", "getVFPf32Imm", "(", "Imm", ")", "!=", "-", "1", ";", "if", "(", "VT", "==", "MVT", "::", "f64", ")", "return", "ARM", "::", "getVFPf64Imm", "(", "Imm", ")", "!=", "-", "1", ";", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "can", "instruction", "select", "the", "specified", "FP", "immediate", "natively", "."], "TS_V_token": ["ARM", "ARM", "MVT::f32", "ARM::getVFPf32Imm", "1", "MVT::f64", "ARM::getVFPf64Imm", "1"], "File": "ARMISelLowering109", "Func": "isFPImmLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11010, "Length": 69} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalAddressingMode", "(", "const", "AddrMode", "&", "AM", ",", "const", "Type", "*", "Ty", ")", "const", "{", "EVT", "VT", "=", "getValueType", "(", "Ty", ",", "true", ")", ";", "if", "(", "!", "isLegalAddressImmediate", "(", "AM", ".", "BaseOffs", ",", "VT", ",", "Subtarget", ")", ")", "return", "false", ";", "if", "(", "AM", ".", "BaseGV", ")", "return", "false", ";", "switch", "(", "AM", ".", "Scale", ")", "{", "case", "0", ":", "break", ";", "case", "1", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "default", ":", "if", "(", "AM", ".", "BaseOffs", ")", "return", "false", ";", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "isLegalT2ScaledAddressingMode", "(", "AM", ",", "VT", ")", ";", "int", "Scale", "=", "AM", ".", "Scale", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i1", ":", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i32", ":", "if", "(", "Scale", "<", "0", ")", "Scale", "=", "-", "Scale", ";", "if", "(", "Scale", "==", "1", ")", "return", "true", ";", "return", "isPowerOf2_32", "(", "Scale", "&", "~", "1", ")", ";", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i64", ":", "if", "(", "(", "(", "unsigned", ")", "AM", ".", "HasBaseReg", "+", "Scale", ")", "<=", "2", ")", "return", "true", ";", "return", "false", ";", "case", "MVT", "::", "isVoid", ":", "if", "(", "Scale", "&", "1", ")", "return", "false", ";", "return", "isPowerOf2_32", "(", "Scale", ")", ";", "}", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["isLegalAddressingMode", "-", "Return", "true", "if", "the", "addressing", "mode", "represented", "by", "AM", "is", "legal", "for", "this", "target", ",", "for", "a", "load/store", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "MVT::i1", "MVT::i8", "MVT::i32", "0", "1", "1", "MVT::i16", "MVT::i64", "2", "MVT::isVoid", "1"], "File": "ARMISelLowering109", "Func": "isLegalAddressingMode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11011, "Length": 244} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalICmpImmediate", "(", "int64_t", "Imm", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "ARM_AM", "::", "getSOImmVal", "(", "Imm", ")", "!=", "-", "1", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "ARM_AM", "::", "getT2SOImmVal", "(", "Imm", ")", "!=", "-", "1", ";", "return", "Imm", ">=", "0", "&&", "Imm", "<=", "255", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "immediate", "is", "legal", "icmp", "immediate", ",", "that", "is", "the", "target", "has", "icmp", "instructions", "which", "can", "compare", "a", "register", "against", "the", "immediate", "without", "having", "to", "materialize", "the", "immediate", "into", "a", "register", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::getSOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "0", "255"], "File": "ARMISelLowering109", "Func": "isLegalICmpImmediate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11012, "Length": 59} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "const", "SmallVectorImpl", "<", "int", ">", "&", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ";", "unsigned", "Imm", ",", "WhichResult", ";", "return", "(", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", "||", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTRNMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVUZPMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVZIPMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVTRN_v_undef_Mask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVUZP_v_undef_Mask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVZIP_v_undef_Mask", "(", "M", ",", "VT", ",", "WhichResult", ")", ")", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "0", "64", "32", "16"], "File": "ARMISelLowering109", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11013, "Length": 271} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "LowerOperation", "(", "SDValue", "Op", ",", "SelectionDAG", "&", "DAG", ")", "{", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom lower this!\"", ")", ";", "case", "ISD", "::", "ConstantPool", ":", "return", "LowerConstantPool", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BlockAddress", ":", "return", "LowerBlockAddress", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GlobalAddress", ":", "return", "Subtarget", "->", "isTargetDarwin", "(", ")", "?", "LowerGlobalAddressDarwin", "(", "Op", ",", "DAG", ")", ":", "LowerGlobalAddressELF", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GlobalTLSAddress", ":", "return", "LowerGlobalTLSAddress", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "SELECT_CC", ":", "return", "LowerSELECT_CC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BR_CC", ":", "return", "LowerBR_CC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BR_JT", ":", "return", "LowerBR_JT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "DYNAMIC_STACKALLOC", ":", "return", "LowerDYNAMIC_STACKALLOC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "VASTART", ":", "return", "LowerVASTART", "(", "Op", ",", "DAG", ",", "VarArgsFrameIndex", ")", ";", "case", "ISD", "::", "MEMBARRIER", ":", "return", "LowerMEMBARRIER", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SINT_TO_FP", ":", "case", "ISD", "::", "UINT_TO_FP", ":", "return", "LowerINT_TO_FP", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FP_TO_SINT", ":", "case", "ISD", "::", "FP_TO_UINT", ":", "return", "LowerFP_TO_INT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FCOPYSIGN", ":", "return", "LowerFCOPYSIGN", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "RETURNADDR", ":", "break", ";", "case", "ISD", "::", "FRAMEADDR", ":", "return", "LowerFRAMEADDR", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GLOBAL_OFFSET_TABLE", ":", "return", "LowerGLOBAL_OFFSET_TABLE", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "LowerINTRINSIC_WO_CHAIN", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "BIT_CONVERT", ":", "return", "ExpandBIT_CONVERT", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ")", ";", "case", "ISD", "::", "SHL", ":", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "return", "LowerShift", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SHL_PARTS", ":", "return", "LowerShiftLeftParts", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "SRL_PARTS", ":", "case", "ISD", "::", "SRA_PARTS", ":", "return", "LowerShiftRightParts", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "CTTZ", ":", "return", "LowerCTTZ", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "VSETCC", ":", "return", "LowerVSETCC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BUILD_VECTOR", ":", "return", "LowerBUILD_VECTOR", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "VECTOR_SHUFFLE", ":", "return", "LowerVECTOR_SHUFFLE", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "EXTRACT_VECTOR_ELT", ":", "return", "LowerEXTRACT_VECTOR_ELT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "CONCAT_VECTORS", ":", "return", "LowerCONCAT_VECTORS", "(", "Op", ",", "DAG", ")", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["LowerOperation", "-", "Provide", "custom", "lowering", "hooks", "for", "some", "operations", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom lower this!\"", "ISD::ConstantPool", "ISD::BlockAddress", "ISD::GlobalAddress", "ISD::GlobalTLSAddress", "ISD::SELECT_CC", "ISD::BR_CC", "ISD::BR_JT", "ISD::DYNAMIC_STACKALLOC", "ISD::VASTART", "ISD::MEMBARRIER", "ISD::SINT_TO_FP", "ISD::UINT_TO_FP", "ISD::FP_TO_SINT", "ISD::FP_TO_UINT", "ISD::FCOPYSIGN", "ISD::RETURNADDR", "ISD::FRAMEADDR", "ISD::GLOBAL_OFFSET_TABLE", "ISD::INTRINSIC_WO_CHAIN", "ISD::BIT_CONVERT", "ISD::SHL", "ISD::SRL", "ISD::SRA", "ISD::SHL_PARTS", "ISD::SRL_PARTS", "ISD::SRA_PARTS", "ISD::CTTZ", "ISD::VSETCC", "ISD::BUILD_VECTOR", "ISD::VECTOR_SHUFFLE", "ISD::EXTRACT_VECTOR_ELT", "ISD::CONCAT_VECTORS"], "File": "ARMISelLowering109", "Func": "LowerOperation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11014, "Length": 441} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformDAGCombine", "(", "SDNode", "*", "N", ",", "DAGCombinerInfo", "&", "DCI", ")", "const", "{", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ISD", "::", "ADD", ":", "return", "PerformADDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "SUB", ":", "return", "PerformSUBCombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "VMOVRRD", ":", "return", "PerformVMOVRRDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "PerformIntrinsicCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ISD", "::", "SHL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SRL", ":", "return", "PerformShiftCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "case", "ISD", "::", "ANY_EXTEND", ":", "return", "PerformExtendCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SELECT_CC", ":", "return", "PerformSELECT_CCCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["This", "method", "will", "be", "invoked", "for", "all", "target", "nodes", "and", "for", "any", "target-independent", "nodes", "that", "the", "target", "has", "registered", "with", "invoke", "it", "for", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::SUB", "ARMISD::VMOVRRD", "ISD::INTRINSIC_WO_CHAIN", "ISD::SHL", "ISD::SRA", "ISD::SRL", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND", "ISD::ANY_EXTEND", "ISD::SELECT_CC"], "File": "ARMISelLowering109", "Func": "PerformDAGCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11015, "Length": 160} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "{", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "return", ";", "case", "ISD", "::", "BIT_CONVERT", ":", "Results", ".", "push_back", "(", "ExpandBIT_CONVERT", "(", "N", ",", "DAG", ")", ")", ";", "return", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "{", "SDValue", "Res", "=", "LowerShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "return", ";", "}", "}", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::BIT_CONVERT", "ISD::SRL", "ISD::SRA"], "File": "ARMISelLowering109", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11016, "Length": 101} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "allowsMisalignedMemoryAccesses", "(", "EVT", "VT", ",", "unsigned", ",", "unsigned", "Alignment", ",", "MachineMemOperand", "::", "Flags", ",", "bool", "*", "Fast", ")", "const", "{", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "bool", "AllowsUnaligned", "=", "Subtarget", "->", "allowsUnalignedMem", "(", ")", ";", "auto", "Ty", "=", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ";", "if", "(", "Ty", "==", "MVT", "::", "i8", "||", "Ty", "==", "MVT", "::", "i16", "||", "Ty", "==", "MVT", "::", "i32", ")", "{", "if", "(", "AllowsUnaligned", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "return", "true", ";", "}", "}", "if", "(", "Ty", "==", "MVT", "::", "f64", "||", "Ty", "==", "MVT", "::", "v2f64", ")", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "AllowsUnaligned", "||", "Subtarget", "->", "isLittle", "(", ")", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "}", "if", "(", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "Ty", "!=", "MVT", "::", "v16i8", "&&", "Ty", "!=", "MVT", "::", "v8i16", "&&", "Ty", "!=", "MVT", "::", "v8f16", "&&", "Ty", "!=", "MVT", "::", "v4i32", "&&", "Ty", "!=", "MVT", "::", "v4f32", "&&", "Ty", "!=", "MVT", "::", "v2i64", "&&", "Ty", "!=", "MVT", "::", "v2f64", "&&", "Ty", "!=", "MVT", "::", "v4i8", "&&", "Ty", "!=", "MVT", "::", "v8i8", "&&", "Ty", "!=", "MVT", "::", "v4i16", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "isLittle", "(", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "else", "{", "if", "(", "Ty", "==", "MVT", "::", "v16i8", "||", "(", "(", "Ty", "==", "MVT", "::", "v8i16", "||", "Ty", "==", "MVT", "::", "v8f16", ")", "&&", "Alignment", ">=", "2", ")", "||", "(", "(", "Ty", "==", "MVT", "::", "v4i32", "||", "Ty", "==", "MVT", "::", "v4f32", ")", "&&", "Alignment", ">=", "4", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "allows", "unaligned", "memory", "accesses", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::i8", "MVT::i16", "MVT::i32", "MVT::f64", "MVT::v2f64", "MVT::v16i8", "MVT::v8i16", "MVT::v8f16", "MVT::v4i32", "MVT::v4f32", "MVT::v2i64", "MVT::v2f64", "MVT::v4i8", "MVT::v8i8", "MVT::v4i16", "MVT::v16i8", "MVT::v8i16", "MVT::v8f16", "2", "MVT::v4i32", "MVT::v4f32", "4"], "File": "ARMISelLowering10", "Func": "allowsMisalignedMemoryAccesses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11017, "Length": 315} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "ArrayRef", "<", "int", ">", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", "&&", "(", "Subtarget", "->", "hasNEON", "(", ")", "||", "isLegalMVEShuffleOp", "(", "PFEntry", ")", ")", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ",", "isV_UNDEF", ";", "unsigned", "Imm", ",", "WhichResult", ";", "unsigned", "EltSize", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "if", "(", "EltSize", ">=", "32", "||", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", ")", "return", "true", ";", "else", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTBLMask", "(", "M", ",", "VT", ")", "||", "isNEONTwoResultShuffleMask", "(", "M", ",", "VT", ",", "WhichResult", ",", "isV_UNDEF", ")", ")", ")", "return", "true", ";", "else", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "VT", "==", "MVT", "::", "v8i16", "||", "VT", "==", "MVT", "::", "v16i8", ")", "&&", "isReverseMask", "(", "M", ",", "VT", ")", ")", "return", "true", ";", "else", "return", "false", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "32", "0", "64", "32", "16", "MVT::v8i16", "MVT::v16i8"], "File": "ARMISelLowering10", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11018, "Length": 314} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isVectorLoadExtDesirable", "(", "SDValue", "ExtVal", ")", "const", "{", "EVT", "VT", "=", "ExtVal", ".", "getValueType", "(", ")", ";", "if", "(", "!", "isTypeLegal", "(", "VT", ")", ")", "return", "false", ";", "if", "(", "ExtVal", "->", "use_empty", "(", ")", "||", "!", "ExtVal", "->", "use_begin", "(", ")", "->", "isOnlyUserOf", "(", "ExtVal", ".", "getNode", "(", ")", ")", ")", "return", "true", ";", "SDNode", "*", "U", "=", "*", "ExtVal", "->", "use_begin", "(", ")", ";", "if", "(", "(", "U", "->", "getOpcode", "(", ")", "==", "ISD", "::", "ADD", "||", "U", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SUB", "||", "U", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SHL", "||", "U", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "VSHLIMM", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "folding", "a", "vector", "load", "into", "ExtVal", "(", "a", "sign", ",", "zero", ",", "or", "any", "extend", "node", ")", "is", "profitable", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::SUB", "ISD::SHL", "ARMISD::VSHLIMM"], "File": "ARMISelLowering10", "Func": "isVectorLoadExtDesirable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11019, "Length": 119} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SHL", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SDIVREM", ":", "case", "ISD", "::", "UDIVREM", ":", "Res", "=", "LowerDivRem", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ")", ";", "assert", "(", "Res", ".", "getNumOperands", "(", ")", "==", "2", "&&", "\"DivRem needs two values\"", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "0", ")", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "1", ")", ")", ";", "return", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "UDIV", ":", "case", "ISD", "::", "SDIV", ":", "assert", "(", "Subtarget", "->", "isTargetWindows", "(", ")", "&&", "\"can only expand DIV on Windows\"", ")", ";", "return", "ExpandDIV_Windows", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SDIV", ",", "Results", ")", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceCMP_SWAP_64Results", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "ReplaceLongIntrinsic", "(", "N", ",", "Results", ",", "DAG", ")", ";", "case", "ISD", "::", "ABS", ":", "lowerABS", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SHL", "ISD::SREM", "ISD::UREM", "ISD::SDIVREM", "ISD::UDIVREM", "0", "2", "\"DivRem needs two values\"", "0", "1", "ISD::READCYCLECOUNTER", "ISD::UDIV", "ISD::SDIV", "\"can only expand DIV on Windows\"", "0", "ISD::SDIV", "ISD::ATOMIC_CMP_SWAP", "ISD::INTRINSIC_WO_CHAIN", "ISD::ABS"], "File": "ARMISelLowering10", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11020, "Length": 315} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldSinkOperands", "(", "Instruction", "*", "I", ",", "SmallVectorImpl", "<", "Use", "*", ">", "&", "Ops", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", "||", "!", "I", "->", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", "false", ";", "switch", "(", "I", "->", "getOpcode", "(", ")", ")", "{", "case", "Instruction", "::", "Sub", ":", "case", "Instruction", "::", "Add", ":", "{", "if", "(", "!", "areExtractExts", "(", "I", "->", "getOperand", "(", "0", ")", ",", "I", "->", "getOperand", "(", "1", ")", ")", ")", "return", "false", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "0", ")", ")", ";", "Ops", ".", "push_back", "(", "&", "I", "->", "getOperandUse", "(", "1", ")", ")", ";", "return", "true", ";", "}", "default", ":", "return", "false", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "sinking", "I", "'s", "operands", "to", "the", "same", "basic", "block", "as", "I", "is", "profitable", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "0", "1"], "File": "ARMISelLowering10", "Func": "shouldSinkOperands", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11021, "Length": 125} {"ground_truth": ["", "Instruction", "*", "ARMTargetLowering", "::", "emitLeadingFence", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "AtomicOrdering", "Ord", ",", "bool", "IsStore", ",", "bool", "IsLoad", ")", "const", "{", "switch", "(", "Ord", ")", "{", "case", "AtomicOrdering", "::", "NotAtomic", ":", "case", "AtomicOrdering", "::", "Unordered", ":", "llvm_unreachable", "(", "\"Invalid fence: unordered/non-atomic\"", ")", ";", "case", "AtomicOrdering", "::", "Monotonic", ":", "case", "AtomicOrdering", "::", "Acquire", ":", "return", "nullptr", ";", "case", "AtomicOrdering", "::", "SequentiallyConsistent", ":", "if", "(", "!", "IsStore", ")", "return", "nullptr", ";", "case", "AtomicOrdering", "::", "Release", ":", "case", "AtomicOrdering", "::", "AcquireRelease", ":", "if", "(", "Subtarget", "->", "isSwift", "(", ")", ")", "return", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISHST", ")", ";", "else", "return", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISH", ")", ";", "}", "llvm_unreachable", "(", "\"Unknown fence ordering in emitLeadingFence\"", ")", ";", "}", ""], "natrual_language": ["Custom", "Lower", "{", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fence: unordered/non-atomic\"", "ARM_MB::ISHST", "ARM_MB::ISH", "\"Unknown fence ordering in emitLeadingFence\""], "File": "ARMISelLowering112", "Func": "emitLeadingFence", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11022, "Length": 115} {"ground_truth": ["", "FastISel", "*", "ARMTargetLowering", "::", "createFastISel", "(", "FunctionLoweringInfo", "&", "funcInfo", ")", "const", "{", "return", "ARM", "::", "createFastISel", "(", "funcInfo", ")", ";", "}", ""], "natrual_language": ["This", "method", "returns", "a", "target", "specific", "FastISel", "object", ",", "or", "null", "if", "the", "target", "does", "not", "support", "``", "fast", "''", "ISel", "."], "TS_V_token": ["ARM", "ARM", "ARM::createFastISel"], "File": "ARMISelLowering114", "Func": "createFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11023, "Length": 21} {"ground_truth": ["", "std", "::", "pair", "<", "const", "TargetRegisterClass", "*", ",", "uint8_t", ">", "ARMTargetLowering", "::", "findRepresentativeClass", "(", "EVT", "VT", ")", "const", "{", "const", "TargetRegisterClass", "*", "RRC", "=", "0", ";", "uint8_t", "Cost", "=", "1", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "TargetLowering", "::", "findRepresentativeClass", "(", "VT", ")", ";", "case", "MVT", "::", "f32", ":", "case", "MVT", "::", "f64", ":", "case", "MVT", "::", "v8i8", ":", "case", "MVT", "::", "v4i16", ":", "case", "MVT", "::", "v2i32", ":", "case", "MVT", "::", "v1i64", ":", "case", "MVT", "::", "v2f32", ":", "RRC", "=", "ARM", "::", "DPRRegisterClass", ";", "if", "(", "Subtarget", "->", "useNEONForSinglePrecisionFP", "(", ")", ")", "Cost", "=", "2", ";", "break", ";", "case", "MVT", "::", "v16i8", ":", "case", "MVT", "::", "v8i16", ":", "case", "MVT", "::", "v4i32", ":", "case", "MVT", "::", "v2i64", ":", "case", "MVT", "::", "v4f32", ":", "case", "MVT", "::", "v2f64", ":", "RRC", "=", "ARM", "::", "DPRRegisterClass", ";", "Cost", "=", "2", ";", "break", ";", "case", "MVT", "::", "v4i64", ":", "RRC", "=", "ARM", "::", "DPRRegisterClass", ";", "Cost", "=", "4", ";", "break", ";", "case", "MVT", "::", "v8i64", ":", "RRC", "=", "ARM", "::", "DPRRegisterClass", ";", "Cost", "=", "8", ";", "break", ";", "}", "return", "std", "::", "make_pair", "(", "RRC", ",", "Cost", ")", ";", "}", ""], "natrual_language": ["Return", "the", "largest", "legal", "super-reg", "register", "class", "of", "the", "register", "class", "for", "the", "specified", "type", "and", "its", "associated", "``", "cost", "''", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "MVT::f32", "MVT::f64", "MVT::v8i8", "MVT::v4i16", "MVT::v2i32", "MVT::v1i64", "MVT::v2f32", "ARM::DPRRegisterClass", "2", "MVT::v16i8", "MVT::v8i16", "MVT::v4i32", "MVT::v2i64", "MVT::v4f32", "MVT::v2f64", "ARM::DPRRegisterClass", "2", "MVT::v4i64", "ARM::DPRRegisterClass", "4", "MVT::v8i64", "ARM::DPRRegisterClass", "8"], "File": "ARMISelLowering114", "Func": "findRepresentativeClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11024, "Length": 195} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "uint64_t", "Size", ",", "unsigned", "DstAlign", ",", "unsigned", "SrcAlign", ",", "bool", "IsZeroVal", ",", "bool", "MemcpyStrSrc", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "if", "(", "IsZeroVal", "&&", "!", "F", "->", "hasFnAttr", "(", "Attribute", "::", "NoImplicitFloat", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "if", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "16", ")", "&&", "Size", ">=", "16", ")", "{", "return", "MVT", "::", "v4i32", ";", "}", "else", "if", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "8", ")", "&&", "Size", ">=", "8", ")", "{", "return", "MVT", "::", "v2i32", ";", "}", "}", "if", "(", "Size", ">=", "4", ")", "{", "return", "MVT", "::", "i32", ";", "}", "else", "if", "(", "Size", ">=", "2", ")", "{", "return", "MVT", "::", "i16", ";", "}", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v4i32", "8", "8", "MVT::v2i32", "4", "MVT::i32", "2", "MVT::i16", "MVT::Other"], "File": "ARMISelLowering114", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11025, "Length": 137} {"ground_truth": ["", "TargetRegisterClass", "*", "ARMTargetLowering", "::", "getRegClassFor", "(", "EVT", "VT", ")", "const", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "if", "(", "VT", "==", "MVT", "::", "v4i64", ")", "return", "ARM", "::", "QQPRRegisterClass", ";", "else", "if", "(", "VT", "==", "MVT", "::", "v8i64", ")", "return", "ARM", "::", "QQQQPRRegisterClass", ";", "}", "return", "TargetLowering", "::", "getRegClassFor", "(", "VT", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "class", "that", "should", "be", "used", "for", "the", "specified", "value", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::v4i64", "ARM::QQPRRegisterClass", "MVT::v8i64", "ARM::QQQQPRRegisterClass"], "File": "ARMISelLowering114", "Func": "getRegClassFor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11026, "Length": 57} {"ground_truth": ["", "RCPair", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "std", "::", "string", "&", "Constraint", ",", "EVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "ARM", "::", "tGPRRegisterClass", ")", ";", "else", "return", "RCPair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'h'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "ARM", "::", "hGPRRegisterClass", ")", ";", "break", ";", "case", "'r'", ":", "return", "RCPair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "ARM", "::", "SPRRegisterClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "ARM", "::", "DPRRegisterClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "ARM", "::", "QPRRegisterClass", ")", ";", "break", ";", "case", "'x'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "ARM", "::", "SPR_8RegisterClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "ARM", "::", "DPR_8RegisterClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "ARM", "::", "QPR_8RegisterClass", ")", ";", "break", ";", "case", "'t'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "ARM", "::", "SPRRegisterClass", ")", ";", "break", ";", "}", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_lower", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "unsigned", "(", "ARM", "::", "CPSR", ")", ",", "ARM", "::", "CCRRegisterClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegisterClass", "0U", "ARM::GPRRegisterClass", "0U", "ARM::hGPRRegisterClass", "0U", "ARM::GPRRegisterClass", "MVT::f32", "0U", "ARM::SPRRegisterClass", "64", "0U", "ARM::DPRRegisterClass", "128", "0U", "ARM::QPRRegisterClass", "MVT::f32", "0U", "ARM::SPR_8RegisterClass", "64", "0U", "ARM::DPR_8RegisterClass", "128", "0U", "ARM::QPR_8RegisterClass", "MVT::f32", "0U", "ARM::SPRRegisterClass", "\"{cc}\"", "ARM::CPSR", "ARM::CCRRegisterClass"], "File": "ARMISelLowering114", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11027, "Length": 295} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalAddImmediate", "(", "int64_t", "Imm", ")", "const", "{", "return", "ARM_AM", "::", "getSOImmVal", "(", "Imm", ")", "!=", "-", "1", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "specified", "immediate", "is", "legal", "add", "immediate", ",", "that", "is", "the", "target", "has", "add", "instructions", "which", "can", "add", "a", "register", "and", "the", "immediate", "without", "having", "to", "materialize", "the", "immediate", "into", "a", "register", "."], "TS_V_token": ["ARM", "ARM", "ARM_AM::getSOImmVal", "1"], "File": "ARMISelLowering114", "Func": "isLegalAddImmediate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11028, "Length": 22} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isUsedByReturnOnly", "(", "SDNode", "*", "N", ")", "const", "{", "if", "(", "N", "->", "getNumValues", "(", ")", "!=", "1", ")", "return", "false", ";", "if", "(", "!", "N", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "unsigned", "NumCopies", "=", "0", ";", "SDNode", "*", "Copies", "[", "2", "]", ";", "SDNode", "*", "Use", "=", "*", "N", "->", "use_begin", "(", ")", ";", "if", "(", "Use", "->", "getOpcode", "(", ")", "==", "ISD", "::", "CopyToReg", ")", "{", "Copies", "[", "NumCopies", "++", "]", "=", "Use", ";", "}", "else", "if", "(", "Use", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "VMOVRRD", ")", "{", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "Use", "->", "use_begin", "(", ")", ",", "UE", "=", "Use", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "if", "(", "UI", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", ")", "return", "false", ";", "Copies", "[", "UI", ".", "getUse", "(", ")", ".", "getResNo", "(", ")", "]", "=", "*", "UI", ";", "++", "NumCopies", ";", "}", "}", "else", "if", "(", "Use", "->", "getOpcode", "(", ")", "==", "ISD", "::", "BITCAST", ")", "{", "if", "(", "!", "Use", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "Use", "=", "*", "Use", "->", "use_begin", "(", ")", ";", "if", "(", "Use", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", "||", "!", "Use", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "Copies", "[", "NumCopies", "++", "]", "=", "Use", ";", "}", "else", "{", "return", "false", ";", "}", "if", "(", "NumCopies", "!=", "1", "&&", "NumCopies", "!=", "2", ")", "return", "false", ";", "bool", "HasRet", "=", "false", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "NumCopies", ";", "++", "i", ")", "{", "SDNode", "*", "Copy", "=", "Copies", "[", "i", "]", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "Copy", "->", "use_begin", "(", ")", ",", "UE", "=", "Copy", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "if", "(", "UI", "->", "getOpcode", "(", ")", "==", "ISD", "::", "CopyToReg", ")", "{", "SDNode", "*", "Use", "=", "*", "UI", ";", "if", "(", "Use", "==", "Copies", "[", "0", "]", "||", "Use", "==", "Copies", "[", "1", "]", ")", "continue", ";", "return", "false", ";", "}", "if", "(", "UI", "->", "getOpcode", "(", ")", "!=", "ARMISD", "::", "RET_FLAG", ")", "return", "false", ";", "HasRet", "=", "true", ";", "}", "}", "return", "HasRet", ";", "}", ""], "natrual_language": ["Return", "true", "if", "result", "of", "the", "specified", "node", "is", "used", "by", "a", "return", "node", "only", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0", "0", "2", "ISD::CopyToReg", "ARMISD::VMOVRRD", "ISD::CopyToReg", "ISD::BITCAST", "1", "0", "ISD::CopyToReg", "1", "0", "1", "2", "0", "ISD::CopyToReg", "0", "1", "ARMISD::RET_FLAG"], "File": "ARMISelLowering114", "Func": "isUsedByReturnOnly", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11029, "Length": 379} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "mayBeEmittedAsTailCall", "(", "CallInst", "*", "CI", ")", "const", "{", "if", "(", "!", "EnableARMTailCalls", ")", "return", "false", ";", "if", "(", "!", "CI", "->", "isTailCall", "(", ")", ")", "return", "false", ";", "return", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "may", "be", "able", "emit", "the", "call", "instruction", "as", "a", "tail", "call", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMISelLowering114", "Func": "mayBeEmittedAsTailCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11030, "Length": 40} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformCMOVCombine", "(", "SDNode", "*", "N", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Cmp", "=", "N", "->", "getOperand", "(", "4", ")", ";", "if", "(", "Cmp", ".", "getOpcode", "(", ")", "!=", "ARMISD", "::", "CMPZ", ")", "return", "SDValue", "(", ")", ";", "EVT", "VT", "=", "N", "->", "getValueType", "(", "0", ")", ";", "DebugLoc", "dl", "=", "N", "->", "getDebugLoc", "(", ")", ";", "SDValue", "LHS", "=", "Cmp", ".", "getOperand", "(", "0", ")", ";", "SDValue", "RHS", "=", "Cmp", ".", "getOperand", "(", "1", ")", ";", "SDValue", "FalseVal", "=", "N", "->", "getOperand", "(", "0", ")", ";", "SDValue", "TrueVal", "=", "N", "->", "getOperand", "(", "1", ")", ";", "SDValue", "ARMcc", "=", "N", "->", "getOperand", "(", "2", ")", ";", "ARMCC", "::", "CondCodes", "CC", "=", "(", "ARMCC", "::", "CondCodes", ")", "cast", "<", "ConstantSDNode", ">", "(", "ARMcc", ")", "->", "getZExtValue", "(", ")", ";", "SDValue", "Res", ";", "if", "(", "CC", "==", "ARMCC", "::", "NE", "&&", "FalseVal", "==", "RHS", "&&", "FalseVal", "!=", "LHS", ")", "{", "Res", "=", "DAG", ".", "getNode", "(", "ARMISD", "::", "CMOV", ",", "dl", ",", "VT", ",", "LHS", ",", "TrueVal", ",", "ARMcc", ",", "N", "->", "getOperand", "(", "3", ")", ",", "Cmp", ")", ";", "}", "else", "if", "(", "CC", "==", "ARMCC", "::", "EQ", "&&", "TrueVal", "==", "RHS", ")", "{", "SDValue", "ARMcc", ";", "SDValue", "NewCmp", "=", "getARMCmp", "(", "LHS", ",", "RHS", ",", "ISD", "::", "SETNE", ",", "ARMcc", ",", "DAG", ",", "dl", ")", ";", "Res", "=", "DAG", ".", "getNode", "(", "ARMISD", "::", "CMOV", ",", "dl", ",", "VT", ",", "LHS", ",", "FalseVal", ",", "ARMcc", ",", "N", "->", "getOperand", "(", "3", ")", ",", "NewCmp", ")", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "{", "APInt", "KnownZero", ",", "KnownOne", ";", "APInt", "Mask", "=", "APInt", "::", "getAllOnesValue", "(", "VT", ".", "getScalarType", "(", ")", ".", "getSizeInBits", "(", ")", ")", ";", "DAG", ".", "ComputeMaskedBits", "(", "SDValue", "(", "N", ",", "0", ")", ",", "Mask", ",", "KnownZero", ",", "KnownOne", ")", ";", "if", "(", "KnownZero", "==", "0xfffffffe", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i1", ")", ")", ";", "else", "if", "(", "KnownZero", "==", "0xffffff00", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i8", ")", ")", ";", "else", "if", "(", "KnownZero", "==", "0xffff0000", ")", "Res", "=", "DAG", ".", "getNode", "(", "ISD", "::", "AssertZext", ",", "dl", ",", "MVT", "::", "i32", ",", "Res", ",", "DAG", ".", "getValueType", "(", "MVT", "::", "i16", ")", ")", ";", "}", "return", "Res", ";", "}", ""], "natrual_language": ["PerformCMOVCombine", "-", "Target-specific", "DAG", "combining", "for", "ARMISD", ":", ":CMOV", "."], "TS_V_token": ["ARM", "ARM", "4", "ARMISD::CMPZ", "0", "0", "1", "0", "1", "ARM", "2", "ARMCC::CondCodes", "ARMCC::CondCodes", "ARM", "ARMCC::NE", "ARMISD::CMOV", "ARM", "3", "ARMCC::EQ", "ARM", "ARM", "ISD::SETNE", "ARM", "ARMISD::CMOV", "ARM", "3", "0", "0xfffffffe", "ISD::AssertZext", "MVT::i32", "MVT::i1", "0xffffff00", "ISD::AssertZext", "MVT::i32", "MVT::i8", "0xffff0000", "ISD::AssertZext", "MVT::i32", "MVT::i16"], "File": "ARMISelLowering114", "Func": "PerformCMOVCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11031, "Length": 411} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformDAGCombine", "(", "SDNode", "*", "N", ",", "DAGCombinerInfo", "&", "DCI", ")", "const", "{", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ISD", "::", "ADD", ":", "return", "PerformADDCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SUB", ":", "return", "PerformSUBCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "MUL", ":", "return", "PerformMULCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "OR", ":", "return", "PerformORCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "AND", ":", "return", "PerformANDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "BFI", ":", "return", "PerformBFICombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "VMOVRRD", ":", "return", "PerformVMOVRRDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "VMOVDRR", ":", "return", "PerformVMOVDRRCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ISD", "::", "STORE", ":", "return", "PerformSTORECombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "BUILD_VECTOR", ":", "return", "PerformBUILD_VECTORCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "INSERT_VECTOR_ELT", ":", "return", "PerformInsertEltCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "VECTOR_SHUFFLE", ":", "return", "PerformVECTOR_SHUFFLECombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ARMISD", "::", "VDUPLANE", ":", "return", "PerformVDUPLANECombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "FP_TO_SINT", ":", "case", "ISD", "::", "FP_TO_UINT", ":", "return", "PerformVCVTCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "FDIV", ":", "return", "PerformVDIVCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "PerformIntrinsicCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ISD", "::", "SHL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SRL", ":", "return", "PerformShiftCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "case", "ISD", "::", "ANY_EXTEND", ":", "return", "PerformExtendCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SELECT_CC", ":", "return", "PerformSELECT_CCCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ARMISD", "::", "CMOV", ":", "return", "PerformCMOVCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ARMISD", "::", "VLD2DUP", ":", "case", "ARMISD", "::", "VLD3DUP", ":", "case", "ARMISD", "::", "VLD4DUP", ":", "return", "CombineBaseUpdate", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "INTRINSIC_VOID", ":", "case", "ISD", "::", "INTRINSIC_W_CHAIN", ":", "switch", "(", "cast", "<", "ConstantSDNode", ">", "(", "N", "->", "getOperand", "(", "1", ")", ")", "->", "getZExtValue", "(", ")", ")", "{", "case", "Intrinsic", "::", "arm_neon_vld1", ":", "case", "Intrinsic", "::", "arm_neon_vld2", ":", "case", "Intrinsic", "::", "arm_neon_vld3", ":", "case", "Intrinsic", "::", "arm_neon_vld4", ":", "case", "Intrinsic", "::", "arm_neon_vld2lane", ":", "case", "Intrinsic", "::", "arm_neon_vld3lane", ":", "case", "Intrinsic", "::", "arm_neon_vld4lane", ":", "case", "Intrinsic", "::", "arm_neon_vst1", ":", "case", "Intrinsic", "::", "arm_neon_vst2", ":", "case", "Intrinsic", "::", "arm_neon_vst3", ":", "case", "Intrinsic", "::", "arm_neon_vst4", ":", "case", "Intrinsic", "::", "arm_neon_vst2lane", ":", "case", "Intrinsic", "::", "arm_neon_vst3lane", ":", "case", "Intrinsic", "::", "arm_neon_vst4lane", ":", "return", "CombineBaseUpdate", "(", "N", ",", "DCI", ")", ";", "default", ":", "break", ";", "}", "break", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["This", "method", "will", "be", "invoked", "for", "all", "target", "nodes", "and", "for", "any", "target-independent", "nodes", "that", "the", "target", "has", "registered", "with", "invoke", "it", "for", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::SUB", "ISD::MUL", "ISD::OR", "ISD::AND", "ARMISD::BFI", "ARMISD::VMOVRRD", "ARMISD::VMOVDRR", "ISD::STORE", "ISD::BUILD_VECTOR", "ISD::INSERT_VECTOR_ELT", "ISD::VECTOR_SHUFFLE", "ARMISD::VDUPLANE", "ISD::FP_TO_SINT", "ISD::FP_TO_UINT", "ISD::FDIV", "ISD::INTRINSIC_WO_CHAIN", "ISD::SHL", "ISD::SRA", "ISD::SRL", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND", "ISD::ANY_EXTEND", "ISD::SELECT_CC", "ARMISD::CMOV", "ARMISD::VLD2DUP", "ARMISD::VLD3DUP", "ARMISD::VLD4DUP", "ISD::INTRINSIC_VOID", "ISD::INTRINSIC_W_CHAIN", "1", "Intrinsic::arm_neon_vld1", "Intrinsic::arm_neon_vld2", "Intrinsic::arm_neon_vld3", "Intrinsic::arm_neon_vld4", "Intrinsic::arm_neon_vld2lane", "Intrinsic::arm_neon_vld3lane", "Intrinsic::arm_neon_vld4lane", "Intrinsic::arm_neon_vst1", "Intrinsic::arm_neon_vst2", "Intrinsic::arm_neon_vst3", "Intrinsic::arm_neon_vst4", "Intrinsic::arm_neon_vst2lane", "Intrinsic::arm_neon_vst3lane", "Intrinsic::arm_neon_vst4lane"], "File": "ARMISelLowering114", "Func": "PerformDAGCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11032, "Length": 488} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMTargetLowering", "::", "getRegClassFor", "(", "EVT", "VT", ")", "const", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "if", "(", "VT", "==", "MVT", "::", "v4i64", ")", "return", "ARM", "::", "QQPRRegisterClass", ";", "else", "if", "(", "VT", "==", "MVT", "::", "v8i64", ")", "return", "ARM", "::", "QQQQPRRegisterClass", ";", "}", "return", "TargetLowering", "::", "getRegClassFor", "(", "VT", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "class", "that", "should", "be", "used", "for", "the", "specified", "value", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::v4i64", "ARM::QQPRRegisterClass", "MVT::v8i64", "ARM::QQQQPRRegisterClass"], "File": "ARMISelLowering116", "Func": "getRegClassFor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11033, "Length": 58} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "HandleByVal", "(", "CCState", "*", "State", ",", "unsigned", "&", "size", ")", "const", "{", "unsigned", "reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "assert", "(", "(", "State", "->", "getCallOrPrologue", "(", ")", "==", "Prologue", "||", "State", "->", "getCallOrPrologue", "(", ")", "==", "Call", ")", "&&", "\"unhandled ParmContext\"", ")", ";", "if", "(", "(", "!", "State", "->", "isFirstByValRegValid", "(", ")", ")", "&&", "(", "ARM", "::", "R0", "<=", "reg", ")", "&&", "(", "reg", "<=", "ARM", "::", "R3", ")", ")", "{", "State", "->", "setFirstByValReg", "(", "reg", ")", ";", "if", "(", "State", "->", "getCallOrPrologue", "(", ")", "==", "Call", ")", "{", "unsigned", "excess", "=", "4", "*", "(", "ARM", "::", "R4", "-", "reg", ")", ";", "assert", "(", "size", ">=", "excess", "&&", "\"expected larger existing stack allocation\"", ")", ";", "size", "-=", "excess", ";", "}", "}", "while", "(", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ")", ";", "}", ""], "natrual_language": ["Target-specific", "cleanup", "for", "formal", "ByVal", "parameters", "."], "TS_V_token": ["ARM", "ARM", "4", "\"unhandled ParmContext\"", "ARM::R0", "ARM::R3", "4", "ARM::R4", "\"expected larger existing stack allocation\"", "4"], "File": "ARMISelLowering116", "Func": "HandleByVal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11034, "Length": 137} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformDAGCombine", "(", "SDNode", "*", "N", ",", "DAGCombinerInfo", "&", "DCI", ")", "const", "{", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ISD", "::", "ADD", ":", "return", "PerformADDCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SUB", ":", "return", "PerformSUBCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "MUL", ":", "return", "PerformMULCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "OR", ":", "return", "PerformORCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "XOR", ":", "return", "PerformXORCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "AND", ":", "return", "PerformANDCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ARMISD", "::", "BFI", ":", "return", "PerformBFICombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "VMOVRRD", ":", "return", "PerformVMOVRRDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "VMOVDRR", ":", "return", "PerformVMOVDRRCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ISD", "::", "STORE", ":", "return", "PerformSTORECombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "BUILD_VECTOR", ":", "return", "PerformBUILD_VECTORCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "INSERT_VECTOR_ELT", ":", "return", "PerformInsertEltCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "VECTOR_SHUFFLE", ":", "return", "PerformVECTOR_SHUFFLECombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ARMISD", "::", "VDUPLANE", ":", "return", "PerformVDUPLANECombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "FP_TO_SINT", ":", "case", "ISD", "::", "FP_TO_UINT", ":", "return", "PerformVCVTCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "FDIV", ":", "return", "PerformVDIVCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "PerformIntrinsicCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ISD", "::", "SHL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SRL", ":", "return", "PerformShiftCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "case", "ISD", "::", "ANY_EXTEND", ":", "return", "PerformExtendCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SELECT_CC", ":", "return", "PerformSELECT_CCCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ARMISD", "::", "CMOV", ":", "return", "PerformCMOVCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ARMISD", "::", "VLD2DUP", ":", "case", "ARMISD", "::", "VLD3DUP", ":", "case", "ARMISD", "::", "VLD4DUP", ":", "return", "CombineBaseUpdate", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "INTRINSIC_VOID", ":", "case", "ISD", "::", "INTRINSIC_W_CHAIN", ":", "switch", "(", "cast", "<", "ConstantSDNode", ">", "(", "N", "->", "getOperand", "(", "1", ")", ")", "->", "getZExtValue", "(", ")", ")", "{", "case", "Intrinsic", "::", "arm_neon_vld1", ":", "case", "Intrinsic", "::", "arm_neon_vld2", ":", "case", "Intrinsic", "::", "arm_neon_vld3", ":", "case", "Intrinsic", "::", "arm_neon_vld4", ":", "case", "Intrinsic", "::", "arm_neon_vld2lane", ":", "case", "Intrinsic", "::", "arm_neon_vld3lane", ":", "case", "Intrinsic", "::", "arm_neon_vld4lane", ":", "case", "Intrinsic", "::", "arm_neon_vst1", ":", "case", "Intrinsic", "::", "arm_neon_vst2", ":", "case", "Intrinsic", "::", "arm_neon_vst3", ":", "case", "Intrinsic", "::", "arm_neon_vst4", ":", "case", "Intrinsic", "::", "arm_neon_vst2lane", ":", "case", "Intrinsic", "::", "arm_neon_vst3lane", ":", "case", "Intrinsic", "::", "arm_neon_vst4lane", ":", "return", "CombineBaseUpdate", "(", "N", ",", "DCI", ")", ";", "default", ":", "break", ";", "}", "break", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["This", "method", "will", "be", "invoked", "for", "all", "target", "nodes", "and", "for", "any", "target-independent", "nodes", "that", "the", "target", "has", "registered", "with", "invoke", "it", "for", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::SUB", "ISD::MUL", "ISD::OR", "ISD::XOR", "ISD::AND", "ARMISD::BFI", "ARMISD::VMOVRRD", "ARMISD::VMOVDRR", "ISD::STORE", "ISD::BUILD_VECTOR", "ISD::INSERT_VECTOR_ELT", "ISD::VECTOR_SHUFFLE", "ARMISD::VDUPLANE", "ISD::FP_TO_SINT", "ISD::FP_TO_UINT", "ISD::FDIV", "ISD::INTRINSIC_WO_CHAIN", "ISD::SHL", "ISD::SRA", "ISD::SRL", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND", "ISD::ANY_EXTEND", "ISD::SELECT_CC", "ARMISD::CMOV", "ARMISD::VLD2DUP", "ARMISD::VLD3DUP", "ARMISD::VLD4DUP", "ISD::INTRINSIC_VOID", "ISD::INTRINSIC_W_CHAIN", "1", "Intrinsic::arm_neon_vld1", "Intrinsic::arm_neon_vld2", "Intrinsic::arm_neon_vld3", "Intrinsic::arm_neon_vld4", "Intrinsic::arm_neon_vld2lane", "Intrinsic::arm_neon_vld3lane", "Intrinsic::arm_neon_vld4lane", "Intrinsic::arm_neon_vst1", "Intrinsic::arm_neon_vst2", "Intrinsic::arm_neon_vst3", "Intrinsic::arm_neon_vst4", "Intrinsic::arm_neon_vst2lane", "Intrinsic::arm_neon_vst3lane", "Intrinsic::arm_neon_vst4lane"], "File": "ARMISelLowering116", "Func": "PerformDAGCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11035, "Length": 505} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isExtractSubvectorCheap", "(", "EVT", "ResVT", ",", "unsigned", "Index", ")", "const", "{", "if", "(", "!", "isOperationLegalOrCustom", "(", "ISD", "::", "EXTRACT_SUBVECTOR", ",", "ResVT", ")", ")", "return", "false", ";", "return", "(", "Index", "==", "0", "||", "Index", "==", "ResVT", ".", "getVectorNumElements", "(", ")", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "EXTRACT_SUBVECTOR", "is", "cheap", "for", "this", "result", "type", "with", "this", "index", "."], "TS_V_token": ["ARM", "ARM", "ISD::EXTRACT_SUBVECTOR", "0"], "File": "ARMISelLowering117", "Func": "isExtractSubvectorCheap", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11036, "Length": 44} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalAddressingMode", "(", "const", "DataLayout", "&", "DL", ",", "const", "AddrMode", "&", "AM", ",", "Type", "*", "Ty", ",", "unsigned", "AS", ")", "const", "{", "EVT", "VT", "=", "getValueType", "(", "DL", ",", "Ty", ",", "true", ")", ";", "if", "(", "!", "isLegalAddressImmediate", "(", "AM", ".", "BaseOffs", ",", "VT", ",", "Subtarget", ")", ")", "return", "false", ";", "if", "(", "AM", ".", "BaseGV", ")", "return", "false", ";", "switch", "(", "AM", ".", "Scale", ")", "{", "case", "0", ":", "break", ";", "case", "1", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "LLVM_FALLTHROUGH", ";", "default", ":", "if", "(", "AM", ".", "BaseOffs", ")", "return", "false", ";", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "isLegalT2ScaledAddressingMode", "(", "AM", ",", "VT", ")", ";", "int", "Scale", "=", "AM", ".", "Scale", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i1", ":", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i32", ":", "if", "(", "Scale", "<", "0", ")", "Scale", "=", "-", "Scale", ";", "if", "(", "Scale", "==", "1", ")", "return", "true", ";", "return", "isPowerOf2_32", "(", "Scale", "&", "~", "1", ")", ";", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i64", ":", "if", "(", "(", "(", "unsigned", ")", "AM", ".", "HasBaseReg", "+", "Scale", ")", "<=", "2", ")", "return", "true", ";", "return", "false", ";", "case", "MVT", "::", "isVoid", ":", "if", "(", "Scale", "&", "1", ")", "return", "false", ";", "return", "isPowerOf2_32", "(", "Scale", ")", ";", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["isLegalAddressingMode", "-", "Return", "true", "if", "the", "addressing", "mode", "represented", "by", "AM", "is", "legal", "for", "this", "target", ",", "for", "a", "load/store", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "MVT::i1", "MVT::i8", "MVT::i32", "0", "1", "1", "MVT::i16", "MVT::i64", "2", "MVT::isVoid", "1"], "File": "ARMISelLowering117", "Func": "isLegalAddressingMode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11037, "Length": 253} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "const", "SmallVectorImpl", "<", "int", ">", "&", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ",", "isV_UNDEF", ";", "unsigned", "Imm", ",", "WhichResult", ";", "unsigned", "EltSize", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "return", "(", "EltSize", ">=", "32", "||", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", "||", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTBLMask", "(", "M", ",", "VT", ")", "||", "isNEONTwoResultShuffleMask", "(", "M", ",", "VT", ",", "WhichResult", ",", "isV_UNDEF", ")", "||", "(", "(", "VT", "==", "MVT", "::", "v8i16", "||", "VT", "==", "MVT", "::", "v16i8", ")", "&&", "isReverseMask", "(", "M", ",", "VT", ")", ")", ")", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "32", "0", "64", "32", "16", "MVT::v8i16", "MVT::v16i8"], "File": "ARMISelLowering117", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11038, "Length": 273} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "lowerInterleavedStore", "(", "StoreInst", "*", "SI", ",", "ShuffleVectorInst", "*", "SVI", ",", "unsigned", "Factor", ")", "const", "{", "assert", "(", "Factor", ">=", "2", "&&", "Factor", "<=", "getMaxSupportedInterleaveFactor", "(", ")", "&&", "\"Invalid interleave factor\"", ")", ";", "VectorType", "*", "VecTy", "=", "SVI", "->", "getType", "(", ")", ";", "assert", "(", "VecTy", "->", "getVectorNumElements", "(", ")", "%", "Factor", "==", "0", "&&", "\"Invalid interleaved store\"", ")", ";", "unsigned", "NumSubElts", "=", "VecTy", "->", "getVectorNumElements", "(", ")", "/", "Factor", ";", "Type", "*", "EltTy", "=", "VecTy", "->", "getVectorElementType", "(", ")", ";", "VectorType", "*", "SubVecTy", "=", "VectorType", "::", "get", "(", "EltTy", ",", "NumSubElts", ")", ";", "const", "DataLayout", "&", "DL", "=", "SI", "->", "getModule", "(", ")", "->", "getDataLayout", "(", ")", ";", "unsigned", "SubVecSize", "=", "DL", ".", "getTypeAllocSizeInBits", "(", "SubVecTy", ")", ";", "bool", "EltIs64Bits", "=", "DL", ".", "getTypeAllocSizeInBits", "(", "EltTy", ")", "==", "64", ";", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", "||", "(", "SubVecSize", "!=", "64", "&&", "SubVecSize", "!=", "128", ")", "||", "EltIs64Bits", ")", "return", "false", ";", "Value", "*", "Op0", "=", "SVI", "->", "getOperand", "(", "0", ")", ";", "Value", "*", "Op1", "=", "SVI", "->", "getOperand", "(", "1", ")", ";", "IRBuilder", "<", ">", "Builder", "(", "SI", ")", ";", "if", "(", "EltTy", "->", "isPointerTy", "(", ")", ")", "{", "Type", "*", "IntTy", "=", "DL", ".", "getIntPtrType", "(", "EltTy", ")", ";", "Type", "*", "IntVecTy", "=", "VectorType", "::", "get", "(", "IntTy", ",", "Op0", "->", "getType", "(", ")", "->", "getVectorNumElements", "(", ")", ")", ";", "Op0", "=", "Builder", ".", "CreatePtrToInt", "(", "Op0", ",", "IntVecTy", ")", ";", "Op1", "=", "Builder", ".", "CreatePtrToInt", "(", "Op1", ",", "IntVecTy", ")", ";", "SubVecTy", "=", "VectorType", "::", "get", "(", "IntTy", ",", "NumSubElts", ")", ";", "}", "static", "const", "Intrinsic", "::", "ID", "StoreInts", "[", "3", "]", "=", "{", "Intrinsic", "::", "arm_neon_vst2", ",", "Intrinsic", "::", "arm_neon_vst3", ",", "Intrinsic", "::", "arm_neon_vst4", "}", ";", "SmallVector", "<", "Value", "*", ",", "6", ">", "Ops", ";", "Type", "*", "Int8Ptr", "=", "Builder", ".", "getInt8PtrTy", "(", "SI", "->", "getPointerAddressSpace", "(", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "CreateBitCast", "(", "SI", "->", "getPointerOperand", "(", ")", ",", "Int8Ptr", ")", ")", ";", "Type", "*", "Tys", "[", "]", "=", "{", "Int8Ptr", ",", "SubVecTy", "}", ";", "Function", "*", "VstNFunc", "=", "Intrinsic", "::", "getDeclaration", "(", "SI", "->", "getModule", "(", ")", ",", "StoreInts", "[", "Factor", "-", "2", "]", ",", "Tys", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Factor", ";", "i", "++", ")", "Ops", ".", "push_back", "(", "Builder", ".", "CreateShuffleVector", "(", "Op0", ",", "Op1", ",", "getSequentialMask", "(", "Builder", ",", "NumSubElts", "*", "i", ",", "NumSubElts", ")", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "getInt32", "(", "SI", "->", "getAlignment", "(", ")", ")", ")", ";", "Builder", ".", "CreateCall", "(", "VstNFunc", ",", "Ops", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Lower", "interleaved", "store", "(", "s", ")", "into", "target", "specific", "instructions/intrinsics", "."], "TS_V_token": ["ARM", "ARM", "2", "\"Invalid interleave factor\"", "0", "\"Invalid interleaved store\"", "64", "64", "128", "0", "1", "Intrinsic::ID", "3", "Intrinsic::arm_neon_vst2", "Intrinsic::arm_neon_vst3", "Intrinsic::arm_neon_vst4", "6", "Intrinsic::getDeclaration", "2", "0"], "File": "ARMISelLowering119", "Func": "lowerInterleavedStore", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11039, "Length": 428} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "AdjustInstrPostInstrSelection", "(", "MachineInstr", "&", "MI", ",", "SDNode", "*", "Node", ")", "const", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "MEMCPY", ")", "{", "attachMEMCPYScratchRegs", "(", "Subtarget", ",", "MI", ",", "Node", ")", ";", "return", ";", "}", "const", "MCInstrDesc", "*", "MCID", "=", "&", "MI", ".", "getDesc", "(", ")", ";", "unsigned", "NewOpc", "=", "convertAddSubFlagsOpcode", "(", "MI", ".", "getOpcode", "(", ")", ")", ";", "if", "(", "NewOpc", ")", "{", "const", "ARMBaseInstrInfo", "*", "TII", "=", "Subtarget", "->", "getInstrInfo", "(", ")", ";", "MCID", "=", "&", "TII", "->", "get", "(", "NewOpc", ")", ";", "assert", "(", "MCID", "->", "getNumOperands", "(", ")", "==", "MI", ".", "getDesc", "(", ")", ".", "getNumOperands", "(", ")", "+", "1", "&&", "\"converted opcode should be the same except for cc_out\"", ")", ";", "MI", ".", "setDesc", "(", "*", "MCID", ")", ";", "MI", ".", "addOperand", "(", "MachineOperand", "::", "CreateReg", "(", "0", ",", "true", ")", ")", ";", "}", "unsigned", "ccOutIdx", "=", "MCID", "->", "getNumOperands", "(", ")", "-", "1", ";", "if", "(", "!", "MI", ".", "hasOptionalDef", "(", ")", "||", "!", "MCID", "->", "OpInfo", "[", "ccOutIdx", "]", ".", "isOptionalDef", "(", ")", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "bool", "definesCPSR", "=", "false", ";", "bool", "deadCPSR", "=", "false", ";", "for", "(", "unsigned", "i", "=", "MCID", "->", "getNumOperands", "(", ")", ",", "e", "=", "MI", ".", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "MI", ".", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isReg", "(", ")", "&&", "MO", ".", "isDef", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", ")", "{", "definesCPSR", "=", "true", ";", "if", "(", "MO", ".", "isDead", "(", ")", ")", "deadCPSR", "=", "true", ";", "MI", ".", "RemoveOperand", "(", "i", ")", ";", "break", ";", "}", "}", "if", "(", "!", "definesCPSR", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "assert", "(", "deadCPSR", "==", "!", "Node", "->", "hasAnyUseOfValue", "(", "1", ")", "&&", "\"inconsistent dead flag\"", ")", ";", "if", "(", "deadCPSR", ")", "{", "assert", "(", "!", "MI", ".", "getOperand", "(", "ccOutIdx", ")", ".", "getReg", "(", ")", "&&", "\"expect uninitialized optional cc_out operand\"", ")", ";", "return", ";", "}", "MachineOperand", "&", "MO", "=", "MI", ".", "getOperand", "(", "ccOutIdx", ")", ";", "MO", ".", "setReg", "(", "ARM", "::", "CPSR", ")", ";", "MO", ".", "setIsDef", "(", "true", ")", ";", "}", ""], "natrual_language": ["This", "method", "should", "be", "implemented", "by", "targets", "that", "mark", "instructions", "with", "the", "'hasPostISelHook", "'", "flag", "."], "TS_V_token": ["ARM", "ARM", "ARM::MEMCPY", "ARM", "1", "\"converted opcode should be the same except for cc_out\"", "0", "1", "\"Optional cc_out operand required\"", "ARM::CPSR", "\"Optional cc_out operand required\"", "1", "\"inconsistent dead flag\"", "\"expect uninitialized optional cc_out operand\"", "ARM::CPSR"], "File": "ARMISelLowering11", "Func": "AdjustInstrPostInstrSelection", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11040, "Length": 366} {"ground_truth": ["", "static", "void", "computeKnownBits", "(", "SelectionDAG", "&", "DAG", ",", "SDValue", "Op", ",", "APInt", "&", "KnownZero", ",", "APInt", "&", "KnownOne", ")", "{", "if", "(", "Op", ".", "getOpcode", "(", ")", "==", "ARMISD", "::", "BFI", ")", "{", "computeKnownBits", "(", "DAG", ",", "Op", ".", "getOperand", "(", "0", ")", ",", "KnownZero", ",", "KnownOne", ")", ";", "ConstantSDNode", "*", "CI", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", ".", "getOperand", "(", "2", ")", ")", ";", "const", "APInt", "&", "Mask", "=", "CI", "->", "getAPIntValue", "(", ")", ";", "KnownZero", "&=", "Mask", ";", "KnownOne", "&=", "Mask", ";", "return", ";", "}", "if", "(", "Op", ".", "getOpcode", "(", ")", "==", "ARMISD", "::", "CMOV", ")", "{", "APInt", "KZ2", "(", "KnownZero", ".", "getBitWidth", "(", ")", ",", "0", ")", ";", "APInt", "KO2", "(", "KnownOne", ".", "getBitWidth", "(", ")", ",", "0", ")", ";", "computeKnownBits", "(", "DAG", ",", "Op", ".", "getOperand", "(", "1", ")", ",", "KnownZero", ",", "KnownOne", ")", ";", "computeKnownBits", "(", "DAG", ",", "Op", ".", "getOperand", "(", "2", ")", ",", "KZ2", ",", "KO2", ")", ";", "KnownZero", "&=", "KZ2", ";", "KnownOne", "&=", "KO2", ";", "return", ";", "}", "return", "DAG", ".", "computeKnownBits", "(", "Op", ",", "KnownZero", ",", "KnownOne", ")", ";", "}", ""], "natrual_language": ["Determine", "which", "bits", "of", "Op", "are", "known", "to", "be", "either", "zero", "or", "one", "and", "return", "them", "in", "Known", "."], "TS_V_token": ["ARM", "ARMISD::BFI", "0", "2", "ARMISD::CMOV", "0", "0", "1", "2"], "File": "ARMISelLowering11", "Func": "computeKnownBits", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11041, "Length": 181} {"ground_truth": ["", "Instruction", "*", "ARMTargetLowering", "::", "emitLeadingFence", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "AtomicOrdering", "Ord", ",", "bool", "IsStore", ",", "bool", "IsLoad", ")", "const", "{", "switch", "(", "Ord", ")", "{", "case", "AtomicOrdering", "::", "NotAtomic", ":", "case", "AtomicOrdering", "::", "Unordered", ":", "llvm_unreachable", "(", "\"Invalid fence: unordered/non-atomic\"", ")", ";", "case", "AtomicOrdering", "::", "Monotonic", ":", "case", "AtomicOrdering", "::", "Acquire", ":", "return", "nullptr", ";", "case", "AtomicOrdering", "::", "SequentiallyConsistent", ":", "if", "(", "!", "IsStore", ")", "return", "nullptr", ";", "case", "AtomicOrdering", "::", "Release", ":", "case", "AtomicOrdering", "::", "AcquireRelease", ":", "if", "(", "Subtarget", "->", "preferISHSTBarriers", "(", ")", ")", "return", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISHST", ")", ";", "else", "return", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISH", ")", ";", "}", "llvm_unreachable", "(", "\"Unknown fence ordering in emitLeadingFence\"", ")", ";", "}", ""], "natrual_language": ["Custom", "Lower", "{", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fence: unordered/non-atomic\"", "ARM_MB::ISHST", "ARM_MB::ISH", "\"Unknown fence ordering in emitLeadingFence\""], "File": "ARMISelLowering11", "Func": "emitLeadingFence", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11042, "Length": 115} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitLoadLinked", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "Type", "*", "ValTy", "=", "cast", "<", "PointerType", ">", "(", "Addr", "->", "getType", "(", ")", ")", "->", "getElementType", "(", ")", ";", "bool", "IsAcquire", "=", "isAcquireOrStronger", "(", "Ord", ")", ";", "if", "(", "ValTy", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaexd", ":", "Intrinsic", "::", "arm_ldrexd", ";", "Function", "*", "Ldrex", "=", "llvm", "::", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "Value", "*", "LoHi", "=", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ",", "\"lohi\"", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "0", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "1", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Lo", "=", "Builder", ".", "CreateZExt", "(", "Lo", ",", "ValTy", ",", "\"lo64\"", ")", ";", "Hi", "=", "Builder", ".", "CreateZExt", "(", "Hi", ",", "ValTy", ",", "\"hi64\"", ")", ";", "return", "Builder", ".", "CreateOr", "(", "Lo", ",", "Builder", ".", "CreateShl", "(", "Hi", ",", "ConstantInt", "::", "get", "(", "ValTy", ",", "32", ")", ")", ",", "\"val64\"", ")", ";", "}", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaex", ":", "Intrinsic", "::", "arm_ldrex", ";", "Function", "*", "Ldrex", "=", "llvm", "::", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateTruncOrBitCast", "(", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ")", ",", "cast", "<", "PointerType", ">", "(", "Addr", "->", "getType", "(", ")", ")", "->", "getElementType", "(", ")", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "load-linked", "operation", "on", "Addr", ",", "returning", "a", "``", "Value", "*", "''", "with", "the", "corresponding", "pointee", "type", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_ldaexd", "Intrinsic::arm_ldrexd", "Intrinsic::getDeclaration", "\"lohi\"", "0", "\"lo\"", "1", "\"hi\"", "\"lo64\"", "\"hi64\"", "32", "\"val64\"", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex", "Intrinsic::getDeclaration"], "File": "ARMISelLowering11", "Func": "emitLoadLinked", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11043, "Length": 322} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitStoreConditional", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Value", "*", "Val", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "bool", "IsRelease", "=", "isReleaseOrStronger", "(", "Ord", ")", ";", "if", "(", "Val", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlexd", ":", "Intrinsic", "::", "arm_strexd", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Type", "*", "Int32Ty", "=", "Type", "::", "getInt32Ty", "(", "M", "->", "getContext", "(", ")", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateTrunc", "(", "Val", ",", "Int32Ty", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateTrunc", "(", "Builder", ".", "CreateLShr", "(", "Val", ",", "32", ")", ",", "Int32Ty", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "return", "Builder", ".", "CreateCall", "(", "Strex", ",", "{", "Lo", ",", "Hi", ",", "Addr", "}", ")", ";", "}", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlex", ":", "Intrinsic", "::", "arm_strex", ";", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateCall", "(", "Strex", ",", "{", "Builder", ".", "CreateZExtOrBitCast", "(", "Val", ",", "Strex", "->", "getFunctionType", "(", ")", "->", "getParamType", "(", "0", ")", ")", ",", "Addr", "}", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "store-conditional", "operation", "to", "Addr", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_stlexd", "Intrinsic::arm_strexd", "Intrinsic::getDeclaration", "\"lo\"", "32", "\"hi\"", "Intrinsic::ID", "Intrinsic::arm_stlex", "Intrinsic::arm_strex", "Intrinsic::getDeclaration", "0"], "File": "ARMISelLowering11", "Func": "emitStoreConditional", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11044, "Length": 276} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SDIVREM", ":", "case", "ISD", "::", "UDIVREM", ":", "Res", "=", "LowerDivRem", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ")", ";", "assert", "(", "Res", ".", "getNumOperands", "(", ")", "==", "2", "&&", "\"DivRem needs two values\"", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "0", ")", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "1", ")", ")", ";", "return", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "UDIV", ":", "case", "ISD", "::", "SDIV", ":", "assert", "(", "Subtarget", "->", "isTargetWindows", "(", ")", "&&", "\"can only expand DIV on Windows\"", ")", ";", "return", "ExpandDIV_Windows", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SDIV", ",", "Results", ")", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceCMP_SWAP_64Results", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SREM", "ISD::UREM", "ISD::SDIVREM", "ISD::UDIVREM", "0", "2", "\"DivRem needs two values\"", "0", "1", "ISD::READCYCLECOUNTER", "ISD::UDIV", "ISD::SDIV", "\"can only expand DIV on Windows\"", "0", "ISD::SDIV", "ISD::ATOMIC_CMP_SWAP"], "File": "ARMISelLowering11", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11045, "Length": 277} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldExpandAtomicCmpXchgInIR", "(", "AtomicCmpXchgInst", "*", "AI", ")", "const", "{", "return", "getTargetMachine", "(", ")", ".", "getOptLevel", "(", ")", "!=", "0", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "atomic", "cmpxchg", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "."], "TS_V_token": ["ARM", "ARM", "0"], "File": "ARMISelLowering11", "Func": "shouldExpandAtomicCmpXchgInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11046, "Length": 23} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitLoadLinked", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "Type", "*", "ValTy", "=", "cast", "<", "PointerType", ">", "(", "Addr", "->", "getType", "(", ")", ")", "->", "getElementType", "(", ")", ";", "bool", "IsAcquire", "=", "Ord", "==", "Acquire", "||", "Ord", "==", "AcquireRelease", "||", "Ord", "==", "SequentiallyConsistent", ";", "if", "(", "ValTy", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaexd", ":", "Intrinsic", "::", "arm_ldrexd", ";", "Function", "*", "Ldrex", "=", "llvm", "::", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "Value", "*", "LoHi", "=", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ",", "\"lohi\"", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "0", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "1", ",", "\"hi\"", ")", ";", "Lo", "=", "Builder", ".", "CreateZExt", "(", "Lo", ",", "ValTy", ",", "\"lo64\"", ")", ";", "Hi", "=", "Builder", ".", "CreateZExt", "(", "Hi", ",", "ValTy", ",", "\"hi64\"", ")", ";", "return", "Builder", ".", "CreateOr", "(", "Lo", ",", "Builder", ".", "CreateShl", "(", "Hi", ",", "ConstantInt", "::", "get", "(", "ValTy", ",", "32", ")", ")", ",", "\"val64\"", ")", ";", "}", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaex", ":", "Intrinsic", "::", "arm_ldrex", ";", "Function", "*", "Ldrex", "=", "llvm", "::", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateTruncOrBitCast", "(", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ")", ",", "cast", "<", "PointerType", ">", "(", "Addr", "->", "getType", "(", ")", ")", "->", "getElementType", "(", ")", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "load-linked", "operation", "on", "Addr", ",", "returning", "a", "``", "Value", "*", "''", "with", "the", "corresponding", "pointee", "type", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_ldaexd", "Intrinsic::arm_ldrexd", "Intrinsic::getDeclaration", "\"lohi\"", "0", "\"lo\"", "1", "\"hi\"", "\"lo64\"", "\"hi64\"", "32", "\"val64\"", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex", "Intrinsic::getDeclaration"], "File": "ARMISelLowering121", "Func": "emitLoadLinked", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11047, "Length": 311} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitStoreConditional", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "Value", "*", "Val", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "bool", "IsRelease", "=", "Ord", "==", "Release", "||", "Ord", "==", "AcquireRelease", "||", "Ord", "==", "SequentiallyConsistent", ";", "if", "(", "Val", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlexd", ":", "Intrinsic", "::", "arm_strexd", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Type", "*", "Int32Ty", "=", "Type", "::", "getInt32Ty", "(", "M", "->", "getContext", "(", ")", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateTrunc", "(", "Val", ",", "Int32Ty", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateTrunc", "(", "Builder", ".", "CreateLShr", "(", "Val", ",", "32", ")", ",", "Int32Ty", ",", "\"hi\"", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "return", "Builder", ".", "CreateCall3", "(", "Strex", ",", "Lo", ",", "Hi", ",", "Addr", ")", ";", "}", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlex", ":", "Intrinsic", "::", "arm_strex", ";", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "return", "Builder", ".", "CreateCall2", "(", "Strex", ",", "Builder", ".", "CreateZExtOrBitCast", "(", "Val", ",", "Strex", "->", "getFunctionType", "(", ")", "->", "getParamType", "(", "0", ")", ")", ",", "Addr", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "store-conditional", "operation", "to", "Addr", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_stlexd", "Intrinsic::arm_strexd", "Intrinsic::getDeclaration", "\"lo\"", "32", "\"hi\"", "Intrinsic::ID", "Intrinsic::arm_stlex", "Intrinsic::arm_strex", "Intrinsic::getDeclaration", "0"], "File": "ARMISelLowering121", "Func": "emitStoreConditional", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11048, "Length": 261} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getRegisterByName", "(", "const", "char", "*", "RegName", ")", "const", "{", "unsigned", "Reg", "=", "StringSwitch", "<", "unsigned", ">", "(", "RegName", ")", ".", "Case", "(", "\"sp\"", ",", "ARM", "::", "SP", ")", ".", "Default", "(", "0", ")", ";", "if", "(", "Reg", ")", "return", "Reg", ";", "report_fatal_error", "(", "\"Invalid register name global variable\"", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "ID", "of", "the", "name", "passed", "in", "."], "TS_V_token": ["ARM", "ARM", "\"sp\"", "ARM::SP", "0", "\"Invalid register name global variable\""], "File": "ARMISelLowering121", "Func": "getRegisterByName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11049, "Length": 50} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "uint64_t", "Size", ",", "unsigned", "DstAlign", ",", "unsigned", "SrcAlign", ",", "bool", "IsMemset", ",", "bool", "ZeroMemset", ",", "bool", "MemcpyStrSrc", ",", "const", "AttributeList", "&", "FuncAttributes", ")", "const", "{", "if", "(", "(", "!", "IsMemset", "||", "ZeroMemset", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "FuncAttributes", ".", "hasFnAttribute", "(", "Attribute", "::", "NoImplicitFloat", ")", ")", "{", "bool", "Fast", ";", "if", "(", "Size", ">=", "16", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "16", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "v2f64", ",", "0", ",", "1", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "v2f64", ";", "}", "else", "if", "(", "Size", ">=", "8", "&&", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "8", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "f64", ",", "0", ",", "1", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "f64", ";", "}", "}", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v2f64", "0", "1", "MVT::v2f64", "8", "8", "MVT::f64", "0", "1", "MVT::f64", "MVT::Other"], "File": "ARMISelLowering122", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11050, "Length": 151} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMTargetLowering", "::", "getRegClassFor", "(", "MVT", "VT", ",", "bool", "isDivergent", ")", "const", "{", "(", "void", ")", "isDivergent", ";", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "if", "(", "VT", "==", "MVT", "::", "v4i64", ")", "return", "&", "ARM", "::", "QQPRRegClass", ";", "if", "(", "VT", "==", "MVT", "::", "v8i64", ")", "return", "&", "ARM", "::", "QQQQPRRegClass", ";", "}", "return", "TargetLowering", "::", "getRegClassFor", "(", "VT", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "class", "that", "should", "be", "used", "for", "the", "specified", "value", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::v4i64", "ARM::QQPRRegClass", "MVT::v8i64", "ARM::QQQQPRRegClass"], "File": "ARMISelLowering122", "Func": "getRegClassFor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11051, "Length": 67} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SDIVREM", ":", "case", "ISD", "::", "UDIVREM", ":", "Res", "=", "LowerDivRem", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ")", ";", "assert", "(", "Res", ".", "getNumOperands", "(", ")", "==", "2", "&&", "\"DivRem needs two values\"", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "0", ")", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "1", ")", ")", ";", "return", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "UDIV", ":", "case", "ISD", "::", "SDIV", ":", "assert", "(", "Subtarget", "->", "isTargetWindows", "(", ")", "&&", "\"can only expand DIV on Windows\"", ")", ";", "return", "ExpandDIV_Windows", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SDIV", ",", "Results", ")", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceCMP_SWAP_64Results", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "ReplaceLongIntrinsic", "(", "N", ",", "Results", ",", "DAG", ")", ";", "case", "ISD", "::", "ABS", ":", "lowerABS", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SREM", "ISD::UREM", "ISD::SDIVREM", "ISD::UDIVREM", "0", "2", "\"DivRem needs two values\"", "0", "1", "ISD::READCYCLECOUNTER", "ISD::UDIV", "ISD::SDIV", "\"can only expand DIV on Windows\"", "0", "ISD::SDIV", "ISD::ATOMIC_CMP_SWAP", "ISD::INTRINSIC_WO_CHAIN", "ISD::ABS"], "File": "ARMISelLowering122", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11052, "Length": 310} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "const", "MemOp", "&", "Op", ",", "const", "AttributeList", "&", "FuncAttributes", ")", "const", "{", "if", "(", "(", "Op", ".", "isMemcpy", "(", ")", "||", "Op", ".", "isZeroMemset", "(", ")", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", "&&", "!", "FuncAttributes", ".", "hasFnAttribute", "(", "Attribute", "::", "NoImplicitFloat", ")", ")", "{", "bool", "Fast", ";", "if", "(", "Op", ".", "size", "(", ")", ">=", "16", "&&", "(", "Op", ".", "isAligned", "(", "Align", "(", "16", ")", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "v2f64", ",", "0", ",", "Align", "(", "1", ")", ",", "MachineMemOperand", "::", "MONone", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "v2f64", ";", "}", "else", "if", "(", "Op", ".", "size", "(", ")", ">=", "8", "&&", "(", "Op", ".", "isAligned", "(", "Align", "(", "8", ")", ")", "||", "(", "allowsMisalignedMemoryAccesses", "(", "MVT", "::", "f64", ",", "0", ",", "Align", "(", "1", ")", ",", "MachineMemOperand", "::", "MONone", ",", "&", "Fast", ")", "&&", "Fast", ")", ")", ")", "{", "return", "MVT", "::", "f64", ";", "}", "}", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v2f64", "0", "1", "MVT::v2f64", "8", "8", "MVT::f64", "0", "1", "MVT::f64", "MVT::Other"], "File": "ARMISelLowering123", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11053, "Length": 169} {"ground_truth": ["", "MachineBasicBlock", "*", "ARMTargetLowering", "::", "EmitInstrWithCustomInserter", "(", "MachineInstr", "*", "MI", ",", "MachineBasicBlock", "*", "BB", ")", "const", "{", "const", "TargetInstrInfo", "*", "TII", "=", "getTargetMachine", "(", ")", ".", "getInstrInfo", "(", ")", ";", "DebugLoc", "dl", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "switch", "(", "MI", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "assert", "(", "false", "&&", "\"Unexpected instr type to insert\"", ")", ";", "case", "ARM", "::", "tMOVCCr", ":", "{", "const", "BasicBlock", "*", "LLVM_BB", "=", "BB", "->", "getBasicBlock", "(", ")", ";", "MachineFunction", "::", "iterator", "It", "=", "BB", ";", "++", "It", ";", "MachineBasicBlock", "*", "thisMBB", "=", "BB", ";", "MachineFunction", "*", "F", "=", "BB", "->", "getParent", "(", ")", ";", "MachineBasicBlock", "*", "copy0MBB", "=", "F", "->", "CreateMachineBasicBlock", "(", "LLVM_BB", ")", ";", "MachineBasicBlock", "*", "sinkMBB", "=", "F", "->", "CreateMachineBasicBlock", "(", "LLVM_BB", ")", ";", "BuildMI", "(", "BB", ",", "dl", ",", "TII", "->", "get", "(", "ARM", "::", "tBcc", ")", ")", ".", "addMBB", "(", "sinkMBB", ")", ".", "addImm", "(", "MI", "->", "getOperand", "(", "3", ")", ".", "getImm", "(", ")", ")", ".", "addReg", "(", "MI", "->", "getOperand", "(", "4", ")", ".", "getReg", "(", ")", ")", ";", "F", "->", "insert", "(", "It", ",", "copy0MBB", ")", ";", "F", "->", "insert", "(", "It", ",", "sinkMBB", ")", ";", "for", "(", "MachineBasicBlock", "::", "succ_iterator", "i", "=", "BB", "->", "succ_begin", "(", ")", ",", "e", "=", "BB", "->", "succ_end", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "sinkMBB", "->", "addSuccessor", "(", "*", "i", ")", ";", "while", "(", "!", "BB", "->", "succ_empty", "(", ")", ")", "BB", "->", "removeSuccessor", "(", "BB", "->", "succ_begin", "(", ")", ")", ";", "BB", "->", "addSuccessor", "(", "copy0MBB", ")", ";", "BB", "->", "addSuccessor", "(", "sinkMBB", ")", ";", "BB", "=", "copy0MBB", ";", "BB", "->", "addSuccessor", "(", "sinkMBB", ")", ";", "BB", "=", "sinkMBB", ";", "BuildMI", "(", "BB", ",", "dl", ",", "TII", "->", "get", "(", "ARM", "::", "PHI", ")", ",", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", ".", "addReg", "(", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ")", ".", "addMBB", "(", "copy0MBB", ")", ".", "addReg", "(", "MI", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ")", ".", "addMBB", "(", "thisMBB", ")", ";", "F", "->", "DeleteMachineInstr", "(", "MI", ")", ";", "return", "BB", ";", "}", "}", "}", ""], "natrual_language": ["This", "method", "should", "be", "implemented", "by", "targets", "that", "mark", "instructions", "with", "the", "'usesCustomInserter", "'", "flag", "."], "TS_V_token": ["ARM", "ARM", "\"Unexpected instr type to insert\"", "ARM::tMOVCCr", "ARM::tBcc", "3", "4", "ARM::PHI", "0", "1", "2"], "File": "ARMISelLowering124", "Func": "EmitInstrWithCustomInserter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11054, "Length": 351} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPostIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDNode", "*", "Op", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "false", ";", "MVT", "VT", ";", "SDValue", "Ptr", ";", "bool", "isSEXTLoad", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "getIndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "if", "(", "isLegal", ")", "{", "AM", "=", "isInc", "?", "ISD", "::", "POST_INC", ":", "ISD", "::", "POST_DEC", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "this", "node", "can", "be", "combined", "with", "a", "load", "/", "store", "to", "form", "a", "post-indexed", "load", "/", "store", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::SEXTLOAD", "ISD::POST_INC", "ISD::POST_DEC"], "File": "ARMISelLowering124", "Func": "getPostIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11055, "Length": 168} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPreIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "false", ";", "MVT", "VT", ";", "SDValue", "Ptr", ";", "bool", "isSEXTLoad", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "getIndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "if", "(", "isLegal", ")", "{", "AM", "=", "isInc", "?", "ISD", "::", "PRE_INC", ":", "ISD", "::", "PRE_DEC", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "the", "node", "'s", "address", "can", "be", "legally", "represented", "as", "pre-indexed", "load", "/", "store", "address", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::SEXTLOAD", "ISD::PRE_INC", "ISD::PRE_DEC"], "File": "ARMISelLowering124", "Func": "getPreIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11056, "Length": 184} {"ground_truth": ["", "std", "::", "pair", "<", "unsigned", ",", "const", "TargetRegisterClass", "*", ">", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "std", "::", "string", "&", "Constraint", ",", "MVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "case", "'r'", ":", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "SPRRegisterClass", ")", ";", "if", "(", "VT", "==", "MVT", "::", "f64", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "DPRRegisterClass", ")", ";", "break", ";", "}", "}", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::GPRRegisterClass", "MVT::f32", "0U", "ARM::SPRRegisterClass", "MVT::f64", "0U", "ARM::DPRRegisterClass"], "File": "ARMISelLowering124", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11057, "Length": 121} {"ground_truth": ["", "const", "char", "*", "ARMTargetLowering", "::", "getTargetNodeName", "(", "unsigned", "Opcode", ")", "const", "{", "switch", "(", "Opcode", ")", "{", "default", ":", "return", "0", ";", "case", "ARMISD", "::", "Wrapper", ":", "return", "\"ARMISD::Wrapper\"", ";", "case", "ARMISD", "::", "WrapperJT", ":", "return", "\"ARMISD::WrapperJT\"", ";", "case", "ARMISD", "::", "CALL", ":", "return", "\"ARMISD::CALL\"", ";", "case", "ARMISD", "::", "CALL_PRED", ":", "return", "\"ARMISD::CALL_PRED\"", ";", "case", "ARMISD", "::", "CALL_NOLINK", ":", "return", "\"ARMISD::CALL_NOLINK\"", ";", "case", "ARMISD", "::", "tCALL", ":", "return", "\"ARMISD::tCALL\"", ";", "case", "ARMISD", "::", "BRCOND", ":", "return", "\"ARMISD::BRCOND\"", ";", "case", "ARMISD", "::", "BR_JT", ":", "return", "\"ARMISD::BR_JT\"", ";", "case", "ARMISD", "::", "RET_FLAG", ":", "return", "\"ARMISD::RET_FLAG\"", ";", "case", "ARMISD", "::", "PIC_ADD", ":", "return", "\"ARMISD::PIC_ADD\"", ";", "case", "ARMISD", "::", "CMP", ":", "return", "\"ARMISD::CMP\"", ";", "case", "ARMISD", "::", "CMPNZ", ":", "return", "\"ARMISD::CMPNZ\"", ";", "case", "ARMISD", "::", "CMPFP", ":", "return", "\"ARMISD::CMPFP\"", ";", "case", "ARMISD", "::", "CMPFPw0", ":", "return", "\"ARMISD::CMPFPw0\"", ";", "case", "ARMISD", "::", "FMSTAT", ":", "return", "\"ARMISD::FMSTAT\"", ";", "case", "ARMISD", "::", "CMOV", ":", "return", "\"ARMISD::CMOV\"", ";", "case", "ARMISD", "::", "CNEG", ":", "return", "\"ARMISD::CNEG\"", ";", "case", "ARMISD", "::", "FTOSI", ":", "return", "\"ARMISD::FTOSI\"", ";", "case", "ARMISD", "::", "FTOUI", ":", "return", "\"ARMISD::FTOUI\"", ";", "case", "ARMISD", "::", "SITOF", ":", "return", "\"ARMISD::SITOF\"", ";", "case", "ARMISD", "::", "UITOF", ":", "return", "\"ARMISD::UITOF\"", ";", "case", "ARMISD", "::", "SRL_FLAG", ":", "return", "\"ARMISD::SRL_FLAG\"", ";", "case", "ARMISD", "::", "SRA_FLAG", ":", "return", "\"ARMISD::SRA_FLAG\"", ";", "case", "ARMISD", "::", "RRX", ":", "return", "\"ARMISD::RRX\"", ";", "case", "ARMISD", "::", "FMRRD", ":", "return", "\"ARMISD::FMRRD\"", ";", "case", "ARMISD", "::", "FMDRR", ":", "return", "\"ARMISD::FMDRR\"", ";", "case", "ARMISD", "::", "THREAD_POINTER", ":", "return", "\"ARMISD::THREAD_POINTER\"", ";", "}", "}", ""], "natrual_language": ["getTargetNodeName", "-", "This", "method", "returns", "the", "name", "of", "a", "target", "specific"], "TS_V_token": ["ARM", "ARM", "0", "ARMISD::Wrapper", "\"ARMISD::Wrapper\"", "ARMISD::WrapperJT", "\"ARMISD::WrapperJT\"", "ARMISD::CALL", "\"ARMISD::CALL\"", "ARMISD::CALL_PRED", "\"ARMISD::CALL_PRED\"", "ARMISD::CALL_NOLINK", "\"ARMISD::CALL_NOLINK\"", "ARMISD::tCALL", "\"ARMISD::tCALL\"", "ARMISD::BRCOND", "\"ARMISD::BRCOND\"", "ARMISD::BR_JT", "\"ARMISD::BR_JT\"", "ARMISD::RET_FLAG", "\"ARMISD::RET_FLAG\"", "ARMISD::PIC_ADD", "\"ARMISD::PIC_ADD\"", "ARMISD::CMP", "\"ARMISD::CMP\"", "ARMISD::CMPNZ", "\"ARMISD::CMPNZ\"", "ARMISD::CMPFP", "\"ARMISD::CMPFP\"", "ARMISD::CMPFPw0", "\"ARMISD::CMPFPw0\"", "ARMISD::FMSTAT", "\"ARMISD::FMSTAT\"", "ARMISD::CMOV", "\"ARMISD::CMOV\"", "ARMISD::CNEG", "\"ARMISD::CNEG\"", "ARMISD::FTOSI", "\"ARMISD::FTOSI\"", "ARMISD::FTOUI", "\"ARMISD::FTOUI\"", "ARMISD::SITOF", "\"ARMISD::SITOF\"", "ARMISD::UITOF", "\"ARMISD::UITOF\"", "ARMISD::SRL_FLAG", "\"ARMISD::SRL_FLAG\"", "ARMISD::SRA_FLAG", "\"ARMISD::SRA_FLAG\"", "ARMISD::RRX", "\"ARMISD::RRX\"", "ARMISD::FMRRD", "\"ARMISD::FMRRD\"", "ARMISD::FMDRR", "\"ARMISD::FMDRR\"", "ARMISD::THREAD_POINTER", "\"ARMISD::THREAD_POINTER\""], "File": "ARMISelLowering124", "Func": "getTargetNodeName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11058, "Length": 240} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalAddressingMode", "(", "const", "AddrMode", "&", "AM", ",", "const", "Type", "*", "Ty", ")", "const", "{", "if", "(", "!", "isLegalAddressImmediate", "(", "AM", ".", "BaseOffs", ",", "getValueType", "(", "Ty", ",", "true", ")", ",", "Subtarget", ")", ")", "return", "false", ";", "if", "(", "AM", ".", "BaseGV", ")", "return", "false", ";", "switch", "(", "AM", ".", "Scale", ")", "{", "case", "0", ":", "break", ";", "case", "1", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "false", ";", "default", ":", "if", "(", "AM", ".", "BaseOffs", ")", "return", "false", ";", "int", "Scale", "=", "AM", ".", "Scale", ";", "switch", "(", "getValueType", "(", "Ty", ")", ".", "getSimpleVT", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i1", ":", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i32", ":", "case", "MVT", "::", "i64", ":", "if", "(", "Scale", "<", "0", ")", "Scale", "=", "-", "Scale", ";", "if", "(", "Scale", "==", "1", ")", "return", "true", ";", "return", "isPowerOf2_32", "(", "Scale", "&", "~", "1", ")", ";", "case", "MVT", "::", "i16", ":", "if", "(", "(", "(", "unsigned", ")", "AM", ".", "HasBaseReg", "+", "Scale", ")", "<=", "2", ")", "return", "true", ";", "return", "false", ";", "case", "MVT", "::", "isVoid", ":", "if", "(", "AM", ".", "Scale", "&", "1", ")", "return", "false", ";", "return", "isPowerOf2_32", "(", "AM", ".", "Scale", ")", ";", "}", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["isLegalAddressingMode", "-", "Return", "true", "if", "the", "addressing", "mode", "represented", "by", "AM", "is", "legal", "for", "this", "target", ",", "for", "a", "load/store", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "MVT::i1", "MVT::i8", "MVT::i32", "MVT::i64", "0", "1", "1", "MVT::i16", "2", "MVT::isVoid", "1"], "File": "ARMISelLowering124", "Func": "isLegalAddressingMode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11059, "Length": 216} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "LowerOperation", "(", "SDValue", "Op", ",", "SelectionDAG", "&", "DAG", ")", "{", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "assert", "(", "0", "&&", "\"Don't know how to custom lower this!\"", ")", ";", "abort", "(", ")", ";", "case", "ISD", "::", "ConstantPool", ":", "return", "LowerConstantPool", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GlobalAddress", ":", "return", "Subtarget", "->", "isTargetDarwin", "(", ")", "?", "LowerGlobalAddressDarwin", "(", "Op", ",", "DAG", ")", ":", "LowerGlobalAddressELF", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GlobalTLSAddress", ":", "return", "LowerGlobalTLSAddress", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "CALL", ":", "return", "LowerCALL", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "RET", ":", "return", "LowerRET", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "SELECT_CC", ":", "return", "LowerSELECT_CC", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "BR_CC", ":", "return", "LowerBR_CC", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "BR_JT", ":", "return", "LowerBR_JT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "VASTART", ":", "return", "LowerVASTART", "(", "Op", ",", "DAG", ",", "VarArgsFrameIndex", ")", ";", "case", "ISD", "::", "SINT_TO_FP", ":", "case", "ISD", "::", "UINT_TO_FP", ":", "return", "LowerINT_TO_FP", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FP_TO_SINT", ":", "case", "ISD", "::", "FP_TO_UINT", ":", "return", "LowerFP_TO_INT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FCOPYSIGN", ":", "return", "LowerFCOPYSIGN", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FORMAL_ARGUMENTS", ":", "return", "LowerFORMAL_ARGUMENTS", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "RETURNADDR", ":", "break", ";", "case", "ISD", "::", "FRAMEADDR", ":", "break", ";", "case", "ISD", "::", "GLOBAL_OFFSET_TABLE", ":", "return", "LowerGLOBAL_OFFSET_TABLE", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "LowerINTRINSIC_WO_CHAIN", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BIT_CONVERT", ":", "return", "ExpandBIT_CONVERT", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ")", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "return", "ExpandSRx", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ",", "Subtarget", ")", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["LowerOperation", "-", "Provide", "custom", "lowering", "hooks", "for", "some", "operations", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Don't know how to custom lower this!\"", "ISD::ConstantPool", "ISD::GlobalAddress", "ISD::GlobalTLSAddress", "ISD::CALL", "ISD::RET", "ISD::SELECT_CC", "ISD::BR_CC", "ISD::BR_JT", "ISD::VASTART", "ISD::SINT_TO_FP", "ISD::UINT_TO_FP", "ISD::FP_TO_SINT", "ISD::FP_TO_UINT", "ISD::FCOPYSIGN", "ISD::FORMAL_ARGUMENTS", "ISD::RETURNADDR", "ISD::FRAMEADDR", "ISD::GLOBAL_OFFSET_TABLE", "ISD::INTRINSIC_WO_CHAIN", "ISD::BIT_CONVERT", "ISD::SRL", "ISD::SRA"], "File": "ARMISelLowering124", "Func": "LowerOperation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11060, "Length": 321} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformDAGCombine", "(", "SDNode", "*", "N", ",", "DAGCombinerInfo", "&", "DCI", ")", "const", "{", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ISD", "::", "ADD", ":", "return", "PerformADDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "SUB", ":", "return", "PerformSUBCombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "FMRRD", ":", "return", "PerformFMRRDCombine", "(", "N", ",", "DCI", ")", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["This", "method", "will", "be", "invoked", "for", "all", "target", "nodes", "and", "for", "any", "target-independent", "nodes", "that", "the", "target", "has", "registered", "with", "invoke", "it", "for", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::SUB", "ARMISD::FMRRD"], "File": "ARMISelLowering124", "Func": "PerformDAGCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11061, "Length": 74} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "{", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "assert", "(", "0", "&&", "\"Don't know how to custom expand this!\"", ")", ";", "return", ";", "case", "ISD", "::", "BIT_CONVERT", ":", "Results", ".", "push_back", "(", "ExpandBIT_CONVERT", "(", "N", ",", "DAG", ")", ")", ";", "return", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "{", "SDValue", "Res", "=", "ExpandSRx", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "return", ";", "}", "}", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Don't know how to custom expand this!\"", "ISD::BIT_CONVERT", "ISD::SRL", "ISD::SRA"], "File": "ARMISelLowering124", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11062, "Length": 103} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_STORE", ":", "case", "ISD", "::", "ATOMIC_LOAD", ":", "case", "ISD", "::", "ATOMIC_LOAD_ADD", ":", "case", "ISD", "::", "ATOMIC_LOAD_AND", ":", "case", "ISD", "::", "ATOMIC_LOAD_NAND", ":", "case", "ISD", "::", "ATOMIC_LOAD_OR", ":", "case", "ISD", "::", "ATOMIC_LOAD_SUB", ":", "case", "ISD", "::", "ATOMIC_LOAD_XOR", ":", "case", "ISD", "::", "ATOMIC_SWAP", ":", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "case", "ISD", "::", "ATOMIC_LOAD_MIN", ":", "case", "ISD", "::", "ATOMIC_LOAD_UMIN", ":", "case", "ISD", "::", "ATOMIC_LOAD_MAX", ":", "case", "ISD", "::", "ATOMIC_LOAD_UMAX", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::READCYCLECOUNTER", "ISD::ATOMIC_STORE", "ISD::ATOMIC_LOAD", "ISD::ATOMIC_LOAD_ADD", "ISD::ATOMIC_LOAD_AND", "ISD::ATOMIC_LOAD_NAND", "ISD::ATOMIC_LOAD_OR", "ISD::ATOMIC_LOAD_SUB", "ISD::ATOMIC_LOAD_XOR", "ISD::ATOMIC_SWAP", "ISD::ATOMIC_CMP_SWAP", "ISD::ATOMIC_LOAD_MIN", "ISD::ATOMIC_LOAD_UMIN", "ISD::ATOMIC_LOAD_MAX", "ISD::ATOMIC_LOAD_UMAX"], "File": "ARMISelLowering126", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11063, "Length": 196} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "allowsMisalignedMemoryAccesses", "(", "EVT", "VT", ",", "unsigned", ",", "Align", "Alignment", ",", "MachineMemOperand", "::", "Flags", ",", "bool", "*", "Fast", ")", "const", "{", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "bool", "AllowsUnaligned", "=", "Subtarget", "->", "allowsUnalignedMem", "(", ")", ";", "auto", "Ty", "=", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ";", "if", "(", "Ty", "==", "MVT", "::", "i8", "||", "Ty", "==", "MVT", "::", "i16", "||", "Ty", "==", "MVT", "::", "i32", ")", "{", "if", "(", "AllowsUnaligned", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "return", "true", ";", "}", "}", "if", "(", "Ty", "==", "MVT", "::", "f64", "||", "Ty", "==", "MVT", "::", "v2f64", ")", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "AllowsUnaligned", "||", "Subtarget", "->", "isLittle", "(", ")", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "}", "if", "(", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "(", "Ty", "==", "MVT", "::", "v16i1", "||", "Ty", "==", "MVT", "::", "v8i1", "||", "Ty", "==", "MVT", "::", "v4i1", "||", "Ty", "==", "MVT", "::", "v2i1", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "if", "(", "(", "Ty", "==", "MVT", "::", "v4i8", "||", "Ty", "==", "MVT", "::", "v8i8", "||", "Ty", "==", "MVT", "::", "v4i16", ")", "&&", "Alignment", ">=", "VT", ".", "getScalarSizeInBits", "(", ")", "/", "8", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "if", "(", "Ty", "==", "MVT", "::", "v16i8", "||", "Ty", "==", "MVT", "::", "v8i16", "||", "Ty", "==", "MVT", "::", "v8f16", "||", "Ty", "==", "MVT", "::", "v4i32", "||", "Ty", "==", "MVT", "::", "v4f32", "||", "Ty", "==", "MVT", "::", "v2i64", "||", "Ty", "==", "MVT", "::", "v2f64", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "allows", "unaligned", "memory", "accesses", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::i8", "MVT::i16", "MVT::i32", "MVT::f64", "MVT::v2f64", "MVT::v16i1", "MVT::v8i1", "MVT::v4i1", "MVT::v2i1", "MVT::v4i8", "MVT::v8i8", "MVT::v4i16", "8", "MVT::v16i8", "MVT::v8i16", "MVT::v8f16", "MVT::v4i32", "MVT::v4f32", "MVT::v2i64", "MVT::v2f64"], "File": "ARMISelLowering12", "Func": "allowsMisalignedMemoryAccesses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11064, "Length": 309} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitLoadLinked", "(", "IRBuilderBase", "&", "Builder", ",", "Type", "*", "ValueTy", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "bool", "IsAcquire", "=", "isAcquireOrStronger", "(", "Ord", ")", ";", "if", "(", "ValueTy", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaexd", ":", "Intrinsic", "::", "arm_ldrexd", ";", "Function", "*", "Ldrex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "Value", "*", "LoHi", "=", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ",", "\"lohi\"", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "0", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateExtractValue", "(", "LoHi", ",", "1", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Lo", "=", "Builder", ".", "CreateZExt", "(", "Lo", ",", "ValueTy", ",", "\"lo64\"", ")", ";", "Hi", "=", "Builder", ".", "CreateZExt", "(", "Hi", ",", "ValueTy", ",", "\"hi64\"", ")", ";", "return", "Builder", ".", "CreateOr", "(", "Lo", ",", "Builder", ".", "CreateShl", "(", "Hi", ",", "ConstantInt", "::", "get", "(", "ValueTy", ",", "32", ")", ")", ",", "\"val64\"", ")", ";", "}", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Intrinsic", "::", "ID", "Int", "=", "IsAcquire", "?", "Intrinsic", "::", "arm_ldaex", ":", "Intrinsic", "::", "arm_ldrex", ";", "Function", "*", "Ldrex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "CallInst", "*", "CI", "=", "Builder", ".", "CreateCall", "(", "Ldrex", ",", "Addr", ")", ";", "CI", "->", "addParamAttr", "(", "0", ",", "Attribute", "::", "get", "(", "M", "->", "getContext", "(", ")", ",", "Attribute", "::", "ElementType", ",", "ValueTy", ")", ")", ";", "return", "Builder", ".", "CreateTruncOrBitCast", "(", "CI", ",", "ValueTy", ")", ";", "}", ""], "natrual_language": ["Perform", "a", "load-linked", "operation", "on", "Addr", ",", "returning", "a", "``", "Value", "*", "''", "with", "the", "corresponding", "pointee", "type", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_ldaexd", "Intrinsic::arm_ldrexd", "Intrinsic::getDeclaration", "\"lohi\"", "0", "\"lo\"", "1", "\"hi\"", "\"lo64\"", "\"hi64\"", "32", "\"val64\"", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex", "Intrinsic::getDeclaration", "0"], "File": "ARMISelLowering12", "Func": "emitLoadLinked", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11065, "Length": 316} {"ground_truth": ["", "Value", "*", "ARMTargetLowering", "::", "emitStoreConditional", "(", "IRBuilderBase", "&", "Builder", ",", "Value", "*", "Val", ",", "Value", "*", "Addr", ",", "AtomicOrdering", "Ord", ")", "const", "{", "Module", "*", "M", "=", "Builder", ".", "GetInsertBlock", "(", ")", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "bool", "IsRelease", "=", "isReleaseOrStronger", "(", "Ord", ")", ";", "if", "(", "Val", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", "==", "64", ")", "{", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlexd", ":", "Intrinsic", "::", "arm_strexd", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ")", ";", "Type", "*", "Int32Ty", "=", "Type", "::", "getInt32Ty", "(", "M", "->", "getContext", "(", ")", ")", ";", "Value", "*", "Lo", "=", "Builder", ".", "CreateTrunc", "(", "Val", ",", "Int32Ty", ",", "\"lo\"", ")", ";", "Value", "*", "Hi", "=", "Builder", ".", "CreateTrunc", "(", "Builder", ".", "CreateLShr", "(", "Val", ",", "32", ")", ",", "Int32Ty", ",", "\"hi\"", ")", ";", "if", "(", "!", "Subtarget", "->", "isLittle", "(", ")", ")", "std", "::", "swap", "(", "Lo", ",", "Hi", ")", ";", "Addr", "=", "Builder", ".", "CreateBitCast", "(", "Addr", ",", "Type", "::", "getInt8PtrTy", "(", "M", "->", "getContext", "(", ")", ")", ")", ";", "return", "Builder", ".", "CreateCall", "(", "Strex", ",", "{", "Lo", ",", "Hi", ",", "Addr", "}", ")", ";", "}", "Intrinsic", "::", "ID", "Int", "=", "IsRelease", "?", "Intrinsic", "::", "arm_stlex", ":", "Intrinsic", "::", "arm_strex", ";", "Type", "*", "Tys", "[", "]", "=", "{", "Addr", "->", "getType", "(", ")", "}", ";", "Function", "*", "Strex", "=", "Intrinsic", "::", "getDeclaration", "(", "M", ",", "Int", ",", "Tys", ")", ";", "CallInst", "*", "CI", "=", "Builder", ".", "CreateCall", "(", "Strex", ",", "{", "Builder", ".", "CreateZExtOrBitCast", "(", "Val", ",", "Strex", "->", "getFunctionType", "(", ")", "->", "getParamType", "(", "0", ")", ")", ",", "Addr", "}", ")", ";", "CI", "->", "addParamAttr", "(", "1", ",", "Attribute", "::", "get", "(", "M", "->", "getContext", "(", ")", ",", "Attribute", "::", "ElementType", ",", "Val", "->", "getType", "(", ")", ")", ")", ";", "return", "CI", ";", "}", ""], "natrual_language": ["Perform", "a", "store-conditional", "operation", "to", "Addr", "."], "TS_V_token": ["ARM", "ARM", "64", "Intrinsic::ID", "Intrinsic::arm_stlexd", "Intrinsic::arm_strexd", "Intrinsic::getDeclaration", "\"lo\"", "32", "\"hi\"", "Intrinsic::ID", "Intrinsic::arm_stlex", "Intrinsic::arm_strex", "Intrinsic::getDeclaration", "0", "1"], "File": "ARMISelLowering12", "Func": "emitStoreConditional", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11066, "Length": 308} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getSetCCResultType", "(", "const", "DataLayout", "&", "DL", ",", "LLVMContext", "&", ",", "EVT", "VT", ")", "const", "{", "if", "(", "!", "VT", ".", "isVector", "(", ")", ")", "return", "getPointerTy", "(", "DL", ")", ";", "if", "(", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", "&&", "(", "VT", "==", "MVT", "::", "v2i64", "||", "VT", "==", "MVT", "::", "v4i32", "||", "VT", "==", "MVT", "::", "v8i16", "||", "VT", "==", "MVT", "::", "v16i8", ")", ")", "||", "(", "Subtarget", "->", "hasMVEFloatOps", "(", ")", "&&", "(", "VT", "==", "MVT", "::", "v2f64", "||", "VT", "==", "MVT", "::", "v4f32", "||", "VT", "==", "MVT", "::", "v8f16", ")", ")", ")", "return", "MVT", "::", "getVectorVT", "(", "MVT", "::", "i1", ",", "VT", ".", "getVectorElementCount", "(", ")", ")", ";", "return", "VT", ".", "changeVectorElementTypeToInteger", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "value", "type", "to", "use", "for", "ISD", ":", ":SETCC", "."], "TS_V_token": ["ARM", "ARM", "MVT::v2i64", "MVT::v4i32", "MVT::v8i16", "MVT::v16i8", "MVT::v2f64", "MVT::v4f32", "MVT::v8f16", "MVT::getVectorVT", "MVT::i1"], "File": "ARMISelLowering12", "Func": "getSetCCResultType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11067, "Length": 121} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isMulAddWithConstProfitable", "(", "SDValue", "AddNode", ",", "SDValue", "ConstNode", ")", "const", "{", "const", "EVT", "VT", "=", "AddNode", ".", "getValueType", "(", ")", ";", "if", "(", "VT", ".", "isVector", "(", ")", "||", "VT", ".", "getScalarSizeInBits", "(", ")", ">", "32", ")", "return", "true", ";", "const", "ConstantSDNode", "*", "C0Node", "=", "cast", "<", "ConstantSDNode", ">", "(", "AddNode", ".", "getOperand", "(", "1", ")", ")", ";", "const", "ConstantSDNode", "*", "C1Node", "=", "cast", "<", "ConstantSDNode", ">", "(", "ConstNode", ")", ";", "const", "int64_t", "C0", "=", "C0Node", "->", "getSExtValue", "(", ")", ";", "APInt", "CA", "=", "C0Node", "->", "getAPIntValue", "(", ")", "*", "C1Node", "->", "getAPIntValue", "(", ")", ";", "if", "(", "!", "isLegalAddImmediate", "(", "C0", ")", "||", "isLegalAddImmediate", "(", "CA", ".", "getSExtValue", "(", ")", ")", ")", "return", "true", ";", "if", "(", "ConstantMaterializationCost", "(", "(", "unsigned", ")", "CA", ".", "getZExtValue", "(", ")", ",", "Subtarget", ")", ">", "1", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "may", "be", "profitable", "to", "transform", "(", "mul", "(", "add", "x", ",", "c1", ")", ",", "c2", ")", "-", ">", "(", "add", "(", "mul", "x", ",", "c2", ")", ",", "c1", "*", "c2", ")", "."], "TS_V_token": ["ARM", "ARM", "32", "1", "1"], "File": "ARMISelLowering12", "Func": "isMulAddWithConstProfitable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11068, "Length": 143} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isUsedByReturnOnly", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Chain", ")", "const", "{", "if", "(", "N", "->", "getNumValues", "(", ")", "!=", "1", ")", "return", "false", ";", "if", "(", "!", "N", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "SDValue", "TCChain", "=", "Chain", ";", "SDNode", "*", "Copy", "=", "*", "N", "->", "use_begin", "(", ")", ";", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ISD", "::", "CopyToReg", ")", "{", "if", "(", "Copy", "->", "getOperand", "(", "Copy", "->", "getNumOperands", "(", ")", "-", "1", ")", ".", "getValueType", "(", ")", "==", "MVT", "::", "Glue", ")", "return", "false", ";", "TCChain", "=", "Copy", "->", "getOperand", "(", "0", ")", ";", "}", "else", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "VMOVRRD", ")", "{", "SDNode", "*", "VMov", "=", "Copy", ";", "SmallPtrSet", "<", "SDNode", "*", ",", "2", ">", "Copies", ";", "for", "(", "SDNode", "*", "U", ":", "VMov", "->", "uses", "(", ")", ")", "{", "if", "(", "U", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", ")", "return", "false", ";", "Copies", ".", "insert", "(", "U", ")", ";", "}", "if", "(", "Copies", ".", "size", "(", ")", ">", "2", ")", "return", "false", ";", "for", "(", "SDNode", "*", "U", ":", "VMov", "->", "uses", "(", ")", ")", "{", "SDValue", "UseChain", "=", "U", "->", "getOperand", "(", "0", ")", ";", "if", "(", "Copies", ".", "count", "(", "UseChain", ".", "getNode", "(", ")", ")", ")", "Copy", "=", "U", ";", "else", "{", "if", "(", "U", "->", "getOperand", "(", "U", "->", "getNumOperands", "(", ")", "-", "1", ")", ".", "getValueType", "(", ")", "==", "MVT", "::", "Glue", ")", "return", "false", ";", "TCChain", "=", "UseChain", ";", "}", "}", "}", "else", "if", "(", "Copy", "->", "getOpcode", "(", ")", "==", "ISD", "::", "BITCAST", ")", "{", "if", "(", "!", "Copy", "->", "hasOneUse", "(", ")", ")", "return", "false", ";", "Copy", "=", "*", "Copy", "->", "use_begin", "(", ")", ";", "if", "(", "Copy", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", "||", "!", "Copy", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "if", "(", "Copy", "->", "getOperand", "(", "Copy", "->", "getNumOperands", "(", ")", "-", "1", ")", ".", "getValueType", "(", ")", "==", "MVT", "::", "Glue", ")", "return", "false", ";", "TCChain", "=", "Copy", "->", "getOperand", "(", "0", ")", ";", "}", "else", "{", "return", "false", ";", "}", "bool", "HasRet", "=", "false", ";", "for", "(", "const", "SDNode", "*", "U", ":", "Copy", "->", "uses", "(", ")", ")", "{", "if", "(", "U", "->", "getOpcode", "(", ")", "!=", "ARMISD", "::", "RET_FLAG", "&&", "U", "->", "getOpcode", "(", ")", "!=", "ARMISD", "::", "INTRET_FLAG", ")", "return", "false", ";", "HasRet", "=", "true", ";", "}", "if", "(", "!", "HasRet", ")", "return", "false", ";", "Chain", "=", "TCChain", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "result", "of", "the", "specified", "node", "is", "used", "by", "a", "return", "node", "only", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0", "ISD::CopyToReg", "1", "MVT::Glue", "0", "ARMISD::VMOVRRD", "2", "ISD::CopyToReg", "2", "0", "1", "MVT::Glue", "ISD::BITCAST", "ISD::CopyToReg", "1", "0", "1", "MVT::Glue", "0", "ARMISD::RET_FLAG", "ARMISD::INTRET_FLAG"], "File": "ARMISelLowering12", "Func": "isUsedByReturnOnly", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11069, "Length": 428} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SHL", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SDIVREM", ":", "case", "ISD", "::", "UDIVREM", ":", "Res", "=", "LowerDivRem", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ")", ";", "assert", "(", "Res", ".", "getNumOperands", "(", ")", "==", "2", "&&", "\"DivRem needs two values\"", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "0", ")", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "1", ")", ")", ";", "return", ";", "case", "ISD", "::", "SADDSAT", ":", "case", "ISD", "::", "SSUBSAT", ":", "case", "ISD", "::", "UADDSAT", ":", "case", "ISD", "::", "USUBSAT", ":", "Res", "=", "LowerADDSUBSAT", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "UDIV", ":", "case", "ISD", "::", "SDIV", ":", "assert", "(", "Subtarget", "->", "isTargetWindows", "(", ")", "&&", "\"can only expand DIV on Windows\"", ")", ";", "return", "ExpandDIV_Windows", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SDIV", ",", "Results", ")", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceCMP_SWAP_64Results", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "ReplaceLongIntrinsic", "(", "N", ",", "Results", ",", "DAG", ")", ";", "case", "ISD", "::", "LOAD", ":", "LowerLOAD", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "TRUNCATE", ":", "Res", "=", "LowerTruncate", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "Res", "=", "LowerVectorExtend", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "FP_TO_SINT_SAT", ":", "case", "ISD", "::", "FP_TO_UINT_SAT", ":", "Res", "=", "LowerFP_TO_INT_SAT", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SHL", "ISD::SREM", "ISD::UREM", "ISD::SDIVREM", "ISD::UDIVREM", "0", "2", "\"DivRem needs two values\"", "0", "1", "ISD::SADDSAT", "ISD::SSUBSAT", "ISD::UADDSAT", "ISD::USUBSAT", "0", "ISD::READCYCLECOUNTER", "ISD::UDIV", "ISD::SDIV", "\"can only expand DIV on Windows\"", "0", "ISD::SDIV", "ISD::ATOMIC_CMP_SWAP", "ISD::INTRINSIC_WO_CHAIN", "ISD::LOAD", "ISD::TRUNCATE", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND", "ISD::FP_TO_SINT_SAT", "ISD::FP_TO_UINT_SAT", "0"], "File": "ARMISelLowering12", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11070, "Length": 422} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldConvertFpToSat", "(", "unsigned", "Op", ",", "EVT", "FPVT", ",", "EVT", "VT", ")", "const", "{", "if", "(", "!", "isOperationLegalOrCustom", "(", "Op", ",", "VT", ")", "||", "!", "FPVT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "switch", "(", "FPVT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "case", "MVT", "::", "f16", ":", "return", "Subtarget", "->", "hasVFP2Base", "(", ")", ";", "case", "MVT", "::", "f32", ":", "return", "Subtarget", "->", "hasVFP2Base", "(", ")", ";", "case", "MVT", "::", "f64", ":", "return", "Subtarget", "->", "hasFP64", "(", ")", ";", "case", "MVT", "::", "v4f32", ":", "case", "MVT", "::", "v8f16", ":", "return", "Subtarget", "->", "hasMVEFloatOps", "(", ")", ";", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["Should", "we", "generate", "fp_to_si_sat", "and", "fp_to_ui_sat", "from", "type", "FPVT", "to", "type", "VT", "from", "min", "(", "max", "(", "fptoi", ")", ")", "saturation", "patterns", "."], "TS_V_token": ["ARM", "ARM", "MVT::f16", "MVT::f32", "MVT::f64", "MVT::v4f32", "MVT::v8f16"], "File": "ARMISelLowering12", "Func": "shouldConvertFpToSat", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11071, "Length": 107} {"ground_truth": ["", "TargetLowering", "::", "AtomicExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicCmpXchgInIR", "(", "AtomicCmpXchgInst", "*", "AI", ")", "const", "{", "unsigned", "Size", "=", "AI", "->", "getOperand", "(", "1", ")", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "bool", "HasAtomicCmpXchg", ";", "if", "(", "Subtarget", "->", "isMClass", "(", ")", ")", "HasAtomicCmpXchg", "=", "Subtarget", "->", "hasV8MBaselineOps", "(", ")", ";", "else", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "HasAtomicCmpXchg", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "else", "HasAtomicCmpXchg", "=", "Subtarget", "->", "hasV6Ops", "(", ")", ";", "if", "(", "getTargetMachine", "(", ")", ".", "getOptLevel", "(", ")", "!=", "0", "&&", "HasAtomicCmpXchg", "&&", "Size", "<=", "(", "Subtarget", "->", "isMClass", "(", ")", "?", "32U", ":", "64U", ")", ")", "return", "AtomicExpansionKind", "::", "LLSC", ";", "return", "AtomicExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "atomic", "cmpxchg", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "32U", "64U"], "File": "ARMISelLowering12", "Func": "shouldExpandAtomicCmpXchgInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11072, "Length": 115} {"ground_truth": ["", "TargetLowering", "::", "AtomicExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicLoadInIR", "(", "LoadInst", "*", "LI", ")", "const", "{", "bool", "has64BitAtomicLoad", ";", "if", "(", "Subtarget", "->", "isMClass", "(", ")", ")", "has64BitAtomicLoad", "=", "false", ";", "else", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "has64BitAtomicLoad", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "else", "has64BitAtomicLoad", "=", "Subtarget", "->", "hasV6Ops", "(", ")", ";", "unsigned", "Size", "=", "LI", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "return", "(", "Size", "==", "64", "&&", "has64BitAtomicLoad", ")", "?", "AtomicExpansionKind", "::", "LLOnly", ":", "AtomicExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "(", "atomic", ")", "load", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "."], "TS_V_token": ["ARM", "ARM", "64"], "File": "ARMISelLowering12", "Func": "shouldExpandAtomicLoadInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11073, "Length": 85} {"ground_truth": ["", "TargetLowering", "::", "AtomicExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicRMWInIR", "(", "AtomicRMWInst", "*", "AI", ")", "const", "{", "if", "(", "AI", "->", "isFloatingPointOperation", "(", ")", ")", "return", "AtomicExpansionKind", "::", "CmpXChg", ";", "unsigned", "Size", "=", "AI", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "bool", "hasAtomicRMW", ";", "if", "(", "Subtarget", "->", "isMClass", "(", ")", ")", "hasAtomicRMW", "=", "Subtarget", "->", "hasV8MBaselineOps", "(", ")", ";", "else", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "hasAtomicRMW", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "else", "hasAtomicRMW", "=", "Subtarget", "->", "hasV6Ops", "(", ")", ";", "if", "(", "Size", "<=", "(", "Subtarget", "->", "isMClass", "(", ")", "?", "32U", ":", "64U", ")", "&&", "hasAtomicRMW", ")", "{", "if", "(", "getTargetMachine", "(", ")", ".", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "None", ")", "return", "AtomicExpansionKind", "::", "CmpXChg", ";", "return", "AtomicExpansionKind", "::", "LLSC", ";", "}", "return", "AtomicExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "IR-level", "AtomicExpand", "pass", "should", "expand", "the", "given", "AtomicRMW", ",", "if", "at", "all", "."], "TS_V_token": ["ARM", "ARM", "32U", "64U"], "File": "ARMISelLowering12", "Func": "shouldExpandAtomicRMWInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11074, "Length": 134} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "shouldExpandAtomicStoreInIR", "(", "StoreInst", "*", "SI", ")", "const", "{", "bool", "has64BitAtomicStore", ";", "if", "(", "Subtarget", "->", "isMClass", "(", ")", ")", "has64BitAtomicStore", "=", "false", ";", "else", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "has64BitAtomicStore", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "else", "has64BitAtomicStore", "=", "Subtarget", "->", "hasV6Ops", "(", ")", ";", "unsigned", "Size", "=", "SI", "->", "getValueOperand", "(", ")", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "return", "Size", "==", "64", "&&", "has64BitAtomicStore", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "(", "atomic", ")", "store", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "into", "."], "TS_V_token": ["ARM", "ARM", "64"], "File": "ARMISelLowering12", "Func": "shouldExpandAtomicStoreInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11075, "Length": 77} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "useLoadStackGuardNode", "(", ")", "const", "{", "return", "true", ";", "}", ""], "natrual_language": ["If", "this", "function", "returns", "true", ",", "SelectionDAGBuilder", "emits", "a", "LOAD_STACK_GUARD", "node", "when", "it", "is", "lowering", "Intrinsic", ":", ":stackprotector", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering12", "Func": "useLoadStackGuardNode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11076, "Length": 12} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "ExpandInlineAsm", "(", "CallInst", "*", "CI", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasV6Ops", "(", ")", ")", "return", "false", ";", "InlineAsm", "*", "IA", "=", "cast", "<", "InlineAsm", ">", "(", "CI", "->", "getCalledValue", "(", ")", ")", ";", "std", "::", "string", "AsmStr", "=", "IA", "->", "getAsmString", "(", ")", ";", "SmallVector", "<", "StringRef", ",", "4", ">", "AsmPieces", ";", "SplitString", "(", "AsmStr", ",", "AsmPieces", ",", "\";\\n\"", ")", ";", "switch", "(", "AsmPieces", ".", "size", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "1", ":", "AsmStr", "=", "AsmPieces", "[", "0", "]", ";", "AsmPieces", ".", "clear", "(", ")", ";", "SplitString", "(", "AsmStr", ",", "AsmPieces", ",", "\" \\t,\"", ")", ";", "if", "(", "AsmPieces", ".", "size", "(", ")", "==", "3", "&&", "AsmPieces", "[", "0", "]", "==", "\"rev\"", "&&", "AsmPieces", "[", "1", "]", "==", "\"$0\"", "&&", "AsmPieces", "[", "2", "]", "==", "\"$1\"", "&&", "IA", "->", "getConstraintString", "(", ")", ".", "compare", "(", "0", ",", "4", ",", "\"=l,l\"", ")", "==", "0", ")", "{", "const", "IntegerType", "*", "Ty", "=", "dyn_cast", "<", "IntegerType", ">", "(", "CI", "->", "getType", "(", ")", ")", ";", "if", "(", "Ty", "&&", "Ty", "->", "getBitWidth", "(", ")", "==", "32", ")", "return", "IntrinsicLowering", "::", "LowerToByteSwap", "(", "CI", ")", ";", "}", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["This", "hook", "allows", "the", "target", "to", "expand", "an", "inline", "asm", "call", "to", "be", "explicit", "llvm", "code", "if", "it", "wants", "to", "."], "TS_V_token": ["ARM", "ARM", "4", "\";\\n\"", "1", "0", "\" \\t,\"", "3", "0", "\"rev\"", "1", "\"$0\"", "2", "\"$1\"", "0", "4", "\"=l,l\"", "0", "32"], "File": "ARMISelLowering131", "Func": "ExpandInlineAsm", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11077, "Length": 200} {"ground_truth": ["", "std", "::", "pair", "<", "unsigned", ",", "const", "TargetRegisterClass", "*", ">", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "std", "::", "string", "&", "Constraint", ",", "EVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "tGPRRegisterClass", ")", ";", "else", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'r'", ":", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "SPRRegisterClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "DPRRegisterClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "QPRRegisterClass", ")", ";", "break", ";", "}", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_lower", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "unsigned", "(", "ARM", "::", "CPSR", ")", ",", "ARM", "::", "CCRRegisterClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegisterClass", "0U", "ARM::GPRRegisterClass", "0U", "ARM::GPRRegisterClass", "MVT::f32", "0U", "ARM::SPRRegisterClass", "64", "0U", "ARM::DPRRegisterClass", "128", "0U", "ARM::QPRRegisterClass", "\"{cc}\"", "ARM::CPSR", "ARM::CCRRegisterClass"], "File": "ARMISelLowering131", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11078, "Length": 207} {"ground_truth": ["", "Sched", "::", "Preference", "ARMTargetLowering", "::", "getSchedulingPreference", "(", "SDNode", "*", "N", ")", "const", "{", "unsigned", "NumVals", "=", "N", "->", "getNumValues", "(", ")", ";", "if", "(", "!", "NumVals", ")", "return", "Sched", "::", "RegPressure", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumVals", ";", "++", "i", ")", "{", "EVT", "VT", "=", "N", "->", "getValueType", "(", "i", ")", ";", "if", "(", "VT", "==", "MVT", "::", "Glue", "||", "VT", "==", "MVT", "::", "Other", ")", "continue", ";", "if", "(", "VT", ".", "isFloatingPoint", "(", ")", "||", "VT", ".", "isVector", "(", ")", ")", "return", "Sched", "::", "Latency", ";", "}", "if", "(", "!", "N", "->", "isMachineOpcode", "(", ")", ")", "return", "Sched", "::", "RegPressure", ";", "const", "TargetInstrInfo", "*", "TII", "=", "getTargetMachine", "(", ")", ".", "getInstrInfo", "(", ")", ";", "const", "TargetInstrDesc", "&", "TID", "=", "TII", "->", "get", "(", "N", "->", "getMachineOpcode", "(", ")", ")", ";", "if", "(", "TID", ".", "getNumDefs", "(", ")", "==", "0", ")", "return", "Sched", "::", "RegPressure", ";", "if", "(", "!", "Itins", "->", "isEmpty", "(", ")", "&&", "Itins", "->", "getOperandCycle", "(", "TID", ".", "getSchedClass", "(", ")", ",", "0", ")", ">", "2", ")", "return", "Sched", "::", "Latency", ";", "return", "Sched", "::", "RegPressure", ";", "}", ""], "natrual_language": ["Some", "scheduler", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "MVT::Glue", "MVT::Other", "0", "0", "2"], "File": "ARMISelLowering131", "Func": "getSchedulingPreference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11079, "Length": 186} {"ground_truth": ["", "TargetLowering", "::", "ConstraintWeight", "ARMTargetLowering", "::", "getSingleConstraintMatchWeight", "(", "AsmOperandInfo", "&", "info", ",", "const", "char", "*", "constraint", ")", "const", "{", "ConstraintWeight", "weight", "=", "CW_Invalid", ";", "Value", "*", "CallOperandVal", "=", "info", ".", "CallOperandVal", ";", "if", "(", "CallOperandVal", "==", "NULL", ")", "return", "CW_Default", ";", "const", "Type", "*", "type", "=", "CallOperandVal", "->", "getType", "(", ")", ";", "switch", "(", "*", "constraint", ")", "{", "default", ":", "weight", "=", "TargetLowering", "::", "getSingleConstraintMatchWeight", "(", "info", ",", "constraint", ")", ";", "break", ";", "case", "'l'", ":", "if", "(", "type", "->", "isIntegerTy", "(", ")", ")", "{", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "weight", "=", "CW_SpecificReg", ";", "else", "weight", "=", "CW_Register", ";", "}", "break", ";", "case", "'w'", ":", "if", "(", "type", "->", "isFloatingPointTy", "(", ")", ")", "weight", "=", "CW_Register", ";", "break", ";", "}", "return", "weight", ";", "}", ""], "natrual_language": ["Examine", "constraint", "string", "and", "operand", "type", "and", "determine", "a", "weight", "value", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering131", "Func": "getSingleConstraintMatchWeight", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11080, "Length": 126} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getTgtMemIntrinsic", "(", "IntrinsicInfo", "&", "Info", ",", "const", "CallInst", "&", "I", ",", "unsigned", "Intrinsic", ")", "const", "{", "switch", "(", "Intrinsic", ")", "{", "case", "Intrinsic", "::", "arm_neon_vld1", ":", "case", "Intrinsic", "::", "arm_neon_vld2", ":", "case", "Intrinsic", "::", "arm_neon_vld3", ":", "case", "Intrinsic", "::", "arm_neon_vld4", ":", "case", "Intrinsic", "::", "arm_neon_vld2lane", ":", "case", "Intrinsic", "::", "arm_neon_vld3lane", ":", "case", "Intrinsic", "::", "arm_neon_vld4lane", ":", "{", "Info", ".", "opc", "=", "ISD", "::", "INTRINSIC_W_CHAIN", ";", "uint64_t", "NumElts", "=", "getTargetData", "(", ")", "->", "getTypeAllocSize", "(", "I", ".", "getType", "(", ")", ")", "/", "8", ";", "Info", ".", "memVT", "=", "EVT", "::", "getVectorVT", "(", "I", ".", "getType", "(", ")", "->", "getContext", "(", ")", ",", "MVT", "::", "i64", ",", "NumElts", ")", ";", "Info", ".", "ptrVal", "=", "I", ".", "getArgOperand", "(", "0", ")", ";", "Info", ".", "offset", "=", "0", ";", "Value", "*", "AlignArg", "=", "I", ".", "getArgOperand", "(", "I", ".", "getNumArgOperands", "(", ")", "-", "1", ")", ";", "Info", ".", "align", "=", "cast", "<", "ConstantInt", ">", "(", "AlignArg", ")", "->", "getZExtValue", "(", ")", ";", "Info", ".", "vol", "=", "false", ";", "Info", ".", "readMem", "=", "true", ";", "Info", ".", "writeMem", "=", "false", ";", "return", "true", ";", "}", "case", "Intrinsic", "::", "arm_neon_vst1", ":", "case", "Intrinsic", "::", "arm_neon_vst2", ":", "case", "Intrinsic", "::", "arm_neon_vst3", ":", "case", "Intrinsic", "::", "arm_neon_vst4", ":", "case", "Intrinsic", "::", "arm_neon_vst2lane", ":", "case", "Intrinsic", "::", "arm_neon_vst3lane", ":", "case", "Intrinsic", "::", "arm_neon_vst4lane", ":", "{", "Info", ".", "opc", "=", "ISD", "::", "INTRINSIC_VOID", ";", "unsigned", "NumElts", "=", "0", ";", "for", "(", "unsigned", "ArgI", "=", "1", ",", "ArgE", "=", "I", ".", "getNumArgOperands", "(", ")", ";", "ArgI", "<", "ArgE", ";", "++", "ArgI", ")", "{", "const", "Type", "*", "ArgTy", "=", "I", ".", "getArgOperand", "(", "ArgI", ")", "->", "getType", "(", ")", ";", "if", "(", "!", "ArgTy", "->", "isVectorTy", "(", ")", ")", "break", ";", "NumElts", "+=", "getTargetData", "(", ")", "->", "getTypeAllocSize", "(", "ArgTy", ")", "/", "8", ";", "}", "Info", ".", "memVT", "=", "EVT", "::", "getVectorVT", "(", "I", ".", "getType", "(", ")", "->", "getContext", "(", ")", ",", "MVT", "::", "i64", ",", "NumElts", ")", ";", "Info", ".", "ptrVal", "=", "I", ".", "getArgOperand", "(", "0", ")", ";", "Info", ".", "offset", "=", "0", ";", "Value", "*", "AlignArg", "=", "I", ".", "getArgOperand", "(", "I", ".", "getNumArgOperands", "(", ")", "-", "1", ")", ";", "Info", ".", "align", "=", "cast", "<", "ConstantInt", ">", "(", "AlignArg", ")", "->", "getZExtValue", "(", ")", ";", "Info", ".", "vol", "=", "false", ";", "Info", ".", "readMem", "=", "false", ";", "Info", ".", "writeMem", "=", "true", ";", "return", "true", ";", "}", "default", ":", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Given", "an", "intrinsic", ",", "checks", "if", "on", "the", "target", "the", "intrinsic", "will", "need", "to", "map", "to", "a", "MemIntrinsicNode", "(", "touches", "memory", ")", "."], "TS_V_token": ["ARM", "ARM", "Intrinsic::arm_neon_vld1", "Intrinsic::arm_neon_vld2", "Intrinsic::arm_neon_vld3", "Intrinsic::arm_neon_vld4", "Intrinsic::arm_neon_vld2lane", "Intrinsic::arm_neon_vld3lane", "Intrinsic::arm_neon_vld4lane", "ISD::INTRINSIC_W_CHAIN", "8", "MVT::i64", "0", "0", "1", "Intrinsic::arm_neon_vst1", "Intrinsic::arm_neon_vst2", "Intrinsic::arm_neon_vst3", "Intrinsic::arm_neon_vst4", "Intrinsic::arm_neon_vst2lane", "Intrinsic::arm_neon_vst3lane", "Intrinsic::arm_neon_vst4lane", "ISD::INTRINSIC_VOID", "0", "1", "8", "MVT::i64", "0", "0", "1"], "File": "ARMISelLowering131", "Func": "getTgtMemIntrinsic", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11081, "Length": 402} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "const", "SmallVectorImpl", "<", "int", ">", "&", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ";", "unsigned", "Imm", ",", "WhichResult", ";", "unsigned", "EltSize", "=", "VT", ".", "getVectorElementType", "(", ")", ".", "getSizeInBits", "(", ")", ";", "return", "(", "EltSize", ">=", "32", "||", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", "||", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTRNMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVUZPMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVZIPMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVTRN_v_undef_Mask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVUZP_v_undef_Mask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVZIP_v_undef_Mask", "(", "M", ",", "VT", ",", "WhichResult", ")", ")", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "32", "0", "64", "32", "16"], "File": "ARMISelLowering131", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11082, "Length": 288} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformDAGCombine", "(", "SDNode", "*", "N", ",", "DAGCombinerInfo", "&", "DCI", ")", "const", "{", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ISD", "::", "ADD", ":", "return", "PerformADDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "SUB", ":", "return", "PerformSUBCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "MUL", ":", "return", "PerformMULCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "OR", ":", "return", "PerformORCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "AND", ":", "return", "PerformANDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "BFI", ":", "return", "PerformBFICombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "VMOVRRD", ":", "return", "PerformVMOVRRDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "VMOVDRR", ":", "return", "PerformVMOVDRRCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ISD", "::", "STORE", ":", "return", "PerformSTORECombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "BUILD_VECTOR", ":", "return", "PerformBUILD_VECTORCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "INSERT_VECTOR_ELT", ":", "return", "PerformInsertEltCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "VECTOR_SHUFFLE", ":", "return", "PerformVECTOR_SHUFFLECombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ARMISD", "::", "VDUPLANE", ":", "return", "PerformVDUPLANECombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "PerformIntrinsicCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ISD", "::", "SHL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SRL", ":", "return", "PerformShiftCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "case", "ISD", "::", "ANY_EXTEND", ":", "return", "PerformExtendCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SELECT_CC", ":", "return", "PerformSELECT_CCCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ARMISD", "::", "VLD2DUP", ":", "case", "ARMISD", "::", "VLD3DUP", ":", "case", "ARMISD", "::", "VLD4DUP", ":", "return", "CombineBaseUpdate", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "INTRINSIC_VOID", ":", "case", "ISD", "::", "INTRINSIC_W_CHAIN", ":", "switch", "(", "cast", "<", "ConstantSDNode", ">", "(", "N", "->", "getOperand", "(", "1", ")", ")", "->", "getZExtValue", "(", ")", ")", "{", "case", "Intrinsic", "::", "arm_neon_vld1", ":", "case", "Intrinsic", "::", "arm_neon_vld2", ":", "case", "Intrinsic", "::", "arm_neon_vld3", ":", "case", "Intrinsic", "::", "arm_neon_vld4", ":", "case", "Intrinsic", "::", "arm_neon_vld2lane", ":", "case", "Intrinsic", "::", "arm_neon_vld3lane", ":", "case", "Intrinsic", "::", "arm_neon_vld4lane", ":", "case", "Intrinsic", "::", "arm_neon_vst1", ":", "case", "Intrinsic", "::", "arm_neon_vst2", ":", "case", "Intrinsic", "::", "arm_neon_vst3", ":", "case", "Intrinsic", "::", "arm_neon_vst4", ":", "case", "Intrinsic", "::", "arm_neon_vst2lane", ":", "case", "Intrinsic", "::", "arm_neon_vst3lane", ":", "case", "Intrinsic", "::", "arm_neon_vst4lane", ":", "return", "CombineBaseUpdate", "(", "N", ",", "DCI", ")", ";", "default", ":", "break", ";", "}", "break", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["This", "method", "will", "be", "invoked", "for", "all", "target", "nodes", "and", "for", "any", "target-independent", "nodes", "that", "the", "target", "has", "registered", "with", "invoke", "it", "for", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::SUB", "ISD::MUL", "ISD::OR", "ISD::AND", "ARMISD::BFI", "ARMISD::VMOVRRD", "ARMISD::VMOVDRR", "ISD::STORE", "ISD::BUILD_VECTOR", "ISD::INSERT_VECTOR_ELT", "ISD::VECTOR_SHUFFLE", "ARMISD::VDUPLANE", "ISD::INTRINSIC_WO_CHAIN", "ISD::SHL", "ISD::SRA", "ISD::SRL", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND", "ISD::ANY_EXTEND", "ISD::SELECT_CC", "ARMISD::VLD2DUP", "ARMISD::VLD3DUP", "ARMISD::VLD4DUP", "ISD::INTRINSIC_VOID", "ISD::INTRINSIC_W_CHAIN", "1", "Intrinsic::arm_neon_vld1", "Intrinsic::arm_neon_vld2", "Intrinsic::arm_neon_vld3", "Intrinsic::arm_neon_vld4", "Intrinsic::arm_neon_vld2lane", "Intrinsic::arm_neon_vld3lane", "Intrinsic::arm_neon_vld4lane", "Intrinsic::arm_neon_vst1", "Intrinsic::arm_neon_vst2", "Intrinsic::arm_neon_vst3", "Intrinsic::arm_neon_vst4", "Intrinsic::arm_neon_vst2lane", "Intrinsic::arm_neon_vst3lane", "Intrinsic::arm_neon_vst4lane"], "File": "ARMISelLowering131", "Func": "PerformDAGCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11083, "Length": 436} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::BITCAST", "ISD::SRL", "ISD::SRA"], "File": "ARMISelLowering131", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11084, "Length": 99} {"ground_truth": ["", "RCPair", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "TargetRegisterInfo", "*", "TRI", ",", "const", "std", "::", "string", "&", "Constraint", ",", "MVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'h'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "hGPRRegClass", ")", ";", "break", ";", "case", "'r'", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "tGPRRegClass", ")", ";", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "GPRRegClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPRRegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPRRegClass", ")", ";", "break", ";", "case", "'x'", ":", "if", "(", "VT", "==", "MVT", "::", "Other", ")", "break", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "DPR_8RegClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "QPR_8RegClass", ")", ";", "break", ";", "case", "'t'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "RCPair", "(", "0U", ",", "&", "ARM", "::", "SPRRegClass", ")", ";", "break", ";", "}", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_lower", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "unsigned", "(", "ARM", "::", "CPSR", ")", ",", "&", "ARM", "::", "CCRRegClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "TRI", ",", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "0U", "ARM::hGPRRegClass", "0U", "ARM::tGPRRegClass", "0U", "ARM::GPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPRRegClass", "64", "0U", "ARM::DPRRegClass", "128", "0U", "ARM::QPRRegClass", "MVT::Other", "MVT::f32", "0U", "ARM::SPR_8RegClass", "64", "0U", "ARM::DPR_8RegClass", "128", "0U", "ARM::QPR_8RegClass", "MVT::f32", "0U", "ARM::SPRRegClass", "\"{cc}\"", "ARM::CPSR", "ARM::CCRRegClass"], "File": "ARMISelLowering132", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11085, "Length": 352} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getRegisterByName", "(", "const", "char", "*", "RegName", ",", "EVT", "VT", ")", "const", "{", "unsigned", "Reg", "=", "StringSwitch", "<", "unsigned", ">", "(", "RegName", ")", ".", "Case", "(", "\"sp\"", ",", "ARM", "::", "SP", ")", ".", "Default", "(", "0", ")", ";", "if", "(", "Reg", ")", "return", "Reg", ";", "report_fatal_error", "(", "Twine", "(", "\"Invalid register name \\\"\"", "+", "StringRef", "(", "RegName", ")", "+", "\"\\\".\"", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "ID", "of", "the", "name", "passed", "in", "."], "TS_V_token": ["ARM", "ARM", "\"sp\"", "ARM::SP", "0", "\"Invalid register name \\\"\"", "\"\\\".\""], "File": "ARMISelLowering132", "Func": "getRegisterByName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11086, "Length": 63} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalAddressingMode", "(", "const", "AddrMode", "&", "AM", ",", "Type", "*", "Ty", ",", "unsigned", "AS", ")", "const", "{", "EVT", "VT", "=", "getValueType", "(", "Ty", ",", "true", ")", ";", "if", "(", "!", "isLegalAddressImmediate", "(", "AM", ".", "BaseOffs", ",", "VT", ",", "Subtarget", ")", ")", "return", "false", ";", "if", "(", "AM", ".", "BaseGV", ")", "return", "false", ";", "switch", "(", "AM", ".", "Scale", ")", "{", "case", "0", ":", "break", ";", "case", "1", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "default", ":", "if", "(", "AM", ".", "BaseOffs", ")", "return", "false", ";", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "isLegalT2ScaledAddressingMode", "(", "AM", ",", "VT", ")", ";", "int", "Scale", "=", "AM", ".", "Scale", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i1", ":", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i32", ":", "if", "(", "Scale", "<", "0", ")", "Scale", "=", "-", "Scale", ";", "if", "(", "Scale", "==", "1", ")", "return", "true", ";", "return", "isPowerOf2_32", "(", "Scale", "&", "~", "1", ")", ";", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i64", ":", "if", "(", "(", "(", "unsigned", ")", "AM", ".", "HasBaseReg", "+", "Scale", ")", "<=", "2", ")", "return", "true", ";", "return", "false", ";", "case", "MVT", "::", "isVoid", ":", "if", "(", "Scale", "&", "1", ")", "return", "false", ";", "return", "isPowerOf2_32", "(", "Scale", ")", ";", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["isLegalAddressingMode", "-", "Return", "true", "if", "the", "addressing", "mode", "represented", "by", "AM", "is", "legal", "for", "this", "target", ",", "for", "a", "load/store", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "MVT::i1", "MVT::i8", "MVT::i32", "0", "1", "1", "MVT::i16", "MVT::i64", "2", "MVT::isVoid", "1"], "File": "ARMISelLowering132", "Func": "isLegalAddressingMode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11087, "Length": 244} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::READCYCLECOUNTER"], "File": "ARMISelLowering132", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11088, "Length": 131} {"ground_truth": ["", "TargetLoweringBase", "::", "AtomicRMWExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicRMWInIR", "(", "AtomicRMWInst", "*", "AI", ")", "const", "{", "unsigned", "Size", "=", "AI", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "return", "(", "Size", "<=", "(", "Subtarget", "->", "isMClass", "(", ")", "?", "32U", ":", "64U", ")", ")", "?", "AtomicRMWExpansionKind", "::", "LLSC", ":", "AtomicRMWExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "IR-level", "AtomicExpand", "pass", "should", "expand", "the", "given", "AtomicRMW", ",", "if", "at", "all", "."], "TS_V_token": ["ARM", "ARM", "32U", "64U"], "File": "ARMISelLowering132", "Func": "shouldExpandAtomicRMWInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11089, "Length": 52} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "AdjustInstrPostInstrSelection", "(", "MachineInstr", "*", "MI", ",", "SDNode", "*", "Node", ")", "const", "{", "const", "MCInstrDesc", "*", "MCID", "=", "&", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "NewOpc", "=", "convertAddSubFlagsOpcode", "(", "MI", "->", "getOpcode", "(", ")", ")", ";", "if", "(", "NewOpc", ")", "{", "const", "ARMBaseInstrInfo", "*", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "getTargetMachine", "(", ")", ".", "getSubtargetImpl", "(", ")", "->", "getInstrInfo", "(", ")", ")", ";", "MCID", "=", "&", "TII", "->", "get", "(", "NewOpc", ")", ";", "assert", "(", "MCID", "->", "getNumOperands", "(", ")", "==", "MI", "->", "getDesc", "(", ")", ".", "getNumOperands", "(", ")", "+", "1", "&&", "\"converted opcode should be the same except for cc_out\"", ")", ";", "MI", "->", "setDesc", "(", "*", "MCID", ")", ";", "MI", "->", "addOperand", "(", "MachineOperand", "::", "CreateReg", "(", "0", ",", "true", ")", ")", ";", "}", "unsigned", "ccOutIdx", "=", "MCID", "->", "getNumOperands", "(", ")", "-", "1", ";", "if", "(", "!", "MI", "->", "hasOptionalDef", "(", ")", "||", "!", "MCID", "->", "OpInfo", "[", "ccOutIdx", "]", ".", "isOptionalDef", "(", ")", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "bool", "definesCPSR", "=", "false", ";", "bool", "deadCPSR", "=", "false", ";", "for", "(", "unsigned", "i", "=", "MCID", "->", "getNumOperands", "(", ")", ",", "e", "=", "MI", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isReg", "(", ")", "&&", "MO", ".", "isDef", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", ")", "{", "definesCPSR", "=", "true", ";", "if", "(", "MO", ".", "isDead", "(", ")", ")", "deadCPSR", "=", "true", ";", "MI", "->", "RemoveOperand", "(", "i", ")", ";", "break", ";", "}", "}", "if", "(", "!", "definesCPSR", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "assert", "(", "deadCPSR", "==", "!", "Node", "->", "hasAnyUseOfValue", "(", "1", ")", "&&", "\"inconsistent dead flag\"", ")", ";", "if", "(", "deadCPSR", ")", "{", "assert", "(", "!", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ".", "getReg", "(", ")", "&&", "\"expect uninitialized optional cc_out operand\"", ")", ";", "return", ";", "}", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ";", "MO", ".", "setReg", "(", "ARM", "::", "CPSR", ")", ";", "MO", ".", "setIsDef", "(", "true", ")", ";", "}", ""], "natrual_language": ["This", "method", "should", "be", "implemented", "by", "targets", "that", "mark", "instructions", "with", "the", "'hasPostISelHook", "'", "flag", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "1", "\"converted opcode should be the same except for cc_out\"", "0", "1", "\"Optional cc_out operand required\"", "ARM::CPSR", "\"Optional cc_out operand required\"", "1", "\"inconsistent dead flag\"", "\"expect uninitialized optional cc_out operand\"", "ARM::CPSR"], "File": "ARMISelLowering133", "Func": "AdjustInstrPostInstrSelection", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11090, "Length": 355} {"ground_truth": ["", "Sched", "::", "Preference", "ARMTargetLowering", "::", "getSchedulingPreference", "(", "SDNode", "*", "N", ")", "const", "{", "unsigned", "NumVals", "=", "N", "->", "getNumValues", "(", ")", ";", "if", "(", "!", "NumVals", ")", "return", "Sched", "::", "RegPressure", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumVals", ";", "++", "i", ")", "{", "EVT", "VT", "=", "N", "->", "getValueType", "(", "i", ")", ";", "if", "(", "VT", "==", "MVT", "::", "Glue", "||", "VT", "==", "MVT", "::", "Other", ")", "continue", ";", "if", "(", "VT", ".", "isFloatingPoint", "(", ")", "||", "VT", ".", "isVector", "(", ")", ")", "return", "Sched", "::", "ILP", ";", "}", "if", "(", "!", "N", "->", "isMachineOpcode", "(", ")", ")", "return", "Sched", "::", "RegPressure", ";", "const", "TargetInstrInfo", "*", "TII", "=", "getTargetMachine", "(", ")", ".", "getSubtargetImpl", "(", ")", "->", "getInstrInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "TII", "->", "get", "(", "N", "->", "getMachineOpcode", "(", ")", ")", ";", "if", "(", "MCID", ".", "getNumDefs", "(", ")", "==", "0", ")", "return", "Sched", "::", "RegPressure", ";", "if", "(", "!", "Itins", "->", "isEmpty", "(", ")", "&&", "Itins", "->", "getOperandCycle", "(", "MCID", ".", "getSchedClass", "(", ")", ",", "0", ")", ">", "2", ")", "return", "Sched", "::", "ILP", ";", "return", "Sched", "::", "RegPressure", ";", "}", ""], "natrual_language": ["Some", "scheduler", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "MVT::Glue", "MVT::Other", "0", "0", "2"], "File": "ARMISelLowering133", "Func": "getSchedulingPreference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11091, "Length": 190} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "computeKnownBitsForTargetNode", "(", "const", "SDValue", "Op", ",", "APInt", "&", "KnownZero", ",", "APInt", "&", "KnownOne", ",", "const", "SelectionDAG", "&", "DAG", ",", "unsigned", "Depth", ")", "const", "{", "unsigned", "BitWidth", "=", "KnownOne", ".", "getBitWidth", "(", ")", ";", "KnownZero", "=", "KnownOne", "=", "APInt", "(", "BitWidth", ",", "0", ")", ";", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARMISD", "::", "ADDC", ":", "case", "ARMISD", "::", "ADDE", ":", "case", "ARMISD", "::", "SUBC", ":", "case", "ARMISD", "::", "SUBE", ":", "if", "(", "Op", ".", "getResNo", "(", ")", "==", "0", ")", "break", ";", "KnownZero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "1", ")", ";", "break", ";", "case", "ARMISD", "::", "CMOV", ":", "{", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "0", ")", ",", "KnownZero", ",", "KnownOne", ",", "Depth", "+", "1", ")", ";", "if", "(", "KnownZero", "==", "0", "&&", "KnownOne", "==", "0", ")", "return", ";", "APInt", "KnownZeroRHS", ",", "KnownOneRHS", ";", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "1", ")", ",", "KnownZeroRHS", ",", "KnownOneRHS", ",", "Depth", "+", "1", ")", ";", "KnownZero", "&=", "KnownZeroRHS", ";", "KnownOne", "&=", "KnownOneRHS", ";", "return", ";", "}", "case", "ISD", "::", "INTRINSIC_W_CHAIN", ":", "{", "ConstantSDNode", "*", "CN", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", "->", "getOperand", "(", "1", ")", ")", ";", "Intrinsic", "::", "ID", "IntID", "=", "static_cast", "<", "Intrinsic", "::", "ID", ">", "(", "CN", "->", "getZExtValue", "(", ")", ")", ";", "switch", "(", "IntID", ")", "{", "default", ":", "return", ";", "case", "Intrinsic", "::", "arm_ldaex", ":", "case", "Intrinsic", "::", "arm_ldrex", ":", "{", "EVT", "VT", "=", "cast", "<", "MemIntrinsicSDNode", ">", "(", "Op", ")", "->", "getMemoryVT", "(", ")", ";", "unsigned", "MemBits", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "KnownZero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "MemBits", ")", ";", "return", ";", "}", "}", "}", "}", "}", ""], "natrual_language": ["Determine", "which", "of", "the", "bits", "specified", "in", "Mask", "are", "known", "to", "be", "either", "zero", "or", "one", "and", "return", "them", "in", "the", "KnownZero/KnownOne", "bitsets", "."], "TS_V_token": ["ARM", "ARM", "0", "ARMISD::ADDC", "ARMISD::ADDE", "ARMISD::SUBC", "ARMISD::SUBE", "0", "1", "ARMISD::CMOV", "0", "1", "0", "0", "1", "1", "ISD::INTRINSIC_W_CHAIN", "1", "Intrinsic::ID", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex"], "File": "ARMISelLowering134", "Func": "computeKnownBitsForTargetNode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11092, "Length": 287} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "lowerInterleavedLoad", "(", "LoadInst", "*", "LI", ",", "ArrayRef", "<", "ShuffleVectorInst", "*", ">", "Shuffles", ",", "ArrayRef", "<", "unsigned", ">", "Indices", ",", "unsigned", "Factor", ")", "const", "{", "assert", "(", "Factor", ">=", "2", "&&", "Factor", "<=", "getMaxSupportedInterleaveFactor", "(", ")", "&&", "\"Invalid interleave factor\"", ")", ";", "assert", "(", "!", "Shuffles", ".", "empty", "(", ")", "&&", "\"Empty shufflevector input\"", ")", ";", "assert", "(", "Shuffles", ".", "size", "(", ")", "==", "Indices", ".", "size", "(", ")", "&&", "\"Unmatched number of shufflevectors and indices\"", ")", ";", "VectorType", "*", "VecTy", "=", "Shuffles", "[", "0", "]", "->", "getType", "(", ")", ";", "Type", "*", "EltTy", "=", "VecTy", "->", "getVectorElementType", "(", ")", ";", "const", "DataLayout", "&", "DL", "=", "LI", "->", "getModule", "(", ")", "->", "getDataLayout", "(", ")", ";", "unsigned", "VecSize", "=", "DL", ".", "getTypeAllocSizeInBits", "(", "VecTy", ")", ";", "bool", "EltIs64Bits", "=", "DL", ".", "getTypeAllocSizeInBits", "(", "EltTy", ")", "==", "64", ";", "if", "(", "(", "VecSize", "!=", "64", "&&", "VecSize", "!=", "128", ")", "||", "EltIs64Bits", ")", "return", "false", ";", "if", "(", "EltTy", "->", "isPointerTy", "(", ")", ")", "VecTy", "=", "VectorType", "::", "get", "(", "DL", ".", "getIntPtrType", "(", "EltTy", ")", ",", "VecTy", "->", "getVectorNumElements", "(", ")", ")", ";", "static", "const", "Intrinsic", "::", "ID", "LoadInts", "[", "3", "]", "=", "{", "Intrinsic", "::", "arm_neon_vld2", ",", "Intrinsic", "::", "arm_neon_vld3", ",", "Intrinsic", "::", "arm_neon_vld4", "}", ";", "Function", "*", "VldnFunc", "=", "Intrinsic", "::", "getDeclaration", "(", "LI", "->", "getModule", "(", ")", ",", "LoadInts", "[", "Factor", "-", "2", "]", ",", "VecTy", ")", ";", "IRBuilder", "<", ">", "Builder", "(", "LI", ")", ";", "SmallVector", "<", "Value", "*", ",", "2", ">", "Ops", ";", "Type", "*", "Int8Ptr", "=", "Builder", ".", "getInt8PtrTy", "(", "LI", "->", "getPointerAddressSpace", "(", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "CreateBitCast", "(", "LI", "->", "getPointerOperand", "(", ")", ",", "Int8Ptr", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "getInt32", "(", "LI", "->", "getAlignment", "(", ")", ")", ")", ";", "CallInst", "*", "VldN", "=", "Builder", ".", "CreateCall", "(", "VldnFunc", ",", "Ops", ",", "\"vldN\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Shuffles", ".", "size", "(", ")", ";", "i", "++", ")", "{", "ShuffleVectorInst", "*", "SV", "=", "Shuffles", "[", "i", "]", ";", "unsigned", "Index", "=", "Indices", "[", "i", "]", ";", "Value", "*", "SubVec", "=", "Builder", ".", "CreateExtractValue", "(", "VldN", ",", "Index", ")", ";", "if", "(", "EltTy", "->", "isPointerTy", "(", ")", ")", "SubVec", "=", "Builder", ".", "CreateIntToPtr", "(", "SubVec", ",", "SV", "->", "getType", "(", ")", ")", ";", "SV", "->", "replaceAllUsesWith", "(", "SubVec", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Lower", "interleaved", "load", "(", "s", ")", "into", "target", "specific", "instructions/intrinsics", "."], "TS_V_token": ["ARM", "ARM", "2", "\"Invalid interleave factor\"", "\"Empty shufflevector input\"", "\"Unmatched number of shufflevectors and indices\"", "0", "64", "64", "128", "Intrinsic::ID", "3", "Intrinsic::arm_neon_vld2", "Intrinsic::arm_neon_vld3", "Intrinsic::arm_neon_vld4", "Intrinsic::getDeclaration", "2", "2", "\"vldN\"", "0"], "File": "ARMISelLowering136", "Func": "lowerInterleavedLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11093, "Length": 389} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "lowerInterleavedStore", "(", "StoreInst", "*", "SI", ",", "ShuffleVectorInst", "*", "SVI", ",", "unsigned", "Factor", ")", "const", "{", "assert", "(", "Factor", ">=", "2", "&&", "Factor", "<=", "getMaxSupportedInterleaveFactor", "(", ")", "&&", "\"Invalid interleave factor\"", ")", ";", "VectorType", "*", "VecTy", "=", "SVI", "->", "getType", "(", ")", ";", "assert", "(", "VecTy", "->", "getVectorNumElements", "(", ")", "%", "Factor", "==", "0", "&&", "\"Invalid interleaved store\"", ")", ";", "unsigned", "NumSubElts", "=", "VecTy", "->", "getVectorNumElements", "(", ")", "/", "Factor", ";", "Type", "*", "EltTy", "=", "VecTy", "->", "getVectorElementType", "(", ")", ";", "VectorType", "*", "SubVecTy", "=", "VectorType", "::", "get", "(", "EltTy", ",", "NumSubElts", ")", ";", "const", "DataLayout", "&", "DL", "=", "SI", "->", "getModule", "(", ")", "->", "getDataLayout", "(", ")", ";", "unsigned", "SubVecSize", "=", "DL", ".", "getTypeAllocSizeInBits", "(", "SubVecTy", ")", ";", "bool", "EltIs64Bits", "=", "DL", ".", "getTypeAllocSizeInBits", "(", "EltTy", ")", "==", "64", ";", "if", "(", "(", "SubVecSize", "!=", "64", "&&", "SubVecSize", "!=", "128", ")", "||", "EltIs64Bits", ")", "return", "false", ";", "Value", "*", "Op0", "=", "SVI", "->", "getOperand", "(", "0", ")", ";", "Value", "*", "Op1", "=", "SVI", "->", "getOperand", "(", "1", ")", ";", "IRBuilder", "<", ">", "Builder", "(", "SI", ")", ";", "if", "(", "EltTy", "->", "isPointerTy", "(", ")", ")", "{", "Type", "*", "IntTy", "=", "DL", ".", "getIntPtrType", "(", "EltTy", ")", ";", "Type", "*", "IntVecTy", "=", "VectorType", "::", "get", "(", "IntTy", ",", "Op0", "->", "getType", "(", ")", "->", "getVectorNumElements", "(", ")", ")", ";", "Op0", "=", "Builder", ".", "CreatePtrToInt", "(", "Op0", ",", "IntVecTy", ")", ";", "Op1", "=", "Builder", ".", "CreatePtrToInt", "(", "Op1", ",", "IntVecTy", ")", ";", "SubVecTy", "=", "VectorType", "::", "get", "(", "IntTy", ",", "NumSubElts", ")", ";", "}", "static", "Intrinsic", "::", "ID", "StoreInts", "[", "3", "]", "=", "{", "Intrinsic", "::", "arm_neon_vst2", ",", "Intrinsic", "::", "arm_neon_vst3", ",", "Intrinsic", "::", "arm_neon_vst4", "}", ";", "Function", "*", "VstNFunc", "=", "Intrinsic", "::", "getDeclaration", "(", "SI", "->", "getModule", "(", ")", ",", "StoreInts", "[", "Factor", "-", "2", "]", ",", "SubVecTy", ")", ";", "SmallVector", "<", "Value", "*", ",", "6", ">", "Ops", ";", "Type", "*", "Int8Ptr", "=", "Builder", ".", "getInt8PtrTy", "(", "SI", "->", "getPointerAddressSpace", "(", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "CreateBitCast", "(", "SI", "->", "getPointerOperand", "(", ")", ",", "Int8Ptr", ")", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Factor", ";", "i", "++", ")", "Ops", ".", "push_back", "(", "Builder", ".", "CreateShuffleVector", "(", "Op0", ",", "Op1", ",", "getSequentialMask", "(", "Builder", ",", "NumSubElts", "*", "i", ",", "NumSubElts", ")", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "getInt32", "(", "SI", "->", "getAlignment", "(", ")", ")", ")", ";", "Builder", ".", "CreateCall", "(", "VstNFunc", ",", "Ops", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Lower", "interleaved", "store", "(", "s", ")", "into", "target", "specific", "instructions/intrinsics", "."], "TS_V_token": ["ARM", "ARM", "2", "\"Invalid interleave factor\"", "0", "\"Invalid interleaved store\"", "64", "64", "128", "0", "1", "Intrinsic::ID", "3", "Intrinsic::arm_neon_vst2", "Intrinsic::arm_neon_vst3", "Intrinsic::arm_neon_vst4", "Intrinsic::getDeclaration", "2", "6", "0"], "File": "ARMISelLowering136", "Func": "lowerInterleavedStore", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11094, "Length": 408} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "mayBeEmittedAsTailCall", "(", "CallInst", "*", "CI", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "supportsTailCall", "(", ")", ")", "return", "false", ";", "auto", "Attr", "=", "CI", "->", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getFnAttribute", "(", "\"disable-tail-calls\"", ")", ";", "if", "(", "!", "CI", "->", "isTailCall", "(", ")", "||", "Attr", ".", "getValueAsString", "(", ")", "==", "\"true\"", ")", "return", "false", ";", "return", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "may", "be", "able", "emit", "the", "call", "instruction", "as", "a", "tail", "call", "."], "TS_V_token": ["ARM", "ARM", "\"disable-tail-calls\"", "\"true\""], "File": "ARMISelLowering136", "Func": "mayBeEmittedAsTailCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11095, "Length": 70} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SREM", "ISD::UREM", "ISD::READCYCLECOUNTER"], "File": "ARMISelLowering136", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11096, "Length": 152} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "HandleByVal", "(", "CCState", "*", "State", ",", "unsigned", "&", "size", ",", "unsigned", "Align", ")", "const", "{", "unsigned", "reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "assert", "(", "(", "State", "->", "getCallOrPrologue", "(", ")", "==", "Prologue", "||", "State", "->", "getCallOrPrologue", "(", ")", "==", "Call", ")", "&&", "\"unhandled ParmContext\"", ")", ";", "unsigned", "NSAAOffset", "=", "State", "->", "getNextStackOffset", "(", ")", ";", "if", "(", "State", "->", "getCallOrPrologue", "(", ")", "!=", "Call", ")", "{", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "State", "->", "getInRegsParamsCount", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "unsigned", "RB", ",", "RE", ";", "State", "->", "getInRegsParamInfo", "(", "i", ",", "RB", ",", "RE", ")", ";", "assert", "(", "NSAAOffset", ">=", "(", "RE", "-", "RB", ")", "*", "4", "&&", "\"Stack offset for byval regs doesn't introduced anymore?\"", ")", ";", "NSAAOffset", "-=", "(", "RE", "-", "RB", ")", "*", "4", ";", "}", "}", "if", "(", "(", "ARM", "::", "R0", "<=", "reg", ")", "&&", "(", "reg", "<=", "ARM", "::", "R3", ")", ")", "{", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "&&", "Align", ">", "4", ")", "{", "unsigned", "AlignInRegs", "=", "Align", "/", "4", ";", "unsigned", "Waste", "=", "(", "ARM", "::", "R4", "-", "reg", ")", "%", "AlignInRegs", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Waste", ";", "++", "i", ")", "reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "}", "if", "(", "reg", "!=", "0", ")", "{", "unsigned", "excess", "=", "4", "*", "(", "ARM", "::", "R4", "-", "reg", ")", ";", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "&&", "NSAAOffset", "!=", "0", "&&", "size", ">", "excess", ")", "{", "while", "(", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ")", ";", "return", ";", "}", "unsigned", "ByValRegBegin", "=", "reg", ";", "unsigned", "ByValRegEnd", "=", "(", "size", "<", "excess", ")", "?", "reg", "+", "size", "/", "4", ":", "ARM", "::", "R4", ";", "State", "->", "addInRegsParamInfo", "(", "ByValRegBegin", ",", "ByValRegEnd", ")", ";", "for", "(", "unsigned", "i", "=", "reg", "+", "1", ";", "i", "!=", "ByValRegEnd", ";", "++", "i", ")", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "if", "(", "State", "->", "getCallOrPrologue", "(", ")", "==", "Call", ")", "{", "if", "(", "size", "<", "excess", ")", "size", "=", "0", ";", "else", "size", "-=", "excess", ";", "}", "}", "}", "}", ""], "natrual_language": ["Target-specific", "cleanup", "for", "formal", "ByVal", "parameters", "."], "TS_V_token": ["ARM", "ARM", "4", "\"unhandled ParmContext\"", "0", "4", "\"Stack offset for byval regs doesn't introduced anymore?\"", "4", "ARM::R0", "ARM::R3", "4", "4", "ARM::R4", "0", "4", "0", "4", "ARM::R4", "0", "4", "4", "ARM::R4", "1", "4", "0"], "File": "ARMISelLowering137", "Func": "HandleByVal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11097, "Length": 357} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "Res", "=", "ExpandVectorExtension", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "ATOMIC_LOAD_ADD", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMADD64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_AND", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMAND64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_NAND", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMNAND64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_OR", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMOR64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_SUB", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMSUB64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_XOR", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMXOR64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_SWAP", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMSWAP64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMCMPXCHG64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_MIN", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMMIN64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_UMIN", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMUMIN64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_MAX", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMMAX64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_UMAX", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMUMAX64_DAG", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::BITCAST", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND", "ISD::SRL", "ISD::SRA", "ISD::ATOMIC_LOAD_ADD", "ARMISD::ATOMADD64_DAG", "ISD::ATOMIC_LOAD_AND", "ARMISD::ATOMAND64_DAG", "ISD::ATOMIC_LOAD_NAND", "ARMISD::ATOMNAND64_DAG", "ISD::ATOMIC_LOAD_OR", "ARMISD::ATOMOR64_DAG", "ISD::ATOMIC_LOAD_SUB", "ARMISD::ATOMSUB64_DAG", "ISD::ATOMIC_LOAD_XOR", "ARMISD::ATOMXOR64_DAG", "ISD::ATOMIC_SWAP", "ARMISD::ATOMSWAP64_DAG", "ISD::ATOMIC_CMP_SWAP", "ARMISD::ATOMCMPXCHG64_DAG", "ISD::ATOMIC_LOAD_MIN", "ARMISD::ATOMMIN64_DAG", "ISD::ATOMIC_LOAD_UMIN", "ARMISD::ATOMUMIN64_DAG", "ISD::ATOMIC_LOAD_MAX", "ARMISD::ATOMMAX64_DAG", "ISD::ATOMIC_LOAD_UMAX", "ARMISD::ATOMUMAX64_DAG"], "File": "ARMISelLowering137", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11098, "Length": 358} {"ground_truth": ["", "EVT", "ARMTargetLowering", "::", "getOptimalMemOpType", "(", "uint64_t", "Size", ",", "unsigned", "DstAlign", ",", "unsigned", "SrcAlign", ",", "bool", "IsZeroVal", ",", "bool", "MemcpyStrSrc", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "Function", "*", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "if", "(", "IsZeroVal", "&&", "!", "F", "->", "getFnAttributes", "(", ")", ".", "hasNoImplicitFloatAttr", "(", ")", "&&", "Subtarget", "->", "hasNEON", "(", ")", ")", "{", "if", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "16", ")", "&&", "Size", ">=", "16", ")", "{", "return", "MVT", "::", "v4i32", ";", "}", "else", "if", "(", "memOpAlign", "(", "SrcAlign", ",", "DstAlign", ",", "8", ")", "&&", "Size", ">=", "8", ")", "{", "return", "MVT", "::", "v2i32", ";", "}", "}", "if", "(", "Size", ">=", "4", ")", "{", "return", "MVT", "::", "i32", ";", "}", "else", "if", "(", "Size", ">=", "2", ")", "{", "return", "MVT", "::", "i16", ";", "}", "return", "MVT", "::", "Other", ";", "}", ""], "natrual_language": ["It", "returns", "EVT", ":", ":Other", "if", "the", "type", "should", "be", "determined", "using", "generic", "target-independent", "logic", "."], "TS_V_token": ["ARM", "ARM", "16", "16", "MVT::v4i32", "8", "8", "MVT::v2i32", "4", "MVT::i32", "2", "MVT::i16", "MVT::Other"], "File": "ARMISelLowering139", "Func": "getOptimalMemOpType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11099, "Length": 138} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "allowsMisalignedMemoryAccesses", "(", "EVT", "VT", ",", "unsigned", ",", "unsigned", "Alignment", ",", "MachineMemOperand", "::", "Flags", ",", "bool", "*", "Fast", ")", "const", "{", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "bool", "AllowsUnaligned", "=", "Subtarget", "->", "allowsUnalignedMem", "(", ")", ";", "auto", "Ty", "=", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ";", "if", "(", "Ty", "==", "MVT", "::", "i8", "||", "Ty", "==", "MVT", "::", "i16", "||", "Ty", "==", "MVT", "::", "i32", ")", "{", "if", "(", "AllowsUnaligned", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "return", "true", ";", "}", "}", "if", "(", "Ty", "==", "MVT", "::", "f64", "||", "Ty", "==", "MVT", "::", "v2f64", ")", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "AllowsUnaligned", "||", "Subtarget", "->", "isLittle", "(", ")", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "}", "if", "(", "!", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "(", "Ty", "==", "MVT", "::", "v16i1", "||", "Ty", "==", "MVT", "::", "v8i1", "||", "Ty", "==", "MVT", "::", "v4i1", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "if", "(", "Ty", "!=", "MVT", "::", "v16i8", "&&", "Ty", "!=", "MVT", "::", "v8i16", "&&", "Ty", "!=", "MVT", "::", "v8f16", "&&", "Ty", "!=", "MVT", "::", "v4i32", "&&", "Ty", "!=", "MVT", "::", "v4f32", "&&", "Ty", "!=", "MVT", "::", "v2i64", "&&", "Ty", "!=", "MVT", "::", "v2f64", "&&", "Ty", "!=", "MVT", "::", "v4i8", "&&", "Ty", "!=", "MVT", "::", "v8i8", "&&", "Ty", "!=", "MVT", "::", "v4i16", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "isLittle", "(", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "else", "{", "if", "(", "Ty", "==", "MVT", "::", "v16i8", "||", "(", "(", "Ty", "==", "MVT", "::", "v8i16", "||", "Ty", "==", "MVT", "::", "v8f16", ")", "&&", "Alignment", ">=", "2", ")", "||", "(", "(", "Ty", "==", "MVT", "::", "v4i32", "||", "Ty", "==", "MVT", "::", "v4f32", ")", "&&", "Alignment", ">=", "4", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "allows", "unaligned", "memory", "accesses", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::i8", "MVT::i16", "MVT::i32", "MVT::f64", "MVT::v2f64", "MVT::v16i1", "MVT::v8i1", "MVT::v4i1", "MVT::v16i8", "MVT::v8i16", "MVT::v8f16", "MVT::v4i32", "MVT::v4f32", "MVT::v2i64", "MVT::v2f64", "MVT::v4i8", "MVT::v8i8", "MVT::v4i16", "MVT::v16i8", "MVT::v8i16", "MVT::v8f16", "2", "MVT::v4i32", "MVT::v4f32", "4"], "File": "ARMISelLowering13", "Func": "allowsMisalignedMemoryAccesses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11100, "Length": 351} {"ground_truth": ["", "ARMTargetLowering", "::", "ConstraintType", "ARMTargetLowering", "::", "getConstraintType", "(", "StringRef", "Constraint", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "default", ":", "break", ";", "case", "'l'", ":", "return", "C_RegisterClass", ";", "case", "'w'", ":", "return", "C_RegisterClass", ";", "case", "'h'", ":", "return", "C_RegisterClass", ";", "case", "'x'", ":", "return", "C_RegisterClass", ";", "case", "'t'", ":", "return", "C_RegisterClass", ";", "case", "'j'", ":", "return", "C_Other", ";", "case", "'Q'", ":", "return", "C_Memory", ";", "}", "}", "else", "if", "(", "Constraint", ".", "size", "(", ")", "==", "2", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "default", ":", "break", ";", "case", "'T'", ":", "return", "C_RegisterClass", ";", "case", "'U'", ":", "return", "C_Memory", ";", "}", "}", "return", "TargetLowering", "::", "getConstraintType", "(", "Constraint", ")", ";", "}", ""], "natrual_language": ["Given", "a", "constraint", "letter", ",", "return", "the", "type", "of", "constraint", "for", "this", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM", "1", "0", "2", "0"], "File": "ARMISelLowering13", "Func": "getConstraintType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11101, "Length": 126} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "allowsMisalignedMemoryAccesses", "(", "EVT", "VT", ",", "unsigned", ",", "unsigned", ",", "MachineMemOperand", "::", "Flags", ",", "bool", "*", "Fast", ")", "const", "{", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "bool", "AllowsUnaligned", "=", "Subtarget", "->", "allowsUnalignedMem", "(", ")", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i32", ":", "{", "if", "(", "AllowsUnaligned", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", "case", "MVT", "::", "f64", ":", "case", "MVT", "::", "v2f64", ":", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "AllowsUnaligned", "||", "Subtarget", "->", "isLittle", "(", ")", ")", ")", "{", "if", "(", "Fast", ")", "*", "Fast", "=", "true", ";", "return", "true", ";", "}", "return", "false", ";", "}", "}", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "allows", "unaligned", "memory", "accesses", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "MVT::i8", "MVT::i16", "MVT::i32", "MVT::f64", "MVT::v2f64"], "File": "ARMISelLowering140", "Func": "allowsMisalignedMemoryAccesses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11102, "Length": 150} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "ATOMIC_LOAD_ADD", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMADD64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_AND", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMAND64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_NAND", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMNAND64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_OR", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMOR64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_SUB", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMSUB64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_XOR", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMXOR64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_SWAP", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMSWAP64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMCMPXCHG64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_MIN", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMMIN64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_UMIN", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMUMIN64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_MAX", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMMAX64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_UMAX", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMUMAX64_DAG", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::ATOMIC_LOAD_ADD", "ARMISD::ATOMADD64_DAG", "ISD::ATOMIC_LOAD_AND", "ARMISD::ATOMAND64_DAG", "ISD::ATOMIC_LOAD_NAND", "ARMISD::ATOMNAND64_DAG", "ISD::ATOMIC_LOAD_OR", "ARMISD::ATOMOR64_DAG", "ISD::ATOMIC_LOAD_SUB", "ARMISD::ATOMSUB64_DAG", "ISD::ATOMIC_LOAD_XOR", "ARMISD::ATOMXOR64_DAG", "ISD::ATOMIC_SWAP", "ARMISD::ATOMSWAP64_DAG", "ISD::ATOMIC_CMP_SWAP", "ARMISD::ATOMCMPXCHG64_DAG", "ISD::ATOMIC_LOAD_MIN", "ARMISD::ATOMMIN64_DAG", "ISD::ATOMIC_LOAD_UMIN", "ARMISD::ATOMUMIN64_DAG", "ISD::ATOMIC_LOAD_MAX", "ARMISD::ATOMMAX64_DAG", "ISD::ATOMIC_LOAD_UMAX", "ARMISD::ATOMUMAX64_DAG"], "File": "ARMISelLowering141", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11103, "Length": 337} {"ground_truth": ["", "static", "void", "computeKnownBits", "(", "SelectionDAG", "&", "DAG", ",", "SDValue", "Op", ",", "APInt", "&", "KnownZero", ",", "APInt", "&", "KnownOne", ")", "{", "if", "(", "Op", ".", "getOpcode", "(", ")", "==", "ARMISD", "::", "BFI", ")", "{", "computeKnownBits", "(", "DAG", ",", "Op", ".", "getOperand", "(", "0", ")", ",", "KnownZero", ",", "KnownOne", ")", ";", "ConstantSDNode", "*", "CI", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", ".", "getOperand", "(", "2", ")", ")", ";", "const", "APInt", "&", "Mask", "=", "CI", "->", "getAPIntValue", "(", ")", ";", "KnownZero", "&=", "Mask", ";", "KnownOne", "&=", "Mask", ";", "return", ";", "}", "if", "(", "Op", ".", "getOpcode", "(", ")", "==", "ARMISD", "::", "CMOV", ")", "{", "APInt", "KZ2", "(", "KnownZero", ".", "getBitWidth", "(", ")", ",", "0", ")", ";", "APInt", "KO2", "(", "KnownOne", ".", "getBitWidth", "(", ")", ",", "0", ")", ";", "computeKnownBits", "(", "DAG", ",", "Op", ".", "getOperand", "(", "0", ")", ",", "KnownZero", ",", "KnownOne", ")", ";", "computeKnownBits", "(", "DAG", ",", "Op", ".", "getOperand", "(", "1", ")", ",", "KZ2", ",", "KO2", ")", ";", "KnownZero", "&=", "KZ2", ";", "KnownOne", "&=", "KO2", ";", "return", ";", "}", "return", "DAG", ".", "computeKnownBits", "(", "Op", ",", "KnownZero", ",", "KnownOne", ")", ";", "}", ""], "natrual_language": ["Determine", "which", "bits", "of", "Op", "are", "known", "to", "be", "either", "zero", "or", "one", "and", "return", "them", "in", "Known", "."], "TS_V_token": ["ARM", "ARMISD::BFI", "0", "2", "ARMISD::CMOV", "0", "0", "0", "1"], "File": "ARMISelLowering146", "Func": "computeKnownBits", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11104, "Length": 181} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "computeKnownBitsForTargetNode", "(", "const", "SDValue", "Op", ",", "APInt", "&", "KnownZero", ",", "APInt", "&", "KnownOne", ",", "const", "APInt", "&", "DemandedElts", ",", "const", "SelectionDAG", "&", "DAG", ",", "unsigned", "Depth", ")", "const", "{", "unsigned", "BitWidth", "=", "KnownOne", ".", "getBitWidth", "(", ")", ";", "KnownZero", "=", "KnownOne", "=", "APInt", "(", "BitWidth", ",", "0", ")", ";", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARMISD", "::", "ADDC", ":", "case", "ARMISD", "::", "ADDE", ":", "case", "ARMISD", "::", "SUBC", ":", "case", "ARMISD", "::", "SUBE", ":", "if", "(", "Op", ".", "getResNo", "(", ")", "==", "0", ")", "break", ";", "KnownZero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "1", ")", ";", "break", ";", "case", "ARMISD", "::", "CMOV", ":", "{", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "0", ")", ",", "KnownZero", ",", "KnownOne", ",", "Depth", "+", "1", ")", ";", "if", "(", "KnownZero", "==", "0", "&&", "KnownOne", "==", "0", ")", "return", ";", "APInt", "KnownZeroRHS", ",", "KnownOneRHS", ";", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "1", ")", ",", "KnownZeroRHS", ",", "KnownOneRHS", ",", "Depth", "+", "1", ")", ";", "KnownZero", "&=", "KnownZeroRHS", ";", "KnownOne", "&=", "KnownOneRHS", ";", "return", ";", "}", "case", "ISD", "::", "INTRINSIC_W_CHAIN", ":", "{", "ConstantSDNode", "*", "CN", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", "->", "getOperand", "(", "1", ")", ")", ";", "Intrinsic", "::", "ID", "IntID", "=", "static_cast", "<", "Intrinsic", "::", "ID", ">", "(", "CN", "->", "getZExtValue", "(", ")", ")", ";", "switch", "(", "IntID", ")", "{", "default", ":", "return", ";", "case", "Intrinsic", "::", "arm_ldaex", ":", "case", "Intrinsic", "::", "arm_ldrex", ":", "{", "EVT", "VT", "=", "cast", "<", "MemIntrinsicSDNode", ">", "(", "Op", ")", "->", "getMemoryVT", "(", ")", ";", "unsigned", "MemBits", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "KnownZero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "MemBits", ")", ";", "return", ";", "}", "}", "}", "}", "}", ""], "natrual_language": ["Determine", "which", "of", "the", "bits", "specified", "in", "Mask", "are", "known", "to", "be", "either", "zero", "or", "one", "and", "return", "them", "in", "the", "KnownZero/KnownOne", "bitsets", "."], "TS_V_token": ["ARM", "ARM", "0", "ARMISD::ADDC", "ARMISD::ADDE", "ARMISD::SUBC", "ARMISD::SUBE", "0", "1", "ARMISD::CMOV", "0", "1", "0", "0", "1", "1", "ISD::INTRINSIC_W_CHAIN", "1", "Intrinsic::ID", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex"], "File": "ARMISelLowering146", "Func": "computeKnownBitsForTargetNode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11105, "Length": 292} {"ground_truth": ["", "static", "unsigned", "getNumInterleavedAccesses", "(", "VectorType", "*", "VecTy", ",", "const", "DataLayout", "&", "DL", ")", "{", "return", "(", "DL", ".", "getTypeSizeInBits", "(", "VecTy", ")", "+", "127", ")", "/", "128", ";", "}", ""], "natrual_language": ["Returns", "the", "number", "of", "interleaved", "accesses", "that", "will", "be", "generated", "when", "lowering", "accesses", "of", "the", "given", "type", "."], "TS_V_token": ["ARM", "127", "128"], "File": "ARMISelLowering146", "Func": "getNumInterleavedAccesses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11106, "Length": 29} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "computeKnownBitsForTargetNode", "(", "const", "SDValue", "Op", ",", "KnownBits", "&", "Known", ",", "const", "APInt", "&", "DemandedElts", ",", "const", "SelectionDAG", "&", "DAG", ",", "unsigned", "Depth", ")", "const", "{", "unsigned", "BitWidth", "=", "Known", ".", "getBitWidth", "(", ")", ";", "Known", ".", "resetAll", "(", ")", ";", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARMISD", "::", "ADDC", ":", "case", "ARMISD", "::", "ADDE", ":", "case", "ARMISD", "::", "SUBC", ":", "case", "ARMISD", "::", "SUBE", ":", "if", "(", "Op", ".", "getResNo", "(", ")", "==", "0", ")", "{", "SDValue", "LHS", "=", "Op", ".", "getOperand", "(", "0", ")", ";", "SDValue", "RHS", "=", "Op", ".", "getOperand", "(", "1", ")", ";", "if", "(", "Op", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "ADDE", "&&", "isNullConstant", "(", "LHS", ")", "&&", "isNullConstant", "(", "RHS", ")", ")", "{", "Known", ".", "Zero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "1", ")", ";", "return", ";", "}", "}", "break", ";", "case", "ARMISD", "::", "CMOV", ":", "{", "Known", "=", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "0", ")", ",", "Depth", "+", "1", ")", ";", "if", "(", "Known", ".", "isUnknown", "(", ")", ")", "return", ";", "KnownBits", "KnownRHS", "=", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "1", ")", ",", "Depth", "+", "1", ")", ";", "Known", ".", "Zero", "&=", "KnownRHS", ".", "Zero", ";", "Known", ".", "One", "&=", "KnownRHS", ".", "One", ";", "return", ";", "}", "case", "ISD", "::", "INTRINSIC_W_CHAIN", ":", "{", "ConstantSDNode", "*", "CN", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", "->", "getOperand", "(", "1", ")", ")", ";", "Intrinsic", "::", "ID", "IntID", "=", "static_cast", "<", "Intrinsic", "::", "ID", ">", "(", "CN", "->", "getZExtValue", "(", ")", ")", ";", "switch", "(", "IntID", ")", "{", "default", ":", "return", ";", "case", "Intrinsic", "::", "arm_ldaex", ":", "case", "Intrinsic", "::", "arm_ldrex", ":", "{", "EVT", "VT", "=", "cast", "<", "MemIntrinsicSDNode", ">", "(", "Op", ")", "->", "getMemoryVT", "(", ")", ";", "unsigned", "MemBits", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "Known", ".", "Zero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "MemBits", ")", ";", "return", ";", "}", "}", "}", "case", "ARMISD", "::", "BFI", ":", "{", "Known", "=", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "0", ")", ",", "Depth", "+", "1", ")", ";", "ConstantSDNode", "*", "CI", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", ".", "getOperand", "(", "2", ")", ")", ";", "const", "APInt", "&", "Mask", "=", "CI", "->", "getAPIntValue", "(", ")", ";", "Known", ".", "Zero", "&=", "Mask", ";", "Known", ".", "One", "&=", "Mask", ";", "return", ";", "}", "}", "}", ""], "natrual_language": ["Determine", "which", "of", "the", "bits", "specified", "in", "Mask", "are", "known", "to", "be", "either", "zero", "or", "one", "and", "return", "them", "in", "the", "KnownZero/KnownOne", "bitsets", "."], "TS_V_token": ["ARM", "ARM", "ARMISD::ADDC", "ARMISD::ADDE", "ARMISD::SUBC", "ARMISD::SUBE", "0", "0", "1", "ARMISD::ADDE", "1", "ARMISD::CMOV", "0", "1", "1", "1", "ISD::INTRINSIC_W_CHAIN", "1", "Intrinsic::ID", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex", "ARMISD::BFI", "0", "1", "2"], "File": "ARMISelLowering148", "Func": "computeKnownBitsForTargetNode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11107, "Length": 398} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "AdjustInstrPostInstrSelection", "(", "MachineInstr", "*", "MI", ",", "SDNode", "*", "Node", ")", "const", "{", "if", "(", "!", "MI", "->", "hasPostISelHook", "(", ")", ")", "{", "assert", "(", "!", "convertAddSubFlagsOpcode", "(", "MI", "->", "getOpcode", "(", ")", ")", "&&", "\"Pseudo flag-setting opcodes must be marked with 'hasPostISelHook'\"", ")", ";", "return", ";", "}", "const", "MCInstrDesc", "*", "MCID", "=", "&", "MI", "->", "getDesc", "(", ")", ";", "unsigned", "NewOpc", "=", "convertAddSubFlagsOpcode", "(", "MI", "->", "getOpcode", "(", ")", ")", ";", "if", "(", "NewOpc", ")", "{", "const", "ARMBaseInstrInfo", "*", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "getTargetMachine", "(", ")", ".", "getSubtargetImpl", "(", ")", "->", "getInstrInfo", "(", ")", ")", ";", "MCID", "=", "&", "TII", "->", "get", "(", "NewOpc", ")", ";", "assert", "(", "MCID", "->", "getNumOperands", "(", ")", "==", "MI", "->", "getDesc", "(", ")", ".", "getNumOperands", "(", ")", "+", "1", "&&", "\"converted opcode should be the same except for cc_out\"", ")", ";", "MI", "->", "setDesc", "(", "*", "MCID", ")", ";", "MI", "->", "addOperand", "(", "MachineOperand", "::", "CreateReg", "(", "0", ",", "true", ")", ")", ";", "}", "unsigned", "ccOutIdx", "=", "MCID", "->", "getNumOperands", "(", ")", "-", "1", ";", "if", "(", "!", "MI", "->", "hasOptionalDef", "(", ")", "||", "!", "MCID", "->", "OpInfo", "[", "ccOutIdx", "]", ".", "isOptionalDef", "(", ")", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "bool", "definesCPSR", "=", "false", ";", "bool", "deadCPSR", "=", "false", ";", "for", "(", "unsigned", "i", "=", "MCID", "->", "getNumOperands", "(", ")", ",", "e", "=", "MI", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isReg", "(", ")", "&&", "MO", ".", "isDef", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", ")", "{", "definesCPSR", "=", "true", ";", "if", "(", "MO", ".", "isDead", "(", ")", ")", "deadCPSR", "=", "true", ";", "MI", "->", "RemoveOperand", "(", "i", ")", ";", "break", ";", "}", "}", "if", "(", "!", "definesCPSR", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "assert", "(", "deadCPSR", "==", "!", "Node", "->", "hasAnyUseOfValue", "(", "1", ")", "&&", "\"inconsistent dead flag\"", ")", ";", "if", "(", "deadCPSR", ")", "{", "assert", "(", "!", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ".", "getReg", "(", ")", "&&", "\"expect uninitialized optional cc_out operand\"", ")", ";", "return", ";", "}", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ";", "MO", ".", "setReg", "(", "ARM", "::", "CPSR", ")", ";", "MO", ".", "setIsDef", "(", "true", ")", ";", "}", ""], "natrual_language": ["This", "method", "should", "be", "implemented", "by", "targets", "that", "mark", "instructions", "with", "the", "'hasPostISelHook", "'", "flag", "."], "TS_V_token": ["ARM", "ARM", "\"Pseudo flag-setting opcodes must be marked with 'hasPostISelHook'\"", "ARM", "ARM", "1", "\"converted opcode should be the same except for cc_out\"", "0", "1", "\"Optional cc_out operand required\"", "ARM::CPSR", "\"Optional cc_out operand required\"", "1", "\"inconsistent dead flag\"", "\"expect uninitialized optional cc_out operand\"", "ARM::CPSR"], "File": "ARMISelLowering149", "Func": "AdjustInstrPostInstrSelection", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11108, "Length": 383} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "emitLeadingFence", "(", "IRBuilder", "<", ">", "&", "Builder", ",", "AtomicOrdering", "Ord", ",", "bool", "IsStore", ",", "bool", "IsLoad", ")", "const", "{", "if", "(", "!", "getInsertFencesForAtomic", "(", ")", ")", "return", ";", "switch", "(", "Ord", ")", "{", "case", "NotAtomic", ":", "case", "Unordered", ":", "llvm_unreachable", "(", "\"Invalid fence: unordered/non-atomic\"", ")", ";", "case", "Monotonic", ":", "case", "Acquire", ":", "return", ";", "case", "SequentiallyConsistent", ":", "if", "(", "!", "IsStore", ")", "return", ";", "case", "Release", ":", "case", "AcquireRelease", ":", "if", "(", "Subtarget", "->", "isSwift", "(", ")", ")", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISHST", ")", ";", "else", "makeDMB", "(", "Builder", ",", "ARM_MB", "::", "ISH", ")", ";", "return", ";", "}", "}", ""], "natrual_language": ["Custom", "Lower", "{", "."], "TS_V_token": ["ARM", "ARM", "\"Invalid fence: unordered/non-atomic\"", "ARM_MB::ISHST", "ARM_MB::ISH"], "File": "ARMISelLowering149", "Func": "emitLeadingFence", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11109, "Length": 102} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "useLoadStackGuardNode", "(", ")", "const", "{", "return", "Subtarget", "->", "getTargetTriple", "(", ")", ".", "getObjectFormat", "(", ")", "==", "Triple", "::", "MachO", ";", "}", ""], "natrual_language": ["If", "this", "function", "returns", "true", ",", "SelectionDAGBuilder", "emits", "a", "LOAD_STACK_GUARD", "node", "when", "it", "is", "lowering", "Intrinsic", ":", ":stackprotector", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering149", "Func": "useLoadStackGuardNode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11110, "Length": 24} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "Res", "=", "ExpandVectorExtension", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_STORE", ":", "case", "ISD", "::", "ATOMIC_LOAD", ":", "case", "ISD", "::", "ATOMIC_LOAD_ADD", ":", "case", "ISD", "::", "ATOMIC_LOAD_AND", ":", "case", "ISD", "::", "ATOMIC_LOAD_NAND", ":", "case", "ISD", "::", "ATOMIC_LOAD_OR", ":", "case", "ISD", "::", "ATOMIC_LOAD_SUB", ":", "case", "ISD", "::", "ATOMIC_LOAD_XOR", ":", "case", "ISD", "::", "ATOMIC_SWAP", ":", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "case", "ISD", "::", "ATOMIC_LOAD_MIN", ":", "case", "ISD", "::", "ATOMIC_LOAD_UMIN", ":", "case", "ISD", "::", "ATOMIC_LOAD_MAX", ":", "case", "ISD", "::", "ATOMIC_LOAD_UMAX", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::BITCAST", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND", "ISD::SRL", "ISD::SRA", "ISD::READCYCLECOUNTER", "ISD::ATOMIC_STORE", "ISD::ATOMIC_LOAD", "ISD::ATOMIC_LOAD_ADD", "ISD::ATOMIC_LOAD_AND", "ISD::ATOMIC_LOAD_NAND", "ISD::ATOMIC_LOAD_OR", "ISD::ATOMIC_LOAD_SUB", "ISD::ATOMIC_LOAD_XOR", "ISD::ATOMIC_SWAP", "ISD::ATOMIC_CMP_SWAP", "ISD::ATOMIC_LOAD_MIN", "ISD::ATOMIC_LOAD_UMIN", "ISD::ATOMIC_LOAD_MAX", "ISD::ATOMIC_LOAD_UMAX"], "File": "ARMISelLowering150", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11111, "Length": 217} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "AdjustInstrPostInstrSelection", "(", "MachineInstr", "*", "MI", ",", "SDNode", "*", "Node", ")", "const", "{", "const", "MCInstrDesc", "&", "MCID", "=", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "!", "MCID", ".", "hasPostISelHook", "(", ")", ")", "{", "assert", "(", "!", "convertAddSubFlagsOpcode", "(", "MI", "->", "getOpcode", "(", ")", ")", "&&", "\"Pseudo flag-setting opcodes must be marked with 'hasPostISelHook'\"", ")", ";", "return", ";", "}", "unsigned", "NewOpc", "=", "convertAddSubFlagsOpcode", "(", "MI", "->", "getOpcode", "(", ")", ")", ";", "if", "(", "NewOpc", ")", "{", "const", "ARMBaseInstrInfo", "*", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "getTargetMachine", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "MI", "->", "setDesc", "(", "TII", "->", "get", "(", "NewOpc", ")", ")", ";", "}", "unsigned", "ccOutIdx", "=", "MCID", ".", "getNumOperands", "(", ")", "-", "1", ";", "if", "(", "!", "MCID", ".", "hasOptionalDef", "(", ")", "||", "!", "MCID", ".", "OpInfo", "[", "ccOutIdx", "]", ".", "isOptionalDef", "(", ")", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "bool", "definesCPSR", "=", "false", ";", "bool", "deadCPSR", "=", "false", ";", "for", "(", "unsigned", "i", "=", "MCID", ".", "getNumOperands", "(", ")", ",", "e", "=", "MI", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isReg", "(", ")", "&&", "MO", ".", "isDef", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", ")", "{", "definesCPSR", "=", "true", ";", "if", "(", "MO", ".", "isDead", "(", ")", ")", "deadCPSR", "=", "true", ";", "MI", "->", "RemoveOperand", "(", "i", ")", ";", "break", ";", "}", "}", "if", "(", "!", "definesCPSR", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "assert", "(", "deadCPSR", "==", "!", "Node", "->", "hasAnyUseOfValue", "(", "1", ")", "&&", "\"inconsistent dead flag\"", ")", ";", "if", "(", "deadCPSR", ")", "{", "assert", "(", "!", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ".", "getReg", "(", ")", "&&", "\"expect uninitialized optional cc_out operand\"", ")", ";", "return", ";", "}", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ";", "MO", ".", "setReg", "(", "ARM", "::", "CPSR", ")", ";", "MO", ".", "setIsDef", "(", "true", ")", ";", "}", ""], "natrual_language": ["This", "method", "should", "be", "implemented", "by", "targets", "that", "mark", "instructions", "with", "the", "'hasPostISelHook", "'", "flag", "."], "TS_V_token": ["ARM", "ARM", "\"Pseudo flag-setting opcodes must be marked with 'hasPostISelHook'\"", "ARM", "ARM", "1", "\"Optional cc_out operand required\"", "ARM::CPSR", "\"Optional cc_out operand required\"", "1", "\"inconsistent dead flag\"", "\"expect uninitialized optional cc_out operand\"", "ARM::CPSR"], "File": "ARMISelLowering152", "Func": "AdjustInstrPostInstrSelection", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11112, "Length": 335} {"ground_truth": ["", "Sched", "::", "Preference", "ARMTargetLowering", "::", "getSchedulingPreference", "(", "SDNode", "*", "N", ")", "const", "{", "unsigned", "NumVals", "=", "N", "->", "getNumValues", "(", ")", ";", "if", "(", "!", "NumVals", ")", "return", "Sched", "::", "RegPressure", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumVals", ";", "++", "i", ")", "{", "EVT", "VT", "=", "N", "->", "getValueType", "(", "i", ")", ";", "if", "(", "VT", "==", "MVT", "::", "Glue", "||", "VT", "==", "MVT", "::", "Other", ")", "continue", ";", "if", "(", "VT", ".", "isFloatingPoint", "(", ")", "||", "VT", ".", "isVector", "(", ")", ")", "return", "Sched", "::", "Latency", ";", "}", "if", "(", "!", "N", "->", "isMachineOpcode", "(", ")", ")", "return", "Sched", "::", "RegPressure", ";", "const", "TargetInstrInfo", "*", "TII", "=", "getTargetMachine", "(", ")", ".", "getInstrInfo", "(", ")", ";", "const", "MCInstrDesc", "&", "MCID", "=", "TII", "->", "get", "(", "N", "->", "getMachineOpcode", "(", ")", ")", ";", "if", "(", "MCID", ".", "getNumDefs", "(", ")", "==", "0", ")", "return", "Sched", "::", "RegPressure", ";", "if", "(", "!", "Itins", "->", "isEmpty", "(", ")", "&&", "Itins", "->", "getOperandCycle", "(", "MCID", ".", "getSchedClass", "(", ")", ",", "0", ")", ">", "2", ")", "return", "Sched", "::", "Latency", ";", "return", "Sched", "::", "RegPressure", ";", "}", ""], "natrual_language": ["Some", "scheduler", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "MVT::Glue", "MVT::Other", "0", "0", "2"], "File": "ARMISelLowering152", "Func": "getSchedulingPreference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11113, "Length": 186} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalAddressingMode", "(", "const", "AddrMode", "&", "AM", ",", "Type", "*", "Ty", ")", "const", "{", "EVT", "VT", "=", "getValueType", "(", "Ty", ",", "true", ")", ";", "if", "(", "!", "isLegalAddressImmediate", "(", "AM", ".", "BaseOffs", ",", "VT", ",", "Subtarget", ")", ")", "return", "false", ";", "if", "(", "AM", ".", "BaseGV", ")", "return", "false", ";", "switch", "(", "AM", ".", "Scale", ")", "{", "case", "0", ":", "break", ";", "case", "1", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "default", ":", "if", "(", "AM", ".", "BaseOffs", ")", "return", "false", ";", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "return", "isLegalT2ScaledAddressingMode", "(", "AM", ",", "VT", ")", ";", "int", "Scale", "=", "AM", ".", "Scale", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i1", ":", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i32", ":", "if", "(", "Scale", "<", "0", ")", "Scale", "=", "-", "Scale", ";", "if", "(", "Scale", "==", "1", ")", "return", "true", ";", "return", "isPowerOf2_32", "(", "Scale", "&", "~", "1", ")", ";", "case", "MVT", "::", "i16", ":", "case", "MVT", "::", "i64", ":", "if", "(", "(", "(", "unsigned", ")", "AM", ".", "HasBaseReg", "+", "Scale", ")", "<=", "2", ")", "return", "true", ";", "return", "false", ";", "case", "MVT", "::", "isVoid", ":", "if", "(", "Scale", "&", "1", ")", "return", "false", ";", "return", "isPowerOf2_32", "(", "Scale", ")", ";", "}", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["isLegalAddressingMode", "-", "Return", "true", "if", "the", "addressing", "mode", "represented", "by", "AM", "is", "legal", "for", "this", "target", ",", "for", "a", "load/store", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "MVT::i1", "MVT::i8", "MVT::i32", "0", "1", "1", "MVT::i16", "MVT::i64", "2", "MVT::isVoid", "1"], "File": "ARMISelLowering152", "Func": "isLegalAddressingMode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11114, "Length": 243} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "ATOMIC_LOAD_ADD", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMADD64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_AND", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMAND64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_NAND", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMNAND64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_OR", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMOR64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_SUB", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMSUB64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_LOAD_XOR", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMXOR64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_SWAP", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMSWAP64_DAG", ")", ";", "return", ";", "case", "ISD", "::", "ATOMIC_CMP_SWAP", ":", "ReplaceATOMIC_OP_64", "(", "N", ",", "Results", ",", "DAG", ",", "ARMISD", "::", "ATOMCMPXCHG64_DAG", ")", ";", "return", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::ATOMIC_LOAD_ADD", "ARMISD::ATOMADD64_DAG", "ISD::ATOMIC_LOAD_AND", "ARMISD::ATOMAND64_DAG", "ISD::ATOMIC_LOAD_NAND", "ARMISD::ATOMNAND64_DAG", "ISD::ATOMIC_LOAD_OR", "ARMISD::ATOMOR64_DAG", "ISD::ATOMIC_LOAD_SUB", "ARMISD::ATOMSUB64_DAG", "ISD::ATOMIC_LOAD_XOR", "ARMISD::ATOMXOR64_DAG", "ISD::ATOMIC_SWAP", "ARMISD::ATOMSWAP64_DAG", "ISD::ATOMIC_CMP_SWAP", "ARMISD::ATOMCMPXCHG64_DAG"], "File": "ARMISelLowering152", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11115, "Length": 259} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getJumpTableEncoding", "(", ")", "const", "{", "if", "(", "Subtarget", "->", "useInlineJumpTables", "(", ")", ")", "{", "return", "MachineJumpTableInfo", "::", "EK_Inline", ";", "}", "else", "{", "return", "TargetLowering", "::", "getJumpTableEncoding", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "the", "entry", "encoding", "for", "a", "jump", "table", "in", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMISelLowering153", "Func": "getJumpTableEncoding", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11116, "Length": 34} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPostIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDNode", "*", "Op", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "const", "bool", "restrict_addressing_modes_for_nacl", "=", "Subtarget", "->", "isTargetNaCl", "(", ")", "&&", "(", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "LOAD", "||", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "STORE", ")", ";", "if", "(", "restrict_addressing_modes_for_nacl", ")", "{", "return", "false", ";", "}", "EVT", "VT", ";", "SDValue", "Ptr", ";", "bool", "isSEXTLoad", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "if", "(", "!", "isLegal", ")", "return", "false", ";", "if", "(", "Ptr", "!=", "Base", ")", "{", "if", "(", "Ptr", "==", "Offset", "&&", "Op", "->", "getOpcode", "(", ")", "==", "ISD", "::", "ADD", "&&", "!", "Subtarget", "->", "isThumb2", "(", ")", ")", "std", "::", "swap", "(", "Base", ",", "Offset", ")", ";", "if", "(", "Ptr", "!=", "Base", ")", "return", "false", ";", "}", "AM", "=", "isInc", "?", "ISD", "::", "POST_INC", ":", "ISD", "::", "POST_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "this", "node", "can", "be", "combined", "with", "a", "load", "/", "store", "to", "form", "a", "post-indexed", "load", "/", "store", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::LOAD", "ISD::STORE", "ISD::SEXTLOAD", "ARM", "ISD::ADD", "ISD::POST_INC", "ISD::POST_DEC"], "File": "ARMISelLowering153", "Func": "getPostIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11117, "Length": 305} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPreIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "const", "bool", "restrict_addressing_modes_for_nacl", "=", "Subtarget", "->", "isTargetNaCl", "(", ")", "&&", "(", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "LOAD", "||", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "STORE", ")", ";", "if", "(", "restrict_addressing_modes_for_nacl", ")", "{", "return", "false", ";", "}", "EVT", "VT", ";", "SDValue", "Ptr", ";", "bool", "isSEXTLoad", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "if", "(", "!", "isLegal", ")", "return", "false", ";", "AM", "=", "isInc", "?", "ISD", "::", "PRE_INC", ":", "ISD", "::", "PRE_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "the", "node", "'s", "address", "can", "be", "legally", "represented", "as", "pre-indexed", "load", "/", "store", "address", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::LOAD", "ISD::STORE", "ISD::SEXTLOAD", "ARM", "ISD::PRE_INC", "ISD::PRE_DEC"], "File": "ARMISelLowering153", "Func": "getPreIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11118, "Length": 260} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "AdjustInstrPostInstrSelection", "(", "MachineInstr", "*", "MI", ",", "SDNode", "*", "Node", ")", "const", "{", "const", "MCInstrDesc", "*", "MCID", "=", "&", "MI", "->", "getDesc", "(", ")", ";", "if", "(", "!", "MCID", "->", "hasPostISelHook", "(", ")", ")", "{", "assert", "(", "!", "convertAddSubFlagsOpcode", "(", "MI", "->", "getOpcode", "(", ")", ")", "&&", "\"Pseudo flag-setting opcodes must be marked with 'hasPostISelHook'\"", ")", ";", "return", ";", "}", "unsigned", "NewOpc", "=", "convertAddSubFlagsOpcode", "(", "MI", "->", "getOpcode", "(", ")", ")", ";", "if", "(", "NewOpc", ")", "{", "const", "ARMBaseInstrInfo", "*", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "getTargetMachine", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "MCID", "=", "&", "TII", "->", "get", "(", "NewOpc", ")", ";", "assert", "(", "MCID", "->", "getNumOperands", "(", ")", "==", "MI", "->", "getDesc", "(", ")", ".", "getNumOperands", "(", ")", "+", "1", "&&", "\"converted opcode should be the same except for cc_out\"", ")", ";", "MI", "->", "setDesc", "(", "*", "MCID", ")", ";", "MI", "->", "addOperand", "(", "MachineOperand", "::", "CreateReg", "(", "0", ",", "true", ")", ")", ";", "}", "unsigned", "ccOutIdx", "=", "MCID", "->", "getNumOperands", "(", ")", "-", "1", ";", "if", "(", "!", "MCID", "->", "hasOptionalDef", "(", ")", "||", "!", "MCID", "->", "OpInfo", "[", "ccOutIdx", "]", ".", "isOptionalDef", "(", ")", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "bool", "definesCPSR", "=", "false", ";", "bool", "deadCPSR", "=", "false", ";", "for", "(", "unsigned", "i", "=", "MCID", "->", "getNumOperands", "(", ")", ",", "e", "=", "MI", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isReg", "(", ")", "&&", "MO", ".", "isDef", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "CPSR", ")", "{", "definesCPSR", "=", "true", ";", "if", "(", "MO", ".", "isDead", "(", ")", ")", "deadCPSR", "=", "true", ";", "MI", "->", "RemoveOperand", "(", "i", ")", ";", "break", ";", "}", "}", "if", "(", "!", "definesCPSR", ")", "{", "assert", "(", "!", "NewOpc", "&&", "\"Optional cc_out operand required\"", ")", ";", "return", ";", "}", "assert", "(", "deadCPSR", "==", "!", "Node", "->", "hasAnyUseOfValue", "(", "1", ")", "&&", "\"inconsistent dead flag\"", ")", ";", "if", "(", "deadCPSR", ")", "{", "assert", "(", "!", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ".", "getReg", "(", ")", "&&", "\"expect uninitialized optional cc_out operand\"", ")", ";", "return", ";", "}", "MachineOperand", "&", "MO", "=", "MI", "->", "getOperand", "(", "ccOutIdx", ")", ";", "MO", ".", "setReg", "(", "ARM", "::", "CPSR", ")", ";", "MO", ".", "setIsDef", "(", "true", ")", ";", "}", ""], "natrual_language": ["This", "method", "should", "be", "implemented", "by", "targets", "that", "mark", "instructions", "with", "the", "'hasPostISelHook", "'", "flag", "."], "TS_V_token": ["ARM", "ARM", "\"Pseudo flag-setting opcodes must be marked with 'hasPostISelHook'\"", "ARM", "ARM", "1", "\"converted opcode should be the same except for cc_out\"", "0", "1", "\"Optional cc_out operand required\"", "ARM::CPSR", "\"Optional cc_out operand required\"", "1", "\"inconsistent dead flag\"", "\"expect uninitialized optional cc_out operand\"", "ARM::CPSR"], "File": "ARMISelLowering156", "Func": "AdjustInstrPostInstrSelection", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11119, "Length": 379} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "LowerOperation", "(", "SDValue", "Op", ",", "SelectionDAG", "&", "DAG", ")", "{", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom lower this!\"", ")", ";", "case", "ISD", "::", "ConstantPool", ":", "return", "LowerConstantPool", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BlockAddress", ":", "return", "LowerBlockAddress", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GlobalAddress", ":", "return", "Subtarget", "->", "isTargetDarwin", "(", ")", "?", "LowerGlobalAddressDarwin", "(", "Op", ",", "DAG", ")", ":", "LowerGlobalAddressELF", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GlobalTLSAddress", ":", "return", "LowerGlobalTLSAddress", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "SELECT_CC", ":", "return", "LowerSELECT_CC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BR_CC", ":", "return", "LowerBR_CC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BR_JT", ":", "return", "LowerBR_JT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "DYNAMIC_STACKALLOC", ":", "return", "LowerDYNAMIC_STACKALLOC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "VASTART", ":", "return", "LowerVASTART", "(", "Op", ",", "DAG", ",", "VarArgsFrameIndex", ")", ";", "case", "ISD", "::", "MEMBARRIER", ":", "return", "LowerMEMBARRIER", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "FP16_TO_FP32", ":", "case", "ISD", "::", "SINT_TO_FP", ":", "case", "ISD", "::", "UINT_TO_FP", ":", "return", "LowerINT_TO_FP", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FP32_TO_FP16", ":", "case", "ISD", "::", "FP_TO_SINT", ":", "case", "ISD", "::", "FP_TO_UINT", ":", "return", "LowerFP_TO_INT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FCOPYSIGN", ":", "return", "LowerFCOPYSIGN", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "RETURNADDR", ":", "break", ";", "case", "ISD", "::", "FRAMEADDR", ":", "return", "LowerFRAMEADDR", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GLOBAL_OFFSET_TABLE", ":", "return", "LowerGLOBAL_OFFSET_TABLE", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "LowerINTRINSIC_WO_CHAIN", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "BIT_CONVERT", ":", "return", "ExpandBIT_CONVERT", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ")", ";", "case", "ISD", "::", "SHL", ":", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "return", "LowerShift", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SHL_PARTS", ":", "return", "LowerShiftLeftParts", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "SRL_PARTS", ":", "case", "ISD", "::", "SRA_PARTS", ":", "return", "LowerShiftRightParts", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "CTTZ", ":", "return", "LowerCTTZ", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "VSETCC", ":", "return", "LowerVSETCC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BUILD_VECTOR", ":", "return", "LowerBUILD_VECTOR", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "VECTOR_SHUFFLE", ":", "return", "LowerVECTOR_SHUFFLE", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "EXTRACT_VECTOR_ELT", ":", "return", "LowerEXTRACT_VECTOR_ELT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "CONCAT_VECTORS", ":", "return", "LowerCONCAT_VECTORS", "(", "Op", ",", "DAG", ")", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["LowerOperation", "-", "Provide", "custom", "lowering", "hooks", "for", "some", "operations", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom lower this!\"", "ISD::ConstantPool", "ISD::BlockAddress", "ISD::GlobalAddress", "ISD::GlobalTLSAddress", "ISD::SELECT_CC", "ISD::BR_CC", "ISD::BR_JT", "ISD::DYNAMIC_STACKALLOC", "ISD::VASTART", "ISD::MEMBARRIER", "ISD::FP16_TO_FP32", "ISD::SINT_TO_FP", "ISD::UINT_TO_FP", "ISD::FP32_TO_FP16", "ISD::FP_TO_SINT", "ISD::FP_TO_UINT", "ISD::FCOPYSIGN", "ISD::RETURNADDR", "ISD::FRAMEADDR", "ISD::GLOBAL_OFFSET_TABLE", "ISD::INTRINSIC_WO_CHAIN", "ISD::BIT_CONVERT", "ISD::SHL", "ISD::SRL", "ISD::SRA", "ISD::SHL_PARTS", "ISD::SRL_PARTS", "ISD::SRA_PARTS", "ISD::CTTZ", "ISD::VSETCC", "ISD::BUILD_VECTOR", "ISD::VECTOR_SHUFFLE", "ISD::EXTRACT_VECTOR_ELT", "ISD::CONCAT_VECTORS"], "File": "ARMISelLowering157", "Func": "LowerOperation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11120, "Length": 451} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "BuildSDIVPow2", "(", "SDNode", "*", "N", ",", "const", "APInt", "&", "Divisor", ",", "SelectionDAG", "&", "DAG", ",", "SmallVectorImpl", "<", "SDNode", "*", ">", "&", "Created", ")", "const", "{", "if", "(", "N", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "SDIV", ")", "return", "SDValue", "(", ")", ";", "const", "auto", "&", "ST", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "DAG", ".", "getSubtarget", "(", ")", ")", ";", "const", "bool", "MinSize", "=", "ST", ".", "optForMinSize", "(", ")", ";", "const", "bool", "HasDivide", "=", "ST", ".", "isThumb", "(", ")", "?", "ST", ".", "hasDivideInThumbMode", "(", ")", ":", "ST", ".", "hasDivideInARMMode", "(", ")", ";", "if", "(", "N", "->", "getOperand", "(", "0", ")", ".", "getValueType", "(", ")", ".", "isVector", "(", ")", ")", "return", "SDValue", "(", ")", ";", "if", "(", "!", "(", "MinSize", "&&", "HasDivide", ")", ")", "return", "SDValue", "(", ")", ";", "if", "(", "!", "ST", ".", "isThumb", "(", ")", ")", "return", "SDValue", "(", "N", ",", "0", ")", ";", "if", "(", "Divisor", ".", "sgt", "(", "128", ")", ")", "return", "SDValue", "(", ")", ";", "return", "SDValue", "(", "N", ",", "0", ")", ";", "}", ""], "natrual_language": ["Targets", "may", "override", "this", "function", "to", "provide", "custom", "SDIV", "lowering", "for", "power-of-2", "denominators", "."], "TS_V_token": ["ARM", "ARM", "ISD::SDIV", "ARM", "ARM", "0", "0", "128", "0"], "File": "ARMISelLowering158", "Func": "BuildSDIVPow2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11121, "Length": 172} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isFPImmLegal", "(", "const", "APFloat", "&", "Imm", ",", "EVT", "VT", ",", "bool", "ForCodeSize", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasVFP3", "(", ")", ")", "return", "false", ";", "if", "(", "VT", "==", "MVT", "::", "f16", "&&", "Subtarget", "->", "hasFullFP16", "(", ")", ")", "return", "ARM_AM", "::", "getFP16Imm", "(", "Imm", ")", "!=", "-", "1", ";", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "ARM_AM", "::", "getFP32Imm", "(", "Imm", ")", "!=", "-", "1", ";", "if", "(", "VT", "==", "MVT", "::", "f64", "&&", "!", "Subtarget", "->", "isFPOnlySP", "(", ")", ")", "return", "ARM_AM", "::", "getFP64Imm", "(", "Imm", ")", "!=", "-", "1", ";", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "can", "instruction", "select", "the", "specified", "FP", "immediate", "natively", "."], "TS_V_token": ["ARM", "ARM", "MVT::f16", "ARM_AM::getFP16Imm", "1", "MVT::f32", "ARM_AM::getFP32Imm", "1", "MVT::f64", "ARM_AM::getFP64Imm", "1"], "File": "ARMISelLowering158", "Func": "isFPImmLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11122, "Length": 104} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isUsedByReturnOnly", "(", "SDNode", "*", "N", ")", "const", "{", "if", "(", "N", "->", "getNumValues", "(", ")", "!=", "1", ")", "return", "false", ";", "if", "(", "!", "N", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "unsigned", "NumCopies", "=", "0", ";", "SDNode", "*", "Copies", "[", "2", "]", "=", "{", "0", ",", "0", "}", ";", "SDNode", "*", "Use", "=", "*", "N", "->", "use_begin", "(", ")", ";", "if", "(", "Use", "->", "getOpcode", "(", ")", "==", "ISD", "::", "CopyToReg", ")", "{", "Copies", "[", "NumCopies", "++", "]", "=", "Use", ";", "}", "else", "if", "(", "Use", "->", "getOpcode", "(", ")", "==", "ARMISD", "::", "VMOVRRD", ")", "{", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "Use", "->", "use_begin", "(", ")", ",", "UE", "=", "Use", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "if", "(", "UI", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", ")", "return", "false", ";", "Copies", "[", "UI", ".", "getUse", "(", ")", ".", "getResNo", "(", ")", "]", "=", "*", "UI", ";", "++", "NumCopies", ";", "}", "}", "else", "if", "(", "Use", "->", "getOpcode", "(", ")", "==", "ISD", "::", "BITCAST", ")", "{", "if", "(", "!", "Use", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "Use", "=", "*", "Use", "->", "use_begin", "(", ")", ";", "if", "(", "Use", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "CopyToReg", "||", "!", "Use", "->", "hasNUsesOfValue", "(", "1", ",", "0", ")", ")", "return", "false", ";", "Copies", "[", "NumCopies", "++", "]", "=", "Use", ";", "}", "else", "{", "return", "false", ";", "}", "if", "(", "NumCopies", "!=", "1", "&&", "NumCopies", "!=", "2", ")", "return", "false", ";", "bool", "HasRet", "=", "false", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "NumCopies", ";", "++", "i", ")", "{", "SDNode", "*", "Copy", "=", "Copies", "[", "i", "]", ";", "for", "(", "SDNode", "::", "use_iterator", "UI", "=", "Copy", "->", "use_begin", "(", ")", ",", "UE", "=", "Copy", "->", "use_end", "(", ")", ";", "UI", "!=", "UE", ";", "++", "UI", ")", "{", "if", "(", "UI", "->", "getOpcode", "(", ")", "==", "ISD", "::", "CopyToReg", ")", "{", "SDNode", "*", "Use", "=", "*", "UI", ";", "if", "(", "Use", "==", "Copies", "[", "0", "]", "||", "(", "(", "NumCopies", "==", "2", ")", "&&", "(", "Use", "==", "Copies", "[", "1", "]", ")", ")", ")", "continue", ";", "return", "false", ";", "}", "if", "(", "UI", "->", "getOpcode", "(", ")", "!=", "ARMISD", "::", "RET_FLAG", ")", "return", "false", ";", "HasRet", "=", "true", ";", "}", "}", "return", "HasRet", ";", "}", ""], "natrual_language": ["Return", "true", "if", "result", "of", "the", "specified", "node", "is", "used", "by", "a", "return", "node", "only", "."], "TS_V_token": ["ARM", "ARM", "1", "1", "0", "0", "2", "0", "0", "ISD::CopyToReg", "ARMISD::VMOVRRD", "ISD::CopyToReg", "ISD::BITCAST", "1", "0", "ISD::CopyToReg", "1", "0", "1", "2", "0", "ISD::CopyToReg", "0", "2", "1", "ARMISD::RET_FLAG"], "File": "ARMISelLowering16", "Func": "isUsedByReturnOnly", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11123, "Length": 395} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "ExpandInlineAsm", "(", "CallInst", "*", "CI", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "hasV6Ops", "(", ")", ")", "return", "false", ";", "InlineAsm", "*", "IA", "=", "cast", "<", "InlineAsm", ">", "(", "CI", "->", "getCalledValue", "(", ")", ")", ";", "std", "::", "string", "AsmStr", "=", "IA", "->", "getAsmString", "(", ")", ";", "SmallVector", "<", "StringRef", ",", "4", ">", "AsmPieces", ";", "SplitString", "(", "AsmStr", ",", "AsmPieces", ",", "\";\\n\"", ")", ";", "switch", "(", "AsmPieces", ".", "size", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "1", ":", "AsmStr", "=", "std", "::", "string", "(", "AsmPieces", "[", "0", "]", ")", ";", "AsmPieces", ".", "clear", "(", ")", ";", "SplitString", "(", "AsmStr", ",", "AsmPieces", ",", "\" \\t,\"", ")", ";", "if", "(", "AsmPieces", ".", "size", "(", ")", "==", "3", "&&", "AsmPieces", "[", "0", "]", "==", "\"rev\"", "&&", "AsmPieces", "[", "1", "]", "==", "\"$0\"", "&&", "AsmPieces", "[", "2", "]", "==", "\"$1\"", "&&", "IA", "->", "getConstraintString", "(", ")", ".", "compare", "(", "0", ",", "4", ",", "\"=l,l\"", ")", "==", "0", ")", "{", "IntegerType", "*", "Ty", "=", "dyn_cast", "<", "IntegerType", ">", "(", "CI", "->", "getType", "(", ")", ")", ";", "if", "(", "Ty", "&&", "Ty", "->", "getBitWidth", "(", ")", "==", "32", ")", "return", "IntrinsicLowering", "::", "LowerToByteSwap", "(", "CI", ")", ";", "}", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["This", "hook", "allows", "the", "target", "to", "expand", "an", "inline", "asm", "call", "to", "be", "explicit", "llvm", "code", "if", "it", "wants", "to", "."], "TS_V_token": ["ARM", "ARM", "4", "\";\\n\"", "1", "0", "\" \\t,\"", "3", "0", "\"rev\"", "1", "\"$0\"", "2", "\"$1\"", "0", "4", "\"=l,l\"", "0", "32"], "File": "ARMISelLowering179", "Func": "ExpandInlineAsm", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11124, "Length": 204} {"ground_truth": ["", "std", "::", "pair", "<", "unsigned", ",", "const", "TargetRegisterClass", "*", ">", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "std", "::", "string", "&", "Constraint", ",", "EVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "tGPRRegisterClass", ")", ";", "else", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'r'", ":", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "SPRRegisterClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "64", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "DPRRegisterClass", ")", ";", "if", "(", "VT", ".", "getSizeInBits", "(", ")", "==", "128", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "QPRRegisterClass", ")", ";", "break", ";", "}", "}", "if", "(", "StringRef", "(", "\"{cc}\"", ")", ".", "equals_lower", "(", "Constraint", ")", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "CCRRegisterClass", ")", ";", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegisterClass", "0U", "ARM::GPRRegisterClass", "0U", "ARM::GPRRegisterClass", "MVT::f32", "0U", "ARM::SPRRegisterClass", "64", "0U", "ARM::DPRRegisterClass", "128", "0U", "ARM::QPRRegisterClass", "\"{cc}\"", "0U", "ARM::CCRRegisterClass"], "File": "ARMISelLowering17", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11125, "Length": 202} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "break", ";", "case", "ISD", "::", "BIT_CONVERT", ":", "Res", "=", "ExpandBIT_CONVERT", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "LowerShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::BIT_CONVERT", "ISD::SRL", "ISD::SRA"], "File": "ARMISelLowering17", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11126, "Length": 98} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getMaxSupportedInterleaveFactor", "(", ")", "const", "{", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", ")", "return", "4", ";", "if", "(", "Subtarget", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "4", ";", "return", "TargetLoweringBase", "::", "getMaxSupportedInterleaveFactor", "(", ")", ";", "}", ""], "natrual_language": ["Get", "the", "maximum", "supported", "factor", "for", "interleaved", "memory", "accesses", "."], "TS_V_token": ["ARM", "ARM", "4", "4"], "File": "ARMISelLowering180", "Func": "getMaxSupportedInterleaveFactor", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11127, "Length": 38} {"ground_truth": ["", "Register", "ARMTargetLowering", "::", "getRegisterByName", "(", "const", "char", "*", "RegName", ",", "EVT", "VT", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "Register", "Reg", "=", "StringSwitch", "<", "unsigned", ">", "(", "RegName", ")", ".", "Case", "(", "\"r6\"", ",", "ARM", "::", "R6", ")", ".", "Case", "(", "\"r7\"", ",", "ARM", "::", "R7", ")", ".", "Case", "(", "\"r8\"", ",", "ARM", "::", "R8", ")", ".", "Case", "(", "\"r9\"", ",", "ARM", "::", "R9", ")", ".", "Case", "(", "\"r10\"", ",", "ARM", "::", "R10", ")", ".", "Case", "(", "\"r11\"", ",", "ARM", "::", "R11", ")", ".", "Case", "(", "\"sp\"", ",", "ARM", "::", "SP", ")", ".", "Default", "(", "ARM", "::", "NoRegister", ")", ";", "if", "(", "Reg", "!=", "ARM", "::", "NoRegister", ")", "return", "Reg", ";", "report_fatal_error", "(", "Twine", "(", "\"Invalid register name \\\"\"", "+", "StringRef", "(", "RegName", ")", "+", "\"\\\".\"", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "register", "ID", "of", "the", "name", "passed", "in", "."], "TS_V_token": ["ARM", "ARM", "\"r6\"", "ARM::R6", "\"r7\"", "ARM::R7", "\"r8\"", "ARM::R8", "\"r9\"", "ARM::R9", "\"r10\"", "ARM::R10", "\"r11\"", "ARM::R11", "\"sp\"", "ARM::SP", "ARM::NoRegister", "ARM::NoRegister", "\"Invalid register name \\\"\"", "\"\\\".\""], "File": "ARMISelLowering180", "Func": "getRegisterByName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11128, "Length": 128} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "lowerInterleavedLoad", "(", "LoadInst", "*", "LI", ",", "ArrayRef", "<", "ShuffleVectorInst", "*", ">", "Shuffles", ",", "ArrayRef", "<", "unsigned", ">", "Indices", ",", "unsigned", "Factor", ")", "const", "{", "assert", "(", "Factor", ">=", "2", "&&", "Factor", "<=", "getMaxSupportedInterleaveFactor", "(", ")", "&&", "\"Invalid interleave factor\"", ")", ";", "assert", "(", "!", "Shuffles", ".", "empty", "(", ")", "&&", "\"Empty shufflevector input\"", ")", ";", "assert", "(", "Shuffles", ".", "size", "(", ")", "==", "Indices", ".", "size", "(", ")", "&&", "\"Unmatched number of shufflevectors and indices\"", ")", ";", "VectorType", "*", "VecTy", "=", "Shuffles", "[", "0", "]", "->", "getType", "(", ")", ";", "Type", "*", "EltTy", "=", "VecTy", "->", "getVectorElementType", "(", ")", ";", "const", "DataLayout", "&", "DL", "=", "LI", "->", "getModule", "(", ")", "->", "getDataLayout", "(", ")", ";", "unsigned", "VecSize", "=", "DL", ".", "getTypeSizeInBits", "(", "VecTy", ")", ";", "bool", "EltIs64Bits", "=", "DL", ".", "getTypeSizeInBits", "(", "EltTy", ")", "==", "64", ";", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", "||", "(", "VecSize", "!=", "64", "&&", "VecSize", "!=", "128", ")", "||", "EltIs64Bits", ")", "return", "false", ";", "if", "(", "EltTy", "->", "isHalfTy", "(", ")", ")", "return", "false", ";", "if", "(", "EltTy", "->", "isPointerTy", "(", ")", ")", "VecTy", "=", "VectorType", "::", "get", "(", "DL", ".", "getIntPtrType", "(", "EltTy", ")", ",", "VecTy", "->", "getVectorNumElements", "(", ")", ")", ";", "static", "const", "Intrinsic", "::", "ID", "LoadInts", "[", "3", "]", "=", "{", "Intrinsic", "::", "arm_neon_vld2", ",", "Intrinsic", "::", "arm_neon_vld3", ",", "Intrinsic", "::", "arm_neon_vld4", "}", ";", "IRBuilder", "<", ">", "Builder", "(", "LI", ")", ";", "SmallVector", "<", "Value", "*", ",", "2", ">", "Ops", ";", "Type", "*", "Int8Ptr", "=", "Builder", ".", "getInt8PtrTy", "(", "LI", "->", "getPointerAddressSpace", "(", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "CreateBitCast", "(", "LI", "->", "getPointerOperand", "(", ")", ",", "Int8Ptr", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "getInt32", "(", "LI", "->", "getAlignment", "(", ")", ")", ")", ";", "assert", "(", "isTypeLegal", "(", "EVT", "::", "getEVT", "(", "VecTy", ")", ")", "&&", "\"Illegal vldN vector type!\"", ")", ";", "Type", "*", "Tys", "[", "]", "=", "{", "VecTy", ",", "Int8Ptr", "}", ";", "Function", "*", "VldnFunc", "=", "Intrinsic", "::", "getDeclaration", "(", "LI", "->", "getModule", "(", ")", ",", "LoadInts", "[", "Factor", "-", "2", "]", ",", "Tys", ")", ";", "CallInst", "*", "VldN", "=", "Builder", ".", "CreateCall", "(", "VldnFunc", ",", "Ops", ",", "\"vldN\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Shuffles", ".", "size", "(", ")", ";", "i", "++", ")", "{", "ShuffleVectorInst", "*", "SV", "=", "Shuffles", "[", "i", "]", ";", "unsigned", "Index", "=", "Indices", "[", "i", "]", ";", "Value", "*", "SubVec", "=", "Builder", ".", "CreateExtractValue", "(", "VldN", ",", "Index", ")", ";", "if", "(", "EltTy", "->", "isPointerTy", "(", ")", ")", "SubVec", "=", "Builder", ".", "CreateIntToPtr", "(", "SubVec", ",", "SV", "->", "getType", "(", ")", ")", ";", "SV", "->", "replaceAllUsesWith", "(", "SubVec", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Lower", "interleaved", "load", "(", "s", ")", "into", "target", "specific", "instructions/intrinsics", "."], "TS_V_token": ["ARM", "ARM", "2", "\"Invalid interleave factor\"", "\"Empty shufflevector input\"", "\"Unmatched number of shufflevectors and indices\"", "0", "64", "64", "128", "Intrinsic::ID", "3", "Intrinsic::arm_neon_vld2", "Intrinsic::arm_neon_vld3", "Intrinsic::arm_neon_vld4", "2", "\"Illegal vldN vector type!\"", "Intrinsic::getDeclaration", "2", "\"vldN\"", "0"], "File": "ARMISelLowering184", "Func": "lowerInterleavedLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11129, "Length": 434} {"ground_truth": ["", "bool", "canMergeStoresTo", "(", "unsigned", "AddressSpace", ",", "EVT", "MemVT", ")", "const", "override", "{", "return", "(", "MemVT", ".", "getSizeInBits", "(", ")", "<=", "32", ")", ";", "}", ""], "natrual_language": ["Returns", "if", "it", "'s", "reasonable", "to", "merge", "stores", "to", "MemVT", "size", "."], "TS_V_token": ["ARM", "32"], "File": "ARMISelLowering19", "Func": "canMergeStoresTo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11130, "Length": 24} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "case", "ISD", "::", "READ_REGISTER", ":", "ExpandREAD_REGISTER", "(", "N", ",", "Results", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "BITCAST", ":", "Res", "=", "ExpandBITCAST", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "Expand64BitShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "case", "ISD", "::", "SREM", ":", "case", "ISD", "::", "UREM", ":", "Res", "=", "LowerREM", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SDIVREM", ":", "case", "ISD", "::", "UDIVREM", ":", "Res", "=", "LowerDivRem", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ")", ";", "assert", "(", "Res", ".", "getNumOperands", "(", ")", "==", "2", "&&", "\"DivRem needs two values\"", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "0", ")", ")", ";", "Results", ".", "push_back", "(", "Res", ".", "getValue", "(", "1", ")", ")", ";", "return", ";", "case", "ISD", "::", "READCYCLECOUNTER", ":", "ReplaceREADCYCLECOUNTER", "(", "N", ",", "Results", ",", "DAG", ",", "Subtarget", ")", ";", "return", ";", "case", "ISD", "::", "UDIV", ":", "case", "ISD", "::", "SDIV", ":", "assert", "(", "Subtarget", "->", "isTargetWindows", "(", ")", "&&", "\"can only expand DIV on Windows\"", ")", ";", "return", "ExpandDIV_Windows", "(", "SDValue", "(", "N", ",", "0", ")", ",", "DAG", ",", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "SDIV", ",", "Results", ")", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::READ_REGISTER", "ISD::BITCAST", "ISD::SRL", "ISD::SRA", "ISD::SREM", "ISD::UREM", "ISD::SDIVREM", "ISD::UDIVREM", "0", "2", "\"DivRem needs two values\"", "0", "1", "ISD::READCYCLECOUNTER", "ISD::UDIV", "ISD::SDIV", "\"can only expand DIV on Windows\"", "0", "ISD::SDIV"], "File": "ARMISelLowering20", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11131, "Length": 261} {"ground_truth": ["", "std", "::", "pair", "<", "unsigned", ",", "const", "TargetRegisterClass", "*", ">", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "std", "::", "string", "&", "Constraint", ",", "EVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "tGPRRegisterClass", ")", ";", "else", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'r'", ":", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "SPRRegisterClass", ")", ";", "if", "(", "VT", "==", "MVT", "::", "f64", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "DPRRegisterClass", ")", ";", "break", ";", "}", "}", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegisterClass", "0U", "ARM::GPRRegisterClass", "0U", "ARM::GPRRegisterClass", "MVT::f32", "0U", "ARM::SPRRegisterClass", "MVT::f64", "0U", "ARM::DPRRegisterClass"], "File": "ARMISelLowering33", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11132, "Length": 154} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "const", "SmallVectorImpl", "<", "int", ">", "&", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ";", "unsigned", "Imm", ",", "WhichResult", ";", "return", "(", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", "||", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTRNMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVUZPMask", "(", "M", ",", "VT", ",", "WhichResult", ")", "||", "isVZIPMask", "(", "M", ",", "VT", ",", "WhichResult", ")", ")", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "0", "64", "32", "16"], "File": "ARMISelLowering33", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11133, "Length": 244} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "LowerOperation", "(", "SDValue", "Op", ",", "SelectionDAG", "&", "DAG", ")", "{", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom lower this!\"", ")", ";", "case", "ISD", "::", "ConstantPool", ":", "return", "LowerConstantPool", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GlobalAddress", ":", "return", "Subtarget", "->", "isTargetDarwin", "(", ")", "?", "LowerGlobalAddressDarwin", "(", "Op", ",", "DAG", ")", ":", "LowerGlobalAddressELF", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GlobalTLSAddress", ":", "return", "LowerGlobalTLSAddress", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "SELECT_CC", ":", "return", "LowerSELECT_CC", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "BR_CC", ":", "return", "LowerBR_CC", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "BR_JT", ":", "return", "LowerBR_JT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "DYNAMIC_STACKALLOC", ":", "return", "LowerDYNAMIC_STACKALLOC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "VASTART", ":", "return", "LowerVASTART", "(", "Op", ",", "DAG", ",", "VarArgsFrameIndex", ")", ";", "case", "ISD", "::", "SINT_TO_FP", ":", "case", "ISD", "::", "UINT_TO_FP", ":", "return", "LowerINT_TO_FP", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FP_TO_SINT", ":", "case", "ISD", "::", "FP_TO_UINT", ":", "return", "LowerFP_TO_INT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FCOPYSIGN", ":", "return", "LowerFCOPYSIGN", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "RETURNADDR", ":", "break", ";", "case", "ISD", "::", "FRAMEADDR", ":", "return", "LowerFRAMEADDR", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GLOBAL_OFFSET_TABLE", ":", "return", "LowerGLOBAL_OFFSET_TABLE", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "INTRINSIC_VOID", ":", "case", "ISD", "::", "INTRINSIC_W_CHAIN", ":", "return", "LowerINTRINSIC_W_CHAIN", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "LowerINTRINSIC_WO_CHAIN", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BIT_CONVERT", ":", "return", "ExpandBIT_CONVERT", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ")", ";", "case", "ISD", "::", "SHL", ":", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "return", "LowerShift", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "VSETCC", ":", "return", "LowerVSETCC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BUILD_VECTOR", ":", "return", "LowerBUILD_VECTOR", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "VECTOR_SHUFFLE", ":", "return", "LowerVECTOR_SHUFFLE", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "SCALAR_TO_VECTOR", ":", "return", "LowerSCALAR_TO_VECTOR", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "EXTRACT_VECTOR_ELT", ":", "return", "LowerEXTRACT_VECTOR_ELT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "CONCAT_VECTORS", ":", "return", "LowerCONCAT_VECTORS", "(", "Op", ",", "DAG", ")", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["LowerOperation", "-", "Provide", "custom", "lowering", "hooks", "for", "some", "operations", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom lower this!\"", "ISD::ConstantPool", "ISD::GlobalAddress", "ISD::GlobalTLSAddress", "ISD::SELECT_CC", "ISD::BR_CC", "ISD::BR_JT", "ISD::DYNAMIC_STACKALLOC", "ISD::VASTART", "ISD::SINT_TO_FP", "ISD::UINT_TO_FP", "ISD::FP_TO_SINT", "ISD::FP_TO_UINT", "ISD::FCOPYSIGN", "ISD::RETURNADDR", "ISD::FRAMEADDR", "ISD::GLOBAL_OFFSET_TABLE", "ISD::INTRINSIC_VOID", "ISD::INTRINSIC_W_CHAIN", "ISD::INTRINSIC_WO_CHAIN", "ISD::BIT_CONVERT", "ISD::SHL", "ISD::SRL", "ISD::SRA", "ISD::VSETCC", "ISD::BUILD_VECTOR", "ISD::VECTOR_SHUFFLE", "ISD::SCALAR_TO_VECTOR", "ISD::EXTRACT_VECTOR_ELT", "ISD::CONCAT_VECTORS"], "File": "ARMISelLowering33", "Func": "LowerOperation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11134, "Length": 396} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformDAGCombine", "(", "SDNode", "*", "N", ",", "DAGCombinerInfo", "&", "DCI", ")", "const", "{", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ISD", "::", "ADD", ":", "return", "PerformADDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "SUB", ":", "return", "PerformSUBCombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "FMRRD", ":", "return", "PerformFMRRDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "PerformIntrinsicCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ISD", "::", "SHL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SRL", ":", "return", "PerformShiftCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "case", "ISD", "::", "ANY_EXTEND", ":", "return", "PerformExtendCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["This", "method", "will", "be", "invoked", "for", "all", "target", "nodes", "and", "for", "any", "target-independent", "nodes", "that", "the", "target", "has", "registered", "with", "invoke", "it", "for", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::SUB", "ARMISD::FMRRD", "ISD::INTRINSIC_WO_CHAIN", "ISD::SHL", "ISD::SRA", "ISD::SRL", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND", "ISD::ANY_EXTEND"], "File": "ARMISelLowering33", "Func": "PerformDAGCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11135, "Length": 143} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPostIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDNode", "*", "Op", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "const", "bool", "restrict_addressing_modes_for_nacl", "=", "Subtarget", "->", "isTargetNaCl", "(", ")", "&&", "isa", "<", "MemSDNode", ">", "(", "N", ")", ";", "if", "(", "restrict_addressing_modes_for_nacl", ")", "{", "return", "false", ";", "}", "EVT", "VT", ";", "SDValue", "Ptr", ";", "bool", "isSEXTLoad", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "if", "(", "!", "isLegal", ")", "return", "false", ";", "if", "(", "Ptr", "!=", "Base", ")", "{", "if", "(", "Ptr", "==", "Offset", "&&", "Op", "->", "getOpcode", "(", ")", "==", "ISD", "::", "ADD", "&&", "!", "Subtarget", "->", "isThumb2", "(", ")", ")", "std", "::", "swap", "(", "Base", ",", "Offset", ")", ";", "if", "(", "Ptr", "!=", "Base", ")", "return", "false", ";", "}", "AM", "=", "isInc", "?", "ISD", "::", "POST_INC", ":", "ISD", "::", "POST_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "this", "node", "can", "be", "combined", "with", "a", "load", "/", "store", "to", "form", "a", "post-indexed", "load", "/", "store", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::SEXTLOAD", "ARM", "ISD::ADD", "ISD::POST_INC", "ISD::POST_DEC"], "File": "ARMISelLowering36", "Func": "getPostIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11136, "Length": 291} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPreIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "const", "bool", "restrict_addressing_modes_for_nacl", "=", "Subtarget", "->", "isTargetNaCl", "(", ")", "&&", "isa", "<", "MemSDNode", ">", "(", "N", ")", ";", "if", "(", "restrict_addressing_modes_for_nacl", ")", "{", "return", "false", ";", "}", "EVT", "VT", ";", "SDValue", "Ptr", ";", "bool", "isSEXTLoad", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "if", "(", "!", "isLegal", ")", "return", "false", ";", "AM", "=", "isInc", "?", "ISD", "::", "PRE_INC", ":", "ISD", "::", "PRE_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "the", "node", "'s", "address", "can", "be", "legally", "represented", "as", "pre-indexed", "load", "/", "store", "address", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::SEXTLOAD", "ARM", "ISD::PRE_INC", "ISD::PRE_DEC"], "File": "ARMISelLowering36", "Func": "getPreIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11137, "Length": 246} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "computeKnownBitsForTargetNode", "(", "const", "SDValue", "Op", ",", "APInt", "&", "KnownZero", ",", "APInt", "&", "KnownOne", ",", "const", "APInt", "&", "DemandedElts", ",", "const", "SelectionDAG", "&", "DAG", ",", "unsigned", "Depth", ")", "const", "{", "unsigned", "BitWidth", "=", "KnownOne", ".", "getBitWidth", "(", ")", ";", "KnownZero", "=", "KnownOne", "=", "APInt", "(", "BitWidth", ",", "0", ")", ";", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ARMISD", "::", "ADDC", ":", "case", "ARMISD", "::", "ADDE", ":", "case", "ARMISD", "::", "SUBC", ":", "case", "ARMISD", "::", "SUBE", ":", "if", "(", "Op", ".", "getResNo", "(", ")", "==", "0", ")", "break", ";", "KnownZero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "1", ")", ";", "break", ";", "case", "ARMISD", "::", "CMOV", ":", "{", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "0", ")", ",", "KnownZero", ",", "KnownOne", ",", "Depth", "+", "1", ")", ";", "if", "(", "KnownZero", "==", "0", "&&", "KnownOne", "==", "0", ")", "return", ";", "APInt", "KnownZeroRHS", ",", "KnownOneRHS", ";", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "1", ")", ",", "KnownZeroRHS", ",", "KnownOneRHS", ",", "Depth", "+", "1", ")", ";", "KnownZero", "&=", "KnownZeroRHS", ";", "KnownOne", "&=", "KnownOneRHS", ";", "return", ";", "}", "case", "ISD", "::", "INTRINSIC_W_CHAIN", ":", "{", "ConstantSDNode", "*", "CN", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", "->", "getOperand", "(", "1", ")", ")", ";", "Intrinsic", "::", "ID", "IntID", "=", "static_cast", "<", "Intrinsic", "::", "ID", ">", "(", "CN", "->", "getZExtValue", "(", ")", ")", ";", "switch", "(", "IntID", ")", "{", "default", ":", "return", ";", "case", "Intrinsic", "::", "arm_ldaex", ":", "case", "Intrinsic", "::", "arm_ldrex", ":", "{", "EVT", "VT", "=", "cast", "<", "MemIntrinsicSDNode", ">", "(", "Op", ")", "->", "getMemoryVT", "(", ")", ";", "unsigned", "MemBits", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "KnownZero", "|=", "APInt", "::", "getHighBitsSet", "(", "BitWidth", ",", "BitWidth", "-", "MemBits", ")", ";", "return", ";", "}", "}", "}", "case", "ARMISD", "::", "BFI", ":", "{", "DAG", ".", "computeKnownBits", "(", "Op", ".", "getOperand", "(", "0", ")", ",", "KnownZero", ",", "KnownOne", ",", "Depth", "+", "1", ")", ";", "ConstantSDNode", "*", "CI", "=", "cast", "<", "ConstantSDNode", ">", "(", "Op", ".", "getOperand", "(", "2", ")", ")", ";", "const", "APInt", "&", "Mask", "=", "CI", "->", "getAPIntValue", "(", ")", ";", "KnownZero", "&=", "Mask", ";", "KnownOne", "&=", "Mask", ";", "return", ";", "}", "}", "}", ""], "natrual_language": ["Determine", "which", "of", "the", "bits", "specified", "in", "Mask", "are", "known", "to", "be", "either", "zero", "or", "one", "and", "return", "them", "in", "the", "KnownZero/KnownOne", "bitsets", "."], "TS_V_token": ["ARM", "ARM", "0", "ARMISD::ADDC", "ARMISD::ADDE", "ARMISD::SUBC", "ARMISD::SUBE", "0", "1", "ARMISD::CMOV", "0", "1", "0", "0", "1", "1", "ISD::INTRINSIC_W_CHAIN", "1", "Intrinsic::ID", "Intrinsic::ID", "Intrinsic::arm_ldaex", "Intrinsic::arm_ldrex", "ARMISD::BFI", "0", "1", "2"], "File": "ARMISelLowering53", "Func": "computeKnownBitsForTargetNode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11138, "Length": 357} {"ground_truth": ["", "std", "::", "pair", "<", "const", "TargetRegisterClass", "*", ",", "uint8_t", ">", "ARMTargetLowering", "::", "findRepresentativeClass", "(", "EVT", "VT", ")", "const", "{", "const", "TargetRegisterClass", "*", "RRC", "=", "0", ";", "uint8_t", "Cost", "=", "1", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ".", "SimpleTy", ")", "{", "default", ":", "return", "TargetLowering", "::", "findRepresentativeClass", "(", "VT", ")", ";", "case", "MVT", "::", "f32", ":", "case", "MVT", "::", "f64", ":", "case", "MVT", "::", "v8i8", ":", "case", "MVT", "::", "v4i16", ":", "case", "MVT", "::", "v2i32", ":", "case", "MVT", "::", "v1i64", ":", "case", "MVT", "::", "v2f32", ":", "RRC", "=", "ARM", "::", "DPRRegisterClass", ";", "break", ";", "case", "MVT", "::", "v16i8", ":", "case", "MVT", "::", "v8i16", ":", "case", "MVT", "::", "v4i32", ":", "case", "MVT", "::", "v2i64", ":", "case", "MVT", "::", "v4f32", ":", "case", "MVT", "::", "v2f64", ":", "RRC", "=", "ARM", "::", "DPRRegisterClass", ";", "Cost", "=", "2", ";", "break", ";", "case", "MVT", "::", "v4i64", ":", "RRC", "=", "ARM", "::", "DPRRegisterClass", ";", "Cost", "=", "4", ";", "break", ";", "case", "MVT", "::", "v8i64", ":", "RRC", "=", "ARM", "::", "DPRRegisterClass", ";", "Cost", "=", "8", ";", "break", ";", "}", "return", "std", "::", "make_pair", "(", "RRC", ",", "Cost", ")", ";", "}", ""], "natrual_language": ["Return", "the", "largest", "legal", "super-reg", "register", "class", "of", "the", "register", "class", "for", "the", "specified", "type", "and", "its", "associated", "``", "cost", "''", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "MVT::f32", "MVT::f64", "MVT::v8i8", "MVT::v4i16", "MVT::v2i32", "MVT::v1i64", "MVT::v2f32", "ARM::DPRRegisterClass", "MVT::v16i8", "MVT::v8i16", "MVT::v4i32", "MVT::v2i64", "MVT::v4f32", "MVT::v2f64", "ARM::DPRRegisterClass", "2", "MVT::v4i64", "ARM::DPRRegisterClass", "4", "MVT::v8i64", "ARM::DPRRegisterClass", "8"], "File": "ARMISelLowering54", "Func": "findRepresentativeClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11139, "Length": 183} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getRegPressureLimit", "(", "const", "TargetRegisterClass", "*", "RC", ",", "MachineFunction", "&", "MF", ")", "const", "{", "switch", "(", "RC", "->", "getID", "(", ")", ")", "{", "default", ":", "return", "0", ";", "case", "ARM", "::", "tGPRRegClassID", ":", "return", "RegInfo", "->", "hasFP", "(", "MF", ")", "?", "4", ":", "5", ";", "case", "ARM", "::", "GPRRegClassID", ":", "{", "unsigned", "FP", "=", "RegInfo", "->", "hasFP", "(", "MF", ")", "?", "1", ":", "0", ";", "return", "10", "-", "FP", "-", "(", "Subtarget", "->", "isR9Reserved", "(", ")", "?", "1", ":", "0", ")", ";", "}", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "return", "32", "-", "10", ";", "}", "}", ""], "natrual_language": ["Return", "the", "register", "pressure", "``", "high", "water", "mark", "''", "for", "the", "specific", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tGPRRegClassID", "4", "5", "ARM::GPRRegClassID", "1", "0", "10", "1", "0", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "32", "10"], "File": "ARMISelLowering54", "Func": "getRegPressureLimit", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11140, "Length": 102} {"ground_truth": ["", "Sched", "::", "Preference", "ARMTargetLowering", "::", "getSchedulingPreference", "(", "SDNode", "*", "N", ")", "const", "{", "unsigned", "NumVals", "=", "N", "->", "getNumValues", "(", ")", ";", "if", "(", "!", "NumVals", ")", "return", "Sched", "::", "RegPressure", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumVals", ";", "++", "i", ")", "{", "EVT", "VT", "=", "N", "->", "getValueType", "(", "i", ")", ";", "if", "(", "VT", ".", "isFloatingPoint", "(", ")", "||", "VT", ".", "isVector", "(", ")", ")", "return", "Sched", "::", "Latency", ";", "}", "if", "(", "!", "N", "->", "isMachineOpcode", "(", ")", ")", "return", "Sched", "::", "RegPressure", ";", "const", "TargetInstrInfo", "*", "TII", "=", "getTargetMachine", "(", ")", ".", "getInstrInfo", "(", ")", ";", "const", "TargetInstrDesc", "&", "TID", "=", "TII", "->", "get", "(", "N", "->", "getMachineOpcode", "(", ")", ")", ";", "if", "(", "TID", ".", "mayLoad", "(", ")", ")", "return", "Sched", "::", "Latency", ";", "const", "InstrItineraryData", "&", "Itins", "=", "getTargetMachine", "(", ")", ".", "getInstrItineraryData", "(", ")", ";", "if", "(", "!", "Itins", ".", "isEmpty", "(", ")", "&&", "Itins", ".", "getStageLatency", "(", "TID", ".", "getSchedClass", "(", ")", ")", ">", "2", ")", "return", "Sched", "::", "Latency", ";", "return", "Sched", "::", "RegPressure", ";", "}", ""], "natrual_language": ["Some", "scheduler", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "2"], "File": "ARMISelLowering54", "Func": "getSchedulingPreference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11141, "Length": 179} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "LowerOperation", "(", "SDValue", "Op", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom lower this!\"", ")", ";", "case", "ISD", "::", "ConstantPool", ":", "return", "LowerConstantPool", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BlockAddress", ":", "return", "LowerBlockAddress", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GlobalAddress", ":", "return", "Subtarget", "->", "isTargetDarwin", "(", ")", "?", "LowerGlobalAddressDarwin", "(", "Op", ",", "DAG", ")", ":", "LowerGlobalAddressELF", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GlobalTLSAddress", ":", "return", "LowerGlobalTLSAddress", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "SELECT", ":", "return", "LowerSELECT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "SELECT_CC", ":", "return", "LowerSELECT_CC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BR_CC", ":", "return", "LowerBR_CC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BR_JT", ":", "return", "LowerBR_JT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "VASTART", ":", "return", "LowerVASTART", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "MEMBARRIER", ":", "return", "LowerMEMBARRIER", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SINT_TO_FP", ":", "case", "ISD", "::", "UINT_TO_FP", ":", "return", "LowerINT_TO_FP", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FP_TO_SINT", ":", "case", "ISD", "::", "FP_TO_UINT", ":", "return", "LowerFP_TO_INT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FCOPYSIGN", ":", "return", "LowerFCOPYSIGN", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "RETURNADDR", ":", "return", "LowerRETURNADDR", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FRAMEADDR", ":", "return", "LowerFRAMEADDR", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GLOBAL_OFFSET_TABLE", ":", "return", "LowerGLOBAL_OFFSET_TABLE", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "EH_SJLJ_SETJMP", ":", "return", "LowerEH_SJLJ_SETJMP", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "EH_SJLJ_LONGJMP", ":", "return", "LowerEH_SJLJ_LONGJMP", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "LowerINTRINSIC_WO_CHAIN", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "BIT_CONVERT", ":", "return", "ExpandBIT_CONVERT", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ")", ";", "case", "ISD", "::", "SHL", ":", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "return", "LowerShift", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SHL_PARTS", ":", "return", "LowerShiftLeftParts", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "SRL_PARTS", ":", "case", "ISD", "::", "SRA_PARTS", ":", "return", "LowerShiftRightParts", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "CTTZ", ":", "return", "LowerCTTZ", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "VSETCC", ":", "return", "LowerVSETCC", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BUILD_VECTOR", ":", "return", "LowerBUILD_VECTOR", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "VECTOR_SHUFFLE", ":", "return", "LowerVECTOR_SHUFFLE", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "EXTRACT_VECTOR_ELT", ":", "return", "LowerEXTRACT_VECTOR_ELT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "CONCAT_VECTORS", ":", "return", "LowerCONCAT_VECTORS", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FLT_ROUNDS_", ":", "return", "LowerFLT_ROUNDS_", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "MUL", ":", "return", "LowerMUL", "(", "Op", ",", "DAG", ")", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["LowerOperation", "-", "Provide", "custom", "lowering", "hooks", "for", "some", "operations", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom lower this!\"", "ISD::ConstantPool", "ISD::BlockAddress", "ISD::GlobalAddress", "ISD::GlobalTLSAddress", "ISD::SELECT", "ISD::SELECT_CC", "ISD::BR_CC", "ISD::BR_JT", "ISD::VASTART", "ISD::MEMBARRIER", "ISD::SINT_TO_FP", "ISD::UINT_TO_FP", "ISD::FP_TO_SINT", "ISD::FP_TO_UINT", "ISD::FCOPYSIGN", "ISD::RETURNADDR", "ISD::FRAMEADDR", "ISD::GLOBAL_OFFSET_TABLE", "ISD::EH_SJLJ_SETJMP", "ISD::EH_SJLJ_LONGJMP", "ISD::INTRINSIC_WO_CHAIN", "ISD::BIT_CONVERT", "ISD::SHL", "ISD::SRL", "ISD::SRA", "ISD::SHL_PARTS", "ISD::SRL_PARTS", "ISD::SRA_PARTS", "ISD::CTTZ", "ISD::VSETCC", "ISD::BUILD_VECTOR", "ISD::VECTOR_SHUFFLE", "ISD::EXTRACT_VECTOR_ELT", "ISD::CONCAT_VECTORS", "ISD::FLT_ROUNDS_", "ISD::MUL"], "File": "ARMISelLowering54", "Func": "LowerOperation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11142, "Length": 500} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformDAGCombine", "(", "SDNode", "*", "N", ",", "DAGCombinerInfo", "&", "DCI", ")", "const", "{", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ISD", "::", "ADD", ":", "return", "PerformADDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "SUB", ":", "return", "PerformSUBCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "MUL", ":", "return", "PerformMULCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "OR", ":", "return", "PerformORCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ARMISD", "::", "VMOVRRD", ":", "return", "PerformVMOVRRDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "VDUPLANE", ":", "return", "PerformVDUPLANECombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "PerformIntrinsicCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ISD", "::", "SHL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SRL", ":", "return", "PerformShiftCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "case", "ISD", "::", "ANY_EXTEND", ":", "return", "PerformExtendCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SELECT_CC", ":", "return", "PerformSELECT_CCCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["This", "method", "will", "be", "invoked", "for", "all", "target", "nodes", "and", "for", "any", "target-independent", "nodes", "that", "the", "target", "has", "registered", "with", "invoke", "it", "for", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::SUB", "ISD::MUL", "ISD::OR", "ARMISD::VMOVRRD", "ARMISD::VDUPLANE", "ISD::INTRINSIC_WO_CHAIN", "ISD::SHL", "ISD::SRA", "ISD::SRL", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND", "ISD::ANY_EXTEND", "ISD::SELECT_CC"], "File": "ARMISelLowering54", "Func": "PerformDAGCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11143, "Length": 203} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "ReplaceNodeResults", "(", "SDNode", "*", "N", ",", "SmallVectorImpl", "<", "SDValue", ">", "&", "Results", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Res", ";", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"Don't know how to custom expand this!\"", ")", ";", "break", ";", "case", "ISD", "::", "BIT_CONVERT", ":", "Res", "=", "ExpandBIT_CONVERT", "(", "N", ",", "DAG", ")", ";", "break", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "Res", "=", "LowerShift", "(", "N", ",", "DAG", ",", "Subtarget", ")", ";", "break", ";", "}", "if", "(", "Res", ".", "getNode", "(", ")", ")", "Results", ".", "push_back", "(", "Res", ")", ";", "}", ""], "natrual_language": ["ReplaceNodeResults", "-", "Replace", "the", "results", "of", "node", "with", "an", "illegal", "result", "type", "with", "new", "values", "built", "out", "of", "custom", "code", "."], "TS_V_token": ["ARM", "ARM", "\"Don't know how to custom expand this!\"", "ISD::BIT_CONVERT", "ISD::SRL", "ISD::SRA"], "File": "ARMISelLowering54", "Func": "ReplaceNodeResults", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11144, "Length": 99} {"ground_truth": ["", "std", "::", "pair", "<", "unsigned", ",", "const", "TargetRegisterClass", "*", ">", "ARMTargetLowering", "::", "getRegForInlineAsmConstraint", "(", "const", "std", "::", "string", "&", "Constraint", ",", "MVT", "VT", ")", "const", "{", "if", "(", "Constraint", ".", "size", "(", ")", "==", "1", ")", "{", "switch", "(", "Constraint", "[", "0", "]", ")", "{", "case", "'l'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "tGPRRegisterClass", ")", ";", "else", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'r'", ":", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "GPRRegisterClass", ")", ";", "case", "'w'", ":", "if", "(", "VT", "==", "MVT", "::", "f32", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "SPRRegisterClass", ")", ";", "if", "(", "VT", "==", "MVT", "::", "f64", ")", "return", "std", "::", "make_pair", "(", "0U", ",", "ARM", "::", "DPRRegisterClass", ")", ";", "break", ";", "}", "}", "return", "TargetLowering", "::", "getRegForInlineAsmConstraint", "(", "Constraint", ",", "VT", ")", ";", "}", ""], "natrual_language": ["Given", "a", "physical", "register", "constraint", "(", "e.g", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0U", "ARM::tGPRRegisterClass", "0U", "ARM::GPRRegisterClass", "0U", "ARM::GPRRegisterClass", "MVT::f32", "0U", "ARM::SPRRegisterClass", "MVT::f64", "0U", "ARM::DPRRegisterClass"], "File": "ARMISelLowering57", "Func": "getRegForInlineAsmConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11145, "Length": 154} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isLegalAddressingMode", "(", "const", "AddrMode", "&", "AM", ",", "const", "Type", "*", "Ty", ")", "const", "{", "MVT", "VT", "=", "getValueType", "(", "Ty", ",", "true", ")", ";", "if", "(", "!", "isLegalAddressImmediate", "(", "AM", ".", "BaseOffs", ",", "VT", ",", "Subtarget", ")", ")", "return", "false", ";", "if", "(", "AM", ".", "BaseGV", ")", "return", "false", ";", "switch", "(", "AM", ".", "Scale", ")", "{", "case", "0", ":", "break", ";", "case", "1", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "return", "false", ";", "default", ":", "if", "(", "AM", ".", "BaseOffs", ")", "return", "false", ";", "if", "(", "!", "VT", ".", "isSimple", "(", ")", ")", "return", "false", ";", "int", "Scale", "=", "AM", ".", "Scale", ";", "switch", "(", "VT", ".", "getSimpleVT", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "MVT", "::", "i1", ":", "case", "MVT", "::", "i8", ":", "case", "MVT", "::", "i32", ":", "case", "MVT", "::", "i64", ":", "if", "(", "Scale", "<", "0", ")", "Scale", "=", "-", "Scale", ";", "if", "(", "Scale", "==", "1", ")", "return", "true", ";", "return", "isPowerOf2_32", "(", "Scale", "&", "~", "1", ")", ";", "case", "MVT", "::", "i16", ":", "if", "(", "(", "(", "unsigned", ")", "AM", ".", "HasBaseReg", "+", "Scale", ")", "<=", "2", ")", "return", "true", ";", "return", "false", ";", "case", "MVT", "::", "isVoid", ":", "if", "(", "AM", ".", "Scale", "&", "1", ")", "return", "false", ";", "return", "isPowerOf2_32", "(", "AM", ".", "Scale", ")", ";", "}", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["isLegalAddressingMode", "-", "Return", "true", "if", "the", "addressing", "mode", "represented", "by", "AM", "is", "legal", "for", "this", "target", ",", "for", "a", "load/store", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM", "0", "1", "MVT::i1", "MVT::i8", "MVT::i32", "MVT::i64", "0", "1", "1", "MVT::i16", "2", "MVT::isVoid", "1"], "File": "ARMISelLowering57", "Func": "isLegalAddressingMode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11146, "Length": 230} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "LowerAsmOperandForConstraint", "(", "SDValue", "Op", ",", "char", "Constraint", ",", "bool", "hasMemory", ",", "std", "::", "vector", "<", "SDValue", ">", "&", "Ops", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "SDValue", "Result", "(", "0", ",", "0", ")", ";", "switch", "(", "Constraint", ")", "{", "default", ":", "break", ";", "case", "'I'", ":", "case", "'J'", ":", "case", "'K'", ":", "case", "'L'", ":", "case", "'M'", ":", "case", "'N'", ":", "case", "'O'", ":", "ConstantSDNode", "*", "C", "=", "dyn_cast", "<", "ConstantSDNode", ">", "(", "Op", ")", ";", "if", "(", "!", "C", ")", "return", ";", "int64_t", "CVal64", "=", "C", "->", "getSExtValue", "(", ")", ";", "int", "CVal", "=", "(", "int", ")", "CVal64", ";", "if", "(", "CVal", "!=", "CVal64", ")", "return", ";", "switch", "(", "Constraint", ")", "{", "case", "'I'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "{", "if", "(", "CVal", ">=", "0", "&&", "CVal", "<=", "255", ")", "break", ";", "}", "else", "{", "if", "(", "ARM_AM", "::", "getSOImmVal", "(", "CVal", ")", "!=", "-", "1", ")", "break", ";", "}", "return", ";", "case", "'J'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "{", "if", "(", "CVal", ">=", "-", "255", "&&", "CVal", "<=", "-", "1", ")", "break", ";", "}", "else", "{", "if", "(", "CVal", ">=", "-", "4095", "&&", "CVal", "<=", "4095", ")", "break", ";", "}", "return", ";", "case", "'K'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "{", "if", "(", "CVal", "!=", "0", "&&", "ARM_AM", "::", "isThumbImmShiftedVal", "(", "CVal", ")", ")", "break", ";", "}", "else", "{", "if", "(", "ARM_AM", "::", "getSOImmVal", "(", "~", "CVal", ")", "!=", "-", "1", ")", "break", ";", "}", "return", ";", "case", "'L'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "{", "if", "(", "CVal", ">=", "-", "7", "&&", "CVal", "<", "7", ")", "break", ";", "}", "else", "{", "if", "(", "ARM_AM", "::", "getSOImmVal", "(", "-", "CVal", ")", "!=", "-", "1", ")", "break", ";", "}", "return", ";", "case", "'M'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "{", "if", "(", "(", "CVal", ">=", "0", "&&", "CVal", "<=", "1020", ")", "&&", "(", "(", "CVal", "&", "3", ")", "==", "0", ")", ")", "break", ";", "}", "else", "{", "if", "(", "(", "CVal", ">=", "0", "&&", "CVal", "<=", "32", ")", "||", "(", "(", "CVal", "&", "(", "CVal", "-", "1", ")", ")", "==", "0", ")", ")", "break", ";", "}", "return", ";", "case", "'N'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "{", "if", "(", "CVal", ">=", "0", "&&", "CVal", "<=", "31", ")", "break", ";", "}", "return", ";", "case", "'O'", ":", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "{", "if", "(", "(", "CVal", ">=", "-", "508", "&&", "CVal", "<=", "508", ")", "&&", "(", "(", "CVal", "&", "3", ")", "==", "0", ")", ")", "break", ";", "}", "return", ";", "}", "Result", "=", "DAG", ".", "getTargetConstant", "(", "CVal", ",", "Op", ".", "getValueType", "(", ")", ")", ";", "break", ";", "}", "if", "(", "Result", ".", "getNode", "(", ")", ")", "{", "Ops", ".", "push_back", "(", "Result", ")", ";", "return", ";", "}", "return", "TargetLowering", "::", "LowerAsmOperandForConstraint", "(", "Op", ",", "Constraint", ",", "hasMemory", ",", "Ops", ",", "DAG", ")", ";", "}", ""], "natrual_language": ["Lower", "the", "specified", "operand", "into", "the", "Ops", "vector", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "0", "255", "ARM_AM::getSOImmVal", "1", "255", "1", "4095", "4095", "0", "ARM_AM::isThumbImmShiftedVal", "ARM_AM::getSOImmVal", "1", "7", "7", "ARM_AM::getSOImmVal", "1", "0", "1020", "3", "0", "0", "32", "1", "0", "0", "31", "508", "508", "3", "0"], "File": "ARMISelLowering57", "Func": "LowerAsmOperandForConstraint", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11147, "Length": 491} {"ground_truth": ["", "SDNode", "*", "ARMTargetLowering", "::", "LowerCallResult", "(", "SDValue", "Chain", ",", "SDValue", "InFlag", ",", "CallSDNode", "*", "TheCall", ",", "unsigned", "CallingConv", ",", "SelectionDAG", "&", "DAG", ")", "{", "DebugLoc", "dl", "=", "TheCall", "->", "getDebugLoc", "(", ")", ";", "SmallVector", "<", "CCValAssign", ",", "16", ">", "RVLocs", ";", "bool", "isVarArg", "=", "TheCall", "->", "isVarArg", "(", ")", ";", "CCState", "CCInfo", "(", "CallingConv", ",", "isVarArg", ",", "getTargetMachine", "(", ")", ",", "RVLocs", ")", ";", "CCInfo", ".", "AnalyzeCallResult", "(", "TheCall", ",", "RetCC_ARM", ")", ";", "SmallVector", "<", "SDValue", ",", "8", ">", "ResultVals", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "RVLocs", ".", "size", "(", ")", ";", "++", "i", ")", "{", "CCValAssign", "VA", "=", "RVLocs", "[", "i", "]", ";", "SDValue", "Val", ";", "if", "(", "VA", ".", "needsCustom", "(", ")", ")", "{", "SDValue", "Lo", "=", "DAG", ".", "getCopyFromReg", "(", "Chain", ",", "dl", ",", "VA", ".", "getLocReg", "(", ")", ",", "MVT", "::", "i32", ",", "InFlag", ")", ";", "Chain", "=", "Lo", ".", "getValue", "(", "1", ")", ";", "InFlag", "=", "Lo", ".", "getValue", "(", "2", ")", ";", "VA", "=", "RVLocs", "[", "++", "i", "]", ";", "SDValue", "Hi", "=", "DAG", ".", "getCopyFromReg", "(", "Chain", ",", "dl", ",", "VA", ".", "getLocReg", "(", ")", ",", "MVT", "::", "i32", ",", "InFlag", ")", ";", "Chain", "=", "Hi", ".", "getValue", "(", "1", ")", ";", "InFlag", "=", "Hi", ".", "getValue", "(", "2", ")", ";", "Val", "=", "DAG", ".", "getNode", "(", "ARMISD", "::", "FMDRR", ",", "dl", ",", "MVT", "::", "f64", ",", "Lo", ",", "Hi", ")", ";", "}", "else", "{", "Val", "=", "DAG", ".", "getCopyFromReg", "(", "Chain", ",", "dl", ",", "VA", ".", "getLocReg", "(", ")", ",", "VA", ".", "getLocVT", "(", ")", ",", "InFlag", ")", ";", "Chain", "=", "Val", ".", "getValue", "(", "1", ")", ";", "InFlag", "=", "Val", ".", "getValue", "(", "2", ")", ";", "}", "switch", "(", "VA", ".", "getLocInfo", "(", ")", ")", "{", "default", ":", "assert", "(", "0", "&&", "\"Unknown loc info!\"", ")", ";", "case", "CCValAssign", "::", "Full", ":", "break", ";", "case", "CCValAssign", "::", "BCvt", ":", "Val", "=", "DAG", ".", "getNode", "(", "ISD", "::", "BIT_CONVERT", ",", "dl", ",", "VA", ".", "getValVT", "(", ")", ",", "Val", ")", ";", "break", ";", "}", "ResultVals", ".", "push_back", "(", "Val", ")", ";", "}", "ResultVals", ".", "push_back", "(", "Chain", ")", ";", "return", "DAG", ".", "getNode", "(", "ISD", "::", "MERGE_VALUES", ",", "dl", ",", "TheCall", "->", "getVTList", "(", ")", ",", "&", "ResultVals", "[", "0", "]", ",", "ResultVals", ".", "size", "(", ")", ")", ".", "getNode", "(", ")", ";", "}", ""], "natrual_language": ["LowerCallResult", "-", "Lower", "the", "result", "values", "of", "an", "ISD", ":", ":CALL", "into", "the", "appropriate", "copies", "out", "of", "appropriate", "physical", "registers", "."], "TS_V_token": ["ARM", "ARM", "16", "ARM", "8", "0", "MVT::i32", "1", "2", "MVT::i32", "1", "2", "ARMISD::FMDRR", "MVT::f64", "1", "2", "0", "\"Unknown loc info!\"", "ISD::BIT_CONVERT", "ISD::MERGE_VALUES", "0"], "File": "ARMISelLowering57", "Func": "LowerCallResult", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11148, "Length": 384} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "LowerOperation", "(", "SDValue", "Op", ",", "SelectionDAG", "&", "DAG", ")", "{", "switch", "(", "Op", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "assert", "(", "0", "&&", "\"Don't know how to custom lower this!\"", ")", ";", "abort", "(", ")", ";", "case", "ISD", "::", "ConstantPool", ":", "return", "LowerConstantPool", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GlobalAddress", ":", "return", "Subtarget", "->", "isTargetDarwin", "(", ")", "?", "LowerGlobalAddressDarwin", "(", "Op", ",", "DAG", ")", ":", "LowerGlobalAddressELF", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GlobalTLSAddress", ":", "return", "LowerGlobalTLSAddress", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "CALL", ":", "return", "LowerCALL", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "RET", ":", "return", "LowerRET", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "SELECT_CC", ":", "return", "LowerSELECT_CC", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "BR_CC", ":", "return", "LowerBR_CC", "(", "Op", ",", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "BR_JT", ":", "return", "LowerBR_JT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "VASTART", ":", "return", "LowerVASTART", "(", "Op", ",", "DAG", ",", "VarArgsFrameIndex", ")", ";", "case", "ISD", "::", "SINT_TO_FP", ":", "case", "ISD", "::", "UINT_TO_FP", ":", "return", "LowerINT_TO_FP", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FP_TO_SINT", ":", "case", "ISD", "::", "FP_TO_UINT", ":", "return", "LowerFP_TO_INT", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FCOPYSIGN", ":", "return", "LowerFCOPYSIGN", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "FORMAL_ARGUMENTS", ":", "return", "LowerFORMAL_ARGUMENTS", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "RETURNADDR", ":", "break", ";", "case", "ISD", "::", "FRAMEADDR", ":", "return", "LowerFRAMEADDR", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "GLOBAL_OFFSET_TABLE", ":", "return", "LowerGLOBAL_OFFSET_TABLE", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "LowerINTRINSIC_WO_CHAIN", "(", "Op", ",", "DAG", ")", ";", "case", "ISD", "::", "BIT_CONVERT", ":", "return", "ExpandBIT_CONVERT", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ")", ";", "case", "ISD", "::", "SRL", ":", "case", "ISD", "::", "SRA", ":", "return", "ExpandSRx", "(", "Op", ".", "getNode", "(", ")", ",", "DAG", ",", "Subtarget", ")", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["LowerOperation", "-", "Provide", "custom", "lowering", "hooks", "for", "some", "operations", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Don't know how to custom lower this!\"", "ISD::ConstantPool", "ISD::GlobalAddress", "ISD::GlobalTLSAddress", "ISD::CALL", "ISD::RET", "ISD::SELECT_CC", "ISD::BR_CC", "ISD::BR_JT", "ISD::VASTART", "ISD::SINT_TO_FP", "ISD::UINT_TO_FP", "ISD::FP_TO_SINT", "ISD::FP_TO_UINT", "ISD::FCOPYSIGN", "ISD::FORMAL_ARGUMENTS", "ISD::RETURNADDR", "ISD::FRAMEADDR", "ISD::GLOBAL_OFFSET_TABLE", "ISD::INTRINSIC_WO_CHAIN", "ISD::BIT_CONVERT", "ISD::SRL", "ISD::SRA"], "File": "ARMISelLowering57", "Func": "LowerOperation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11149, "Length": 327} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "isShuffleMaskLegal", "(", "ArrayRef", "<", "int", ">", "M", ",", "EVT", "VT", ")", "const", "{", "if", "(", "VT", ".", "getVectorNumElements", "(", ")", "==", "4", "&&", "(", "VT", ".", "is128BitVector", "(", ")", "||", "VT", ".", "is64BitVector", "(", ")", ")", ")", "{", "unsigned", "PFIndexes", "[", "4", "]", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "4", ";", "++", "i", ")", "{", "if", "(", "M", "[", "i", "]", "<", "0", ")", "PFIndexes", "[", "i", "]", "=", "8", ";", "else", "PFIndexes", "[", "i", "]", "=", "M", "[", "i", "]", ";", "}", "unsigned", "PFTableIndex", "=", "PFIndexes", "[", "0", "]", "*", "9", "*", "9", "*", "9", "+", "PFIndexes", "[", "1", "]", "*", "9", "*", "9", "+", "PFIndexes", "[", "2", "]", "*", "9", "+", "PFIndexes", "[", "3", "]", ";", "unsigned", "PFEntry", "=", "PerfectShuffleTable", "[", "PFTableIndex", "]", ";", "unsigned", "Cost", "=", "(", "PFEntry", ">>", "30", ")", ";", "if", "(", "Cost", "<=", "4", "&&", "(", "Subtarget", "->", "hasNEON", "(", ")", "||", "isLegalMVEShuffleOp", "(", "PFEntry", ")", ")", ")", "return", "true", ";", "}", "bool", "ReverseVEXT", ",", "isV_UNDEF", ";", "unsigned", "Imm", ",", "WhichResult", ";", "unsigned", "EltSize", "=", "VT", ".", "getScalarSizeInBits", "(", ")", ";", "if", "(", "EltSize", ">=", "32", "||", "ShuffleVectorSDNode", "::", "isSplatMask", "(", "&", "M", "[", "0", "]", ",", "VT", ")", "||", "ShuffleVectorInst", "::", "isIdentityMask", "(", "M", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "64", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "32", ")", "||", "isVREVMask", "(", "M", ",", "VT", ",", "16", ")", ")", "return", "true", ";", "else", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "isVEXTMask", "(", "M", ",", "VT", ",", "ReverseVEXT", ",", "Imm", ")", "||", "isVTBLMask", "(", "M", ",", "VT", ")", "||", "isNEONTwoResultShuffleMask", "(", "M", ",", "VT", ",", "WhichResult", ",", "isV_UNDEF", ")", ")", ")", "return", "true", ";", "else", "if", "(", "Subtarget", "->", "hasNEON", "(", ")", "&&", "(", "VT", "==", "MVT", "::", "v8i16", "||", "VT", "==", "MVT", "::", "v16i8", ")", "&&", "isReverseMask", "(", "M", ",", "VT", ")", ")", "return", "true", ";", "else", "return", "false", ";", "}", ""], "natrual_language": ["Targets", "can", "use", "this", "to", "indicate", "that", "they", "only", "support", "some", "VECTOR_SHUFFLE", "operations", ",", "those", "with", "specific", "masks", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "4", "0", "8", "0", "9", "9", "9", "1", "9", "9", "2", "9", "3", "30", "4", "32", "0", "64", "32", "16", "MVT::v8i16", "MVT::v16i8"], "File": "ARMISelLowering69", "Func": "isShuffleMaskLegal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11150, "Length": 321} {"ground_truth": ["", "unsigned", "ARMTargetLowering", "::", "getRegPressureLimit", "(", "const", "TargetRegisterClass", "*", "RC", ",", "MachineFunction", "&", "MF", ")", "const", "{", "const", "TargetFrameInfo", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", ";", "switch", "(", "RC", "->", "getID", "(", ")", ")", "{", "default", ":", "return", "0", ";", "case", "ARM", "::", "tGPRRegClassID", ":", "return", "TFI", "->", "hasFP", "(", "MF", ")", "?", "4", ":", "5", ";", "case", "ARM", "::", "GPRRegClassID", ":", "{", "unsigned", "FP", "=", "TFI", "->", "hasFP", "(", "MF", ")", "?", "1", ":", "0", ";", "return", "10", "-", "FP", "-", "(", "Subtarget", "->", "isR9Reserved", "(", ")", "?", "1", ":", "0", ")", ";", "}", "case", "ARM", "::", "SPRRegClassID", ":", "case", "ARM", "::", "DPRRegClassID", ":", "return", "32", "-", "10", ";", "}", "}", ""], "natrual_language": ["Return", "the", "register", "pressure", "``", "high", "water", "mark", "''", "for", "the", "specific", "register", "class", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::tGPRRegClassID", "4", "5", "ARM::GPRRegClassID", "1", "0", "10", "1", "0", "ARM::SPRRegClassID", "ARM::DPRRegClassID", "32", "10"], "File": "ARMISelLowering71", "Func": "getRegPressureLimit", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11151, "Length": 117} {"ground_truth": ["", "Sched", "::", "Preference", "ARMTargetLowering", "::", "getSchedulingPreference", "(", "SDNode", "*", "N", ")", "const", "{", "unsigned", "NumVals", "=", "N", "->", "getNumValues", "(", ")", ";", "if", "(", "!", "NumVals", ")", "return", "Sched", "::", "RegPressure", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "NumVals", ";", "++", "i", ")", "{", "EVT", "VT", "=", "N", "->", "getValueType", "(", "i", ")", ";", "if", "(", "VT", "==", "MVT", "::", "Flag", "||", "VT", "==", "MVT", "::", "Other", ")", "continue", ";", "if", "(", "VT", ".", "isFloatingPoint", "(", ")", "||", "VT", ".", "isVector", "(", ")", ")", "return", "Sched", "::", "Latency", ";", "}", "if", "(", "!", "N", "->", "isMachineOpcode", "(", ")", ")", "return", "Sched", "::", "RegPressure", ";", "const", "TargetInstrInfo", "*", "TII", "=", "getTargetMachine", "(", ")", ".", "getInstrInfo", "(", ")", ";", "const", "TargetInstrDesc", "&", "TID", "=", "TII", "->", "get", "(", "N", "->", "getMachineOpcode", "(", ")", ")", ";", "if", "(", "TID", ".", "getNumDefs", "(", ")", "==", "0", ")", "return", "Sched", "::", "RegPressure", ";", "if", "(", "!", "Itins", "->", "isEmpty", "(", ")", "&&", "Itins", "->", "getOperandCycle", "(", "TID", ".", "getSchedClass", "(", ")", ",", "0", ")", ">", "2", ")", "return", "Sched", "::", "Latency", ";", "return", "Sched", "::", "RegPressure", ";", "}", ""], "natrual_language": ["Some", "scheduler", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "0", "MVT::Flag", "MVT::Other", "0", "0", "2"], "File": "ARMISelLowering71", "Func": "getSchedulingPreference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11152, "Length": 186} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "PerformDAGCombine", "(", "SDNode", "*", "N", ",", "DAGCombinerInfo", "&", "DCI", ")", "const", "{", "switch", "(", "N", "->", "getOpcode", "(", ")", ")", "{", "default", ":", "break", ";", "case", "ISD", "::", "ADD", ":", "return", "PerformADDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "SUB", ":", "return", "PerformSUBCombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "MUL", ":", "return", "PerformMULCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "OR", ":", "return", "PerformORCombine", "(", "N", ",", "DCI", ",", "Subtarget", ")", ";", "case", "ISD", "::", "AND", ":", "return", "PerformANDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "VMOVRRD", ":", "return", "PerformVMOVRRDCombine", "(", "N", ",", "DCI", ")", ";", "case", "ARMISD", "::", "VMOVDRR", ":", "return", "PerformVMOVDRRCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ISD", "::", "BUILD_VECTOR", ":", "return", "PerformBUILD_VECTORCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ISD", "::", "VECTOR_SHUFFLE", ":", "return", "PerformVECTOR_SHUFFLECombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ARMISD", "::", "VDUPLANE", ":", "return", "PerformVDUPLANECombine", "(", "N", ",", "DCI", ")", ";", "case", "ISD", "::", "INTRINSIC_WO_CHAIN", ":", "return", "PerformIntrinsicCombine", "(", "N", ",", "DCI", ".", "DAG", ")", ";", "case", "ISD", "::", "SHL", ":", "case", "ISD", "::", "SRA", ":", "case", "ISD", "::", "SRL", ":", "return", "PerformShiftCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SIGN_EXTEND", ":", "case", "ISD", "::", "ZERO_EXTEND", ":", "case", "ISD", "::", "ANY_EXTEND", ":", "return", "PerformExtendCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "case", "ISD", "::", "SELECT_CC", ":", "return", "PerformSELECT_CCCombine", "(", "N", ",", "DCI", ".", "DAG", ",", "Subtarget", ")", ";", "}", "return", "SDValue", "(", ")", ";", "}", ""], "natrual_language": ["This", "method", "will", "be", "invoked", "for", "all", "target", "nodes", "and", "for", "any", "target-independent", "nodes", "that", "the", "target", "has", "registered", "with", "invoke", "it", "for", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::SUB", "ISD::MUL", "ISD::OR", "ISD::AND", "ARMISD::VMOVRRD", "ARMISD::VMOVDRR", "ISD::BUILD_VECTOR", "ISD::VECTOR_SHUFFLE", "ARMISD::VDUPLANE", "ISD::INTRINSIC_WO_CHAIN", "ISD::SHL", "ISD::SRA", "ISD::SRL", "ISD::SIGN_EXTEND", "ISD::ZERO_EXTEND", "ISD::ANY_EXTEND", "ISD::SELECT_CC"], "File": "ARMISelLowering71", "Func": "PerformDAGCombine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11153, "Length": 261} {"ground_truth": ["", "unsigned", "ARMScalarTargetTransformImpl", "::", "getIntImmCost", "(", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "const", "{", "assert", "(", "Ty", "->", "isIntegerTy", "(", ")", ")", ";", "unsigned", "Bits", "=", "Ty", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "Bits", "==", "0", "||", "Bits", ">", "32", ")", "return", "4", ";", "int32_t", "SImmVal", "=", "Imm", ".", "getSExtValue", "(", ")", ";", "uint32_t", "ZImmVal", "=", "Imm", ".", "getZExtValue", "(", ")", ";", "if", "(", "!", "Subtarget", "->", "isThumb", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "Subtarget", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "else", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "Subtarget", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "else", "{", "if", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "256", ")", "return", "1", ";", "if", "(", "(", "~", "ZImmVal", "<", "256", ")", "||", "ARM_AM", "::", "isThumbImmShiftedVal", "(", "ZImmVal", ")", ")", "return", "2", ";", "return", "3", ";", "}", "return", "2", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "materializing", "a", "64-bit", "value", "."], "TS_V_token": ["ARM", "ARM", "0", "32", "4", "0", "65536", "ARM_AM::getSOImmVal", "1", "ARM_AM::getSOImmVal", "1", "1", "2", "3", "0", "65536", "ARM_AM::getT2SOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "1", "2", "3", "0", "256", "1", "256", "ARM_AM::isThumbImmShiftedVal", "2", "3", "2"], "File": "ARMISelLowering74", "Func": "getIntImmCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11154, "Length": 231} {"ground_truth": ["", "TargetLoweringBase", "::", "AtomicExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicStoreInIR", "(", "StoreInst", "*", "SI", ")", "const", "{", "bool", "has64BitAtomicStore", ";", "if", "(", "Subtarget", "->", "isMClass", "(", ")", ")", "has64BitAtomicStore", "=", "false", ";", "else", "if", "(", "Subtarget", "->", "isThumb", "(", ")", ")", "has64BitAtomicStore", "=", "Subtarget", "->", "hasV7Ops", "(", ")", ";", "else", "has64BitAtomicStore", "=", "Subtarget", "->", "hasV6Ops", "(", ")", ";", "unsigned", "Size", "=", "SI", "->", "getValueOperand", "(", ")", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "return", "Size", "==", "64", "&&", "has64BitAtomicStore", "?", "AtomicExpansionKind", "::", "Expand", ":", "AtomicExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "(", "atomic", ")", "store", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "into", "."], "TS_V_token": ["ARM", "ARM", "64"], "File": "ARMISelLowering83", "Func": "shouldExpandAtomicStoreInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11155, "Length": 87} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPostIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDNode", "*", "Op", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "const", "bool", "restrict_addressing_modes_for_nacl", "=", "(", "(", "FlagSfiLoad", "&&", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "LOAD", ")", "||", "(", "FlagSfiStore", "&&", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "STORE", ")", ")", ";", "if", "(", "restrict_addressing_modes_for_nacl", ")", "{", "return", "false", ";", "}", "EVT", "VT", ";", "SDValue", "Ptr", ";", "bool", "isSEXTLoad", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Op", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "if", "(", "!", "isLegal", ")", "return", "false", ";", "if", "(", "Ptr", "!=", "Base", ")", "{", "if", "(", "Ptr", "==", "Offset", "&&", "Op", "->", "getOpcode", "(", ")", "==", "ISD", "::", "ADD", "&&", "!", "Subtarget", "->", "isThumb2", "(", ")", ")", "std", "::", "swap", "(", "Base", ",", "Offset", ")", ";", "if", "(", "Ptr", "!=", "Base", ")", "return", "false", ";", "}", "AM", "=", "isInc", "?", "ISD", "::", "POST_INC", ":", "ISD", "::", "POST_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "this", "node", "can", "be", "combined", "with", "a", "load", "/", "store", "to", "form", "a", "post-indexed", "load", "/", "store", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::LOAD", "ISD::STORE", "ISD::SEXTLOAD", "ARM", "ISD::ADD", "ISD::POST_INC", "ISD::POST_DEC"], "File": "ARMISelLowering91", "Func": "getPostIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11156, "Length": 307} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "getPreIndexedAddressParts", "(", "SDNode", "*", "N", ",", "SDValue", "&", "Base", ",", "SDValue", "&", "Offset", ",", "ISD", "::", "MemIndexedMode", "&", "AM", ",", "SelectionDAG", "&", "DAG", ")", "const", "{", "if", "(", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "return", "false", ";", "const", "bool", "restrict_addressing_modes_for_nacl", "=", "(", "(", "FlagSfiLoad", "&&", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "LOAD", ")", "||", "(", "FlagSfiStore", "&&", "N", "->", "getOpcode", "(", ")", "==", "ISD", "::", "STORE", ")", ")", ";", "if", "(", "restrict_addressing_modes_for_nacl", ")", "{", "return", "false", ";", "}", "EVT", "VT", ";", "SDValue", "Ptr", ";", "bool", "isSEXTLoad", "=", "false", ";", "if", "(", "LoadSDNode", "*", "LD", "=", "dyn_cast", "<", "LoadSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "LD", "->", "getBasePtr", "(", ")", ";", "VT", "=", "LD", "->", "getMemoryVT", "(", ")", ";", "isSEXTLoad", "=", "LD", "->", "getExtensionType", "(", ")", "==", "ISD", "::", "SEXTLOAD", ";", "}", "else", "if", "(", "StoreSDNode", "*", "ST", "=", "dyn_cast", "<", "StoreSDNode", ">", "(", "N", ")", ")", "{", "Ptr", "=", "ST", "->", "getBasePtr", "(", ")", ";", "VT", "=", "ST", "->", "getMemoryVT", "(", ")", ";", "}", "else", "return", "false", ";", "bool", "isInc", ";", "bool", "isLegal", "=", "false", ";", "if", "(", "Subtarget", "->", "isThumb2", "(", ")", ")", "isLegal", "=", "getT2IndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "else", "isLegal", "=", "getARMIndexedAddressParts", "(", "Ptr", ".", "getNode", "(", ")", ",", "VT", ",", "isSEXTLoad", ",", "Base", ",", "Offset", ",", "isInc", ",", "DAG", ")", ";", "if", "(", "!", "isLegal", ")", "return", "false", ";", "AM", "=", "isInc", "?", "ISD", "::", "PRE_INC", ":", "ISD", "::", "PRE_DEC", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "by", "value", ",", "base", "pointer", "and", "offset", "pointer", "and", "addressing", "mode", "by", "reference", "if", "the", "node", "'s", "address", "can", "be", "legally", "represented", "as", "pre-indexed", "load", "/", "store", "address", "."], "TS_V_token": ["ARM", "ARM", "ISD::MemIndexedMode", "ISD::LOAD", "ISD::STORE", "ISD::SEXTLOAD", "ARM", "ISD::PRE_INC", "ISD::PRE_DEC"], "File": "ARMISelLowering91", "Func": "getPreIndexedAddressParts", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11157, "Length": 262} {"ground_truth": ["", "void", "ARMTargetLowering", "::", "HandleByVal", "(", "CCState", "*", "State", ",", "unsigned", "&", "size", ",", "unsigned", "Align", ")", "const", "{", "unsigned", "reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "assert", "(", "(", "State", "->", "getCallOrPrologue", "(", ")", "==", "Prologue", "||", "State", "->", "getCallOrPrologue", "(", ")", "==", "Call", ")", "&&", "\"unhandled ParmContext\"", ")", ";", "if", "(", "Subtarget", "->", "isTargetNaCl", "(", ")", ")", "{", "if", "(", "(", "!", "State", "->", "isFirstByValRegValid", "(", ")", ")", "&&", "(", "ARM", "::", "R0", "<=", "reg", ")", "&&", "(", "reg", "<=", "ARM", "::", "R3", ")", ")", "{", "State", "->", "setHasByValInRegPosition", "(", ")", ";", "}", "while", "(", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ")", ";", "return", ";", "}", "if", "(", "(", "!", "State", "->", "isFirstByValRegValid", "(", ")", ")", "&&", "(", "ARM", "::", "R0", "<=", "reg", ")", "&&", "(", "reg", "<=", "ARM", "::", "R3", ")", ")", "{", "if", "(", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "&&", "Align", ">", "4", ")", "{", "unsigned", "AlignInRegs", "=", "Align", "/", "4", ";", "unsigned", "Waste", "=", "(", "ARM", "::", "R4", "-", "reg", ")", "%", "AlignInRegs", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Waste", ";", "++", "i", ")", "reg", "=", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ";", "}", "if", "(", "reg", "!=", "0", ")", "{", "State", "->", "setFirstByValReg", "(", "reg", ")", ";", "if", "(", "State", "->", "getCallOrPrologue", "(", ")", "==", "Call", ")", "{", "unsigned", "excess", "=", "4", "*", "(", "ARM", "::", "R4", "-", "reg", ")", ";", "assert", "(", "size", ">=", "excess", "&&", "\"expected larger existing stack allocation\"", ")", ";", "size", "-=", "excess", ";", "}", "}", "}", "while", "(", "State", "->", "AllocateReg", "(", "GPRArgRegs", ",", "4", ")", ")", ";", "}", ""], "natrual_language": ["Target-specific", "cleanup", "for", "formal", "ByVal", "parameters", "."], "TS_V_token": ["ARM", "ARM", "4", "\"unhandled ParmContext\"", "ARM::R0", "ARM::R3", "4", "ARM::R0", "ARM::R3", "4", "4", "ARM::R4", "0", "4", "0", "4", "ARM::R4", "\"expected larger existing stack allocation\"", "4"], "File": "ARMISelLowering91", "Func": "HandleByVal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11158, "Length": 266} {"ground_truth": ["", "SDValue", "ARMTargetLowering", "::", "BuildSDIVPow2", "(", "SDNode", "*", "N", ",", "const", "APInt", "&", "Divisor", ",", "SelectionDAG", "&", "DAG", ",", "SmallVectorImpl", "<", "SDNode", "*", ">", "&", "Created", ")", "const", "{", "if", "(", "N", "->", "getOpcode", "(", ")", "!=", "ISD", "::", "SDIV", ")", "return", "SDValue", "(", ")", ";", "const", "auto", "&", "ST", "=", "DAG", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "const", "bool", "MinSize", "=", "ST", ".", "hasMinSize", "(", ")", ";", "const", "bool", "HasDivide", "=", "ST", ".", "isThumb", "(", ")", "?", "ST", ".", "hasDivideInThumbMode", "(", ")", ":", "ST", ".", "hasDivideInARMMode", "(", ")", ";", "if", "(", "N", "->", "getOperand", "(", "0", ")", ".", "getValueType", "(", ")", ".", "isVector", "(", ")", ")", "return", "SDValue", "(", ")", ";", "if", "(", "!", "(", "MinSize", "&&", "HasDivide", ")", ")", "return", "SDValue", "(", ")", ";", "if", "(", "!", "ST", ".", "isThumb", "(", ")", ")", "return", "SDValue", "(", "N", ",", "0", ")", ";", "if", "(", "Divisor", ".", "sgt", "(", "128", ")", ")", "return", "SDValue", "(", ")", ";", "return", "SDValue", "(", "N", ",", "0", ")", ";", "}", ""], "natrual_language": ["Targets", "may", "override", "this", "function", "to", "provide", "custom", "SDIV", "lowering", "for", "power-of-2", "denominators", "."], "TS_V_token": ["ARM", "ARM", "ISD::SDIV", "ARM", "ARM", "0", "0", "128", "0"], "File": "ARMISelLowering93", "Func": "BuildSDIVPow2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11159, "Length": 167} {"ground_truth": ["", "bool", "canMergeStoresTo", "(", "unsigned", "AddressSpace", ",", "EVT", "MemVT", ",", "const", "MachineFunction", "&", "MF", ")", "const", "override", "{", "return", "(", "MemVT", ".", "getSizeInBits", "(", ")", "<=", "32", ")", ";", "}", ""], "natrual_language": ["Returns", "if", "it", "'s", "reasonable", "to", "merge", "stores", "to", "MemVT", "size", "."], "TS_V_token": ["ARM", "32"], "File": "ARMISelLowering", "Func": "canMergeStoresTo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11160, "Length": 29} {"ground_truth": ["", "bool", "convertSetCCLogicToBitwiseLogic", "(", "EVT", "VT", ")", "const", "override", "{", "return", "VT", ".", "isScalarInteger", "(", ")", ";", "}", ""], "natrual_language": ["Use", "bitwise", "logic", "to", "make", "pairs", "of", "compares", "more", "efficient", "."], "TS_V_token": ["ARM"], "File": "ARMISelLowering", "Func": "convertSetCCLogicToBitwiseLogic", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11161, "Length": 17} {"ground_truth": ["", "bool", "hasStandaloneRem", "(", "EVT", "VT", ")", "const", "override", "{", "return", "HasStandaloneRem", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "can", "handle", "a", "standalone", "remainder", "operation", "."], "TS_V_token": ["ARM"], "File": "ARMISelLowering", "Func": "hasStandaloneRem", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11162, "Length": 13} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "lowerInterleavedLoad", "(", "LoadInst", "*", "LI", ",", "ArrayRef", "<", "ShuffleVectorInst", "*", ">", "Shuffles", ",", "ArrayRef", "<", "unsigned", ">", "Indices", ",", "unsigned", "Factor", ")", "const", "{", "assert", "(", "Factor", ">=", "2", "&&", "Factor", "<=", "getMaxSupportedInterleaveFactor", "(", ")", "&&", "\"Invalid interleave factor\"", ")", ";", "assert", "(", "!", "Shuffles", ".", "empty", "(", ")", "&&", "\"Empty shufflevector input\"", ")", ";", "assert", "(", "Shuffles", ".", "size", "(", ")", "==", "Indices", ".", "size", "(", ")", "&&", "\"Unmatched number of shufflevectors and indices\"", ")", ";", "VectorType", "*", "VecTy", "=", "Shuffles", "[", "0", "]", "->", "getType", "(", ")", ";", "Type", "*", "EltTy", "=", "VecTy", "->", "getVectorElementType", "(", ")", ";", "const", "DataLayout", "&", "DL", "=", "LI", "->", "getModule", "(", ")", "->", "getDataLayout", "(", ")", ";", "unsigned", "VecSize", "=", "DL", ".", "getTypeAllocSizeInBits", "(", "VecTy", ")", ";", "bool", "EltIs64Bits", "=", "DL", ".", "getTypeAllocSizeInBits", "(", "EltTy", ")", "==", "64", ";", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", "||", "(", "VecSize", "!=", "64", "&&", "VecSize", "!=", "128", ")", "||", "EltIs64Bits", ")", "return", "false", ";", "if", "(", "EltTy", "->", "isPointerTy", "(", ")", ")", "VecTy", "=", "VectorType", "::", "get", "(", "DL", ".", "getIntPtrType", "(", "EltTy", ")", ",", "VecTy", "->", "getVectorNumElements", "(", ")", ")", ";", "static", "const", "Intrinsic", "::", "ID", "LoadInts", "[", "3", "]", "=", "{", "Intrinsic", "::", "arm_neon_vld2", ",", "Intrinsic", "::", "arm_neon_vld3", ",", "Intrinsic", "::", "arm_neon_vld4", "}", ";", "IRBuilder", "<", ">", "Builder", "(", "LI", ")", ";", "SmallVector", "<", "Value", "*", ",", "2", ">", "Ops", ";", "Type", "*", "Int8Ptr", "=", "Builder", ".", "getInt8PtrTy", "(", "LI", "->", "getPointerAddressSpace", "(", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "CreateBitCast", "(", "LI", "->", "getPointerOperand", "(", ")", ",", "Int8Ptr", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "getInt32", "(", "LI", "->", "getAlignment", "(", ")", ")", ")", ";", "Type", "*", "Tys", "[", "]", "=", "{", "VecTy", ",", "Int8Ptr", "}", ";", "Function", "*", "VldnFunc", "=", "Intrinsic", "::", "getDeclaration", "(", "LI", "->", "getModule", "(", ")", ",", "LoadInts", "[", "Factor", "-", "2", "]", ",", "Tys", ")", ";", "CallInst", "*", "VldN", "=", "Builder", ".", "CreateCall", "(", "VldnFunc", ",", "Ops", ",", "\"vldN\"", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Shuffles", ".", "size", "(", ")", ";", "i", "++", ")", "{", "ShuffleVectorInst", "*", "SV", "=", "Shuffles", "[", "i", "]", ";", "unsigned", "Index", "=", "Indices", "[", "i", "]", ";", "Value", "*", "SubVec", "=", "Builder", ".", "CreateExtractValue", "(", "VldN", ",", "Index", ")", ";", "if", "(", "EltTy", "->", "isPointerTy", "(", ")", ")", "SubVec", "=", "Builder", ".", "CreateIntToPtr", "(", "SubVec", ",", "SV", "->", "getType", "(", ")", ")", ";", "SV", "->", "replaceAllUsesWith", "(", "SubVec", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Lower", "interleaved", "load", "(", "s", ")", "into", "target", "specific", "instructions/intrinsics", "."], "TS_V_token": ["ARM", "ARM", "2", "\"Invalid interleave factor\"", "\"Empty shufflevector input\"", "\"Unmatched number of shufflevectors and indices\"", "0", "64", "64", "128", "Intrinsic::ID", "3", "Intrinsic::arm_neon_vld2", "Intrinsic::arm_neon_vld3", "Intrinsic::arm_neon_vld4", "2", "Intrinsic::getDeclaration", "2", "\"vldN\"", "0"], "File": "ARMISelLowering", "Func": "lowerInterleavedLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11163, "Length": 408} {"ground_truth": ["", "bool", "ARMTargetLowering", "::", "lowerInterleavedStore", "(", "StoreInst", "*", "SI", ",", "ShuffleVectorInst", "*", "SVI", ",", "unsigned", "Factor", ")", "const", "{", "assert", "(", "Factor", ">=", "2", "&&", "Factor", "<=", "getMaxSupportedInterleaveFactor", "(", ")", "&&", "\"Invalid interleave factor\"", ")", ";", "VectorType", "*", "VecTy", "=", "SVI", "->", "getType", "(", ")", ";", "assert", "(", "VecTy", "->", "getVectorNumElements", "(", ")", "%", "Factor", "==", "0", "&&", "\"Invalid interleaved store\"", ")", ";", "unsigned", "NumSubElts", "=", "VecTy", "->", "getVectorNumElements", "(", ")", "/", "Factor", ";", "Type", "*", "EltTy", "=", "VecTy", "->", "getVectorElementType", "(", ")", ";", "VectorType", "*", "SubVecTy", "=", "VectorType", "::", "get", "(", "EltTy", ",", "NumSubElts", ")", ";", "const", "DataLayout", "&", "DL", "=", "SI", "->", "getModule", "(", ")", "->", "getDataLayout", "(", ")", ";", "unsigned", "SubVecSize", "=", "DL", ".", "getTypeAllocSizeInBits", "(", "SubVecTy", ")", ";", "bool", "EltIs64Bits", "=", "DL", ".", "getTypeAllocSizeInBits", "(", "EltTy", ")", "==", "64", ";", "if", "(", "!", "Subtarget", "->", "hasNEON", "(", ")", "||", "(", "SubVecSize", "!=", "64", "&&", "SubVecSize", "!=", "128", ")", "||", "EltIs64Bits", ")", "return", "false", ";", "Value", "*", "Op0", "=", "SVI", "->", "getOperand", "(", "0", ")", ";", "Value", "*", "Op1", "=", "SVI", "->", "getOperand", "(", "1", ")", ";", "IRBuilder", "<", ">", "Builder", "(", "SI", ")", ";", "if", "(", "EltTy", "->", "isPointerTy", "(", ")", ")", "{", "Type", "*", "IntTy", "=", "DL", ".", "getIntPtrType", "(", "EltTy", ")", ";", "Type", "*", "IntVecTy", "=", "VectorType", "::", "get", "(", "IntTy", ",", "Op0", "->", "getType", "(", ")", "->", "getVectorNumElements", "(", ")", ")", ";", "Op0", "=", "Builder", ".", "CreatePtrToInt", "(", "Op0", ",", "IntVecTy", ")", ";", "Op1", "=", "Builder", ".", "CreatePtrToInt", "(", "Op1", ",", "IntVecTy", ")", ";", "SubVecTy", "=", "VectorType", "::", "get", "(", "IntTy", ",", "NumSubElts", ")", ";", "}", "static", "Intrinsic", "::", "ID", "StoreInts", "[", "3", "]", "=", "{", "Intrinsic", "::", "arm_neon_vst2", ",", "Intrinsic", "::", "arm_neon_vst3", ",", "Intrinsic", "::", "arm_neon_vst4", "}", ";", "SmallVector", "<", "Value", "*", ",", "6", ">", "Ops", ";", "Type", "*", "Int8Ptr", "=", "Builder", ".", "getInt8PtrTy", "(", "SI", "->", "getPointerAddressSpace", "(", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "CreateBitCast", "(", "SI", "->", "getPointerOperand", "(", ")", ",", "Int8Ptr", ")", ")", ";", "Type", "*", "Tys", "[", "]", "=", "{", "Int8Ptr", ",", "SubVecTy", "}", ";", "Function", "*", "VstNFunc", "=", "Intrinsic", "::", "getDeclaration", "(", "SI", "->", "getModule", "(", ")", ",", "StoreInts", "[", "Factor", "-", "2", "]", ",", "Tys", ")", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Factor", ";", "i", "++", ")", "Ops", ".", "push_back", "(", "Builder", ".", "CreateShuffleVector", "(", "Op0", ",", "Op1", ",", "getSequentialMask", "(", "Builder", ",", "NumSubElts", "*", "i", ",", "NumSubElts", ")", ")", ")", ";", "Ops", ".", "push_back", "(", "Builder", ".", "getInt32", "(", "SI", "->", "getAlignment", "(", ")", ")", ")", ";", "Builder", ".", "CreateCall", "(", "VstNFunc", ",", "Ops", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Lower", "interleaved", "store", "(", "s", ")", "into", "target", "specific", "instructions/intrinsics", "."], "TS_V_token": ["ARM", "ARM", "2", "\"Invalid interleave factor\"", "0", "\"Invalid interleaved store\"", "64", "64", "128", "0", "1", "Intrinsic::ID", "3", "Intrinsic::arm_neon_vst2", "Intrinsic::arm_neon_vst3", "Intrinsic::arm_neon_vst4", "6", "Intrinsic::getDeclaration", "2", "0"], "File": "ARMISelLowering", "Func": "lowerInterleavedStore", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11164, "Length": 427} {"ground_truth": ["", "bool", "preferZeroCompareBranch", "(", ")", "const", "override", "{", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "heuristic", "to", "prefer", "icmp", "eq", "zero", "should", "be", "used", "in", "code", "gen", "prepare", "."], "TS_V_token": ["ARM"], "File": "ARMISelLowering", "Func": "preferZeroCompareBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11165, "Length": 11} {"ground_truth": ["", "TargetLowering", "::", "AtomicExpansionKind", "ARMTargetLowering", "::", "shouldExpandAtomicLoadInIR", "(", "LoadInst", "*", "LI", ")", "const", "{", "unsigned", "Size", "=", "LI", "->", "getType", "(", ")", "->", "getPrimitiveSizeInBits", "(", ")", ";", "return", "(", "(", "Size", "==", "64", ")", "&&", "!", "Subtarget", "->", "isMClass", "(", ")", ")", "?", "AtomicExpansionKind", "::", "LLSC", ":", "AtomicExpansionKind", "::", "None", ";", "}", ""], "natrual_language": ["Returns", "how", "the", "given", "(", "atomic", ")", "load", "should", "be", "expanded", "by", "the", "IR-level", "AtomicExpand", "pass", "."], "TS_V_token": ["ARM", "ARM", "64"], "File": "ARMISelLowering", "Func": "shouldExpandAtomicLoadInIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11166, "Length": 51} {"ground_truth": ["", "bool", "shouldFormOverflowOp", "(", "unsigned", "Opcode", ",", "EVT", "VT", ",", "bool", "MathUsed", ")", "const", "override", "{", "return", "TargetLowering", "::", "shouldFormOverflowOp", "(", "Opcode", ",", "VT", ",", "true", ")", ";", "}", ""], "natrual_language": ["Overflow", "nodes", "should", "get", "combined/lowered", "to", "optimal", "instructions", "(", "they", "should", "allow", "eliminating", "explicit", "compares", "by", "getting", "flags", "from", "math", "ops", ")", "."], "TS_V_token": ["ARM"], "File": "ARMISelLowering", "Func": "shouldFormOverflowOp", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11167, "Length": 28} {"ground_truth": ["", "bool", "supportSplitCSR", "(", "MachineFunction", "*", "MF", ")", "const", "override", "{", "return", "MF", "->", "getFunction", "(", ")", ".", "getCallingConv", "(", ")", "==", "CallingConv", "::", "CXX_FAST_TLS", "&&", "MF", "->", "getFunction", "(", ")", ".", "hasFnAttribute", "(", "Attribute", "::", "NoUnwind", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "that", "a", "subset", "of", "CSRs", "for", "the", "given", "machine", "function", "is", "handled", "explicitly", "via", "copies", "."], "TS_V_token": ["ARM"], "File": "ARMISelLowering", "Func": "supportSplitCSR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11168, "Length": 39} {"ground_truth": ["", "bool", "supportSwiftError", "(", ")", "const", "override", "{", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "swifterror", "attribute", "."], "TS_V_token": ["ARM"], "File": "ARMISelLowering", "Func": "supportSwiftError", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11169, "Length": 11} {"ground_truth": ["", "void", "Initialize", "(", "const", "MachineFunction", "&", "MF", ",", "bool", "isPIC", ")", "{", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "ConstPoolId2AddrMap", ".", "resize", "(", "AFI", "->", "getNumConstPoolEntries", "(", ")", ")", ";", "JumpTableId2AddrMap", ".", "resize", "(", "AFI", "->", "getNumJumpTables", "(", ")", ")", ";", "IsPIC", "=", "isPIC", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMJITInfo1", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11170, "Length": 53} {"ground_truth": ["", "void", "Initialize", "(", "const", "MachineFunction", "&", "MF", ",", "bool", "isPIC", ")", "{", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "ConstPoolId2AddrMap", ".", "resize", "(", "AFI", "->", "getNumPICLabels", "(", ")", ")", ";", "JumpTableId2AddrMap", ".", "resize", "(", "AFI", "->", "getNumJumpTables", "(", ")", ")", ";", "IsPIC", "=", "isPIC", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMJITInfo4", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11171, "Length": 53} {"ground_truth": ["", "void", "ARMJITInfo", "::", "Initialize", "(", "const", "MachineFunction", "&", "MF", ",", "bool", "isPIC", ")", "{", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "ConstPoolId2AddrMap", ".", "resize", "(", "AFI", "->", "getNumPICLabels", "(", ")", ")", ";", "JumpTableId2AddrMap", ".", "resize", "(", "AFI", "->", "getNumJumpTables", "(", ")", ")", ";", "IsPIC", "=", "isPIC", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMJITInfo", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11172, "Length": 55} {"ground_truth": ["", "const", "ARMGOT", "&", "ARMGNULDBackend", "::", "getGOT", "(", ")", "const", "{", "assert", "(", "m_pGOT", "!=", "NULL", "&&", "\"GOT section not exist\"", ")", ";", "return", "*", "m_pGOT", ";", "}", ""], "natrual_language": ["Return", "a", "pseudo", "source", "value", "referencing", "the", "global", "offset", "table", "(", "or", "something", "the", "like", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"GOT section not exist\""], "File": "ARMLDBackend", "Func": "getGOT", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11173, "Length": 24} {"ground_truth": ["", "bool", "ARMLegalizerInfo", "::", "legalizeCustom", "(", "MachineInstr", "&", "MI", ",", "MachineRegisterInfo", "&", "MRI", ",", "MachineIRBuilder", "&", "MIRBuilder", ")", "const", "{", "using", "namespace", "TargetOpcode", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "G_SDIV", ":", "case", "G_UDIV", ":", "{", "LLT", "Ty", "=", "MRI", ".", "getType", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", ";", "if", "(", "Ty", "!=", "LLT", "::", "scalar", "(", "16", ")", "&&", "Ty", "!=", "LLT", "::", "scalar", "(", "8", ")", ")", "return", "false", ";", "LegalizerHelper", "Helper", "(", "MIRBuilder", ".", "getMF", "(", ")", ")", ";", "MachineInstr", "*", "NewMI", "=", "nullptr", ";", "Helper", ".", "MIRBuilder", ".", "recordInsertions", "(", "[", "&", "]", "(", "MachineInstr", "*", "MI", ")", "{", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "G_SDIV", "||", "MI", "->", "getOpcode", "(", ")", "==", "G_UDIV", ")", "NewMI", "=", "MI", ";", "}", ")", ";", "auto", "Result", "=", "Helper", ".", "widenScalar", "(", "MI", ",", "0", ",", "LLT", "::", "scalar", "(", "32", ")", ")", ";", "Helper", ".", "MIRBuilder", ".", "stopRecordingInsertions", "(", ")", ";", "if", "(", "Result", "==", "LegalizerHelper", "::", "UnableToLegalize", ")", "{", "return", "false", ";", "}", "assert", "(", "NewMI", "&&", "\"Couldn't find widened instruction\"", ")", ";", "assert", "(", "(", "NewMI", "->", "getOpcode", "(", ")", "==", "G_SDIV", "||", "NewMI", "->", "getOpcode", "(", ")", "==", "G_UDIV", ")", "&&", "\"Unexpected widened instruction\"", ")", ";", "assert", "(", "MRI", ".", "getType", "(", "NewMI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", ".", "getSizeInBits", "(", ")", "==", "32", "&&", "\"Unexpected type for the widened instruction\"", ")", ";", "Result", "=", "Helper", ".", "legalizeInstrStep", "(", "*", "NewMI", ")", ";", "if", "(", "Result", "==", "LegalizerHelper", "::", "UnableToLegalize", ")", "{", "return", "false", ";", "}", "return", "true", ";", "}", "}", "}", ""], "natrual_language": ["Called", "for", "instructions", "with", "the", "Custom", "LegalizationAction", "."], "TS_V_token": ["ARM", "ARM", "0", "16", "8", "0", "32", "\"Couldn't find widened instruction\"", "\"Unexpected widened instruction\"", "0", "32", "\"Unexpected type for the widened instruction\""], "File": "ARMLegalizerInfo27", "Func": "legalizeCustom", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11174, "Length": 268} {"ground_truth": ["", "bool", "ARMLegalizerInfo", "::", "legalizeCustom", "(", "MachineInstr", "&", "MI", ",", "MachineRegisterInfo", "&", "MRI", ",", "MachineIRBuilder", "&", "MIRBuilder", ")", "const", "{", "using", "namespace", "TargetOpcode", ";", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "return", "false", ";", "case", "G_SDIV", ":", "case", "G_UDIV", ":", "{", "LLT", "Ty", "=", "MRI", ".", "getType", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", ";", "if", "(", "Ty", "!=", "LLT", "::", "scalar", "(", "16", ")", "&&", "Ty", "!=", "LLT", "::", "scalar", "(", "8", ")", ")", "return", "false", ";", "LegalizerHelper", "Helper", "(", "MIRBuilder", ".", "getMF", "(", ")", ")", ";", "MachineInstr", "*", "NewMI", "=", "nullptr", ";", "Helper", ".", "MIRBuilder", ".", "recordInsertions", "(", "[", "&", "]", "(", "MachineInstr", "*", "MI", ")", "{", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "G_SDIV", "||", "MI", "->", "getOpcode", "(", ")", "==", "G_UDIV", ")", "NewMI", "=", "MI", ";", "}", ")", ";", "auto", "Result", "=", "Helper", ".", "widenScalar", "(", "MI", ",", "0", ",", "LLT", "::", "scalar", "(", "32", ")", ")", ";", "Helper", ".", "MIRBuilder", ".", "stopRecordingInsertions", "(", ")", ";", "if", "(", "Result", "==", "LegalizerHelper", "::", "UnableToLegalize", ")", "{", "return", "false", ";", "}", "assert", "(", "NewMI", "&&", "\"Couldn't find widened instruction\"", ")", ";", "assert", "(", "(", "NewMI", "->", "getOpcode", "(", ")", "==", "G_SDIV", "||", "NewMI", "->", "getOpcode", "(", ")", "==", "G_UDIV", ")", "&&", "\"Unexpected widened instruction\"", ")", ";", "assert", "(", "MRI", ".", "getType", "(", "NewMI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ")", ".", "getSizeInBits", "(", ")", "==", "32", "&&", "\"Unexpected type for the widened instruction\"", ")", ";", "Result", "=", "Helper", ".", "legalizeInstrStep", "(", "*", "NewMI", ")", ";", "if", "(", "Result", "==", "LegalizerHelper", "::", "UnableToLegalize", ")", "{", "return", "false", ";", "}", "return", "true", ";", "}", "case", "G_SREM", ":", "case", "G_UREM", ":", "{", "unsigned", "OriginalResult", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "auto", "Size", "=", "MRI", ".", "getType", "(", "OriginalResult", ")", ".", "getSizeInBits", "(", ")", ";", "if", "(", "Size", "!=", "32", ")", "return", "false", ";", "auto", "Libcall", "=", "MI", ".", "getOpcode", "(", ")", "==", "G_SREM", "?", "RTLIB", "::", "SDIVREM_I32", ":", "RTLIB", "::", "UDIVREM_I32", ";", "auto", "&", "Ctx", "=", "MIRBuilder", ".", "getMF", "(", ")", ".", "getFunction", "(", ")", "->", "getContext", "(", ")", ";", "Type", "*", "ArgTy", "=", "Type", "::", "getInt32Ty", "(", "Ctx", ")", ";", "StructType", "*", "RetTy", "=", "StructType", "::", "get", "(", "Ctx", ",", "{", "ArgTy", ",", "ArgTy", "}", ",", "true", ")", ";", "auto", "RetVal", "=", "MRI", ".", "createGenericVirtualRegister", "(", "getLLTForType", "(", "*", "RetTy", ",", "MIRBuilder", ".", "getMF", "(", ")", ".", "getDataLayout", "(", ")", ")", ")", ";", "auto", "Status", "=", "replaceWithLibcall", "(", "MI", ",", "MIRBuilder", ",", "Libcall", ",", "{", "RetVal", ",", "RetTy", "}", ",", "{", "{", "MI", ".", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ",", "ArgTy", "}", ",", "{", "MI", ".", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ",", "ArgTy", "}", "}", ")", ";", "if", "(", "Status", "!=", "LegalizerHelper", "::", "Legalized", ")", "return", "false", ";", "MIRBuilder", ".", "buildUnmerge", "(", "{", "MRI", ".", "createGenericVirtualRegister", "(", "LLT", "::", "scalar", "(", "32", ")", ")", ",", "OriginalResult", "}", ",", "RetVal", ")", ";", "return", "LegalizerHelper", "::", "Legalized", ";", "}", "}", "}", ""], "natrual_language": ["Called", "for", "instructions", "with", "the", "Custom", "LegalizationAction", "."], "TS_V_token": ["ARM", "ARM", "0", "16", "8", "0", "32", "\"Couldn't find widened instruction\"", "\"Unexpected widened instruction\"", "0", "32", "\"Unexpected type for the widened instruction\"", "0", "32", "1", "2", "32"], "File": "ARMLegalizerInfo3", "Func": "legalizeCustom", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11175, "Length": 493} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TD", "=", "&", "Fn", ".", "getDataLayout", "(", ")", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MF", "=", "&", "Fn", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MFI", ":", "Fn", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "&", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer (2)1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11176, "Length": 91} {"ground_truth": ["", "bool", "ARMLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "MF", "=", "&", "Fn", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "TL", "=", "STI", "->", "getTargetLowering", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "RegClassInfoValid", "=", "false", ";", "isThumb2", "=", "AFI", "->", "isThumb2Function", "(", ")", ";", "isThumb1", "=", "AFI", "->", "isThumbFunction", "(", ")", "&&", "!", "isThumb2", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "LoadStoreMultipleOpti", "(", "MBB", ")", ";", "if", "(", "STI", "->", "hasV5TOps", "(", ")", ")", "Modified", "|=", "MergeReturnIntoLDM", "(", "MBB", ")", ";", "if", "(", "isThumb1", ")", "Modified", "|=", "CombineMovBx", "(", "MBB", ")", ";", "}", "Allocator", ".", "DestroyAll", "(", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer (2)3", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11177, "Length": 175} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "ARM_PREALLOC_LOAD_STORE_OPT_NAME", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMLoadStoreOptimizer (2)", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11178, "Length": 13} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "AssumeMisalignedLoadStores", "||", "skipFunction", "(", "*", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "TD", "=", "&", "Fn", ".", "getDataLayout", "(", ")", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MF", "=", "&", "Fn", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MFI", ":", "Fn", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "&", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer (2)", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11179, "Length": 108} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "addRequired", "<", "AAResultsWrapperPass", ">", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMLoadStoreOptimizer10", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11180, "Length": 27} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "ARM_PREALLOC_LOAD_STORE_OPT_NAME", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMLoadStoreOptimizer10", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11181, "Length": 11} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "AssumeMisalignedLoadStores", "||", "skipFunction", "(", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "TD", "=", "&", "Fn", ".", "getDataLayout", "(", ")", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MF", "=", "&", "Fn", ";", "AA", "=", "&", "getAnalysis", "<", "AAResultsWrapperPass", ">", "(", ")", ".", "getAAResults", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MFI", ":", "Fn", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "&", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer10", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11182, "Length": 121} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"ARM pre- register allocation load / store optimization pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM pre- register allocation load / store optimization pass\""], "File": "ARMLoadStoreOptimizer11", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11183, "Length": 13} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TD", "=", "Fn", ".", "getTarget", "(", ")", ".", "getTargetData", "(", ")", ";", "TII", "=", "Fn", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "Fn", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "STI", "=", "&", "Fn", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MF", "=", "&", "Fn", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer11", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11184, "Length": 120} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TD", "=", "Fn", ".", "getTarget", "(", ")", ".", "getDataLayout", "(", ")", ";", "TII", "=", "Fn", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "Fn", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "STI", "=", "&", "Fn", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MF", "=", "&", "Fn", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer16", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11185, "Length": 120} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "addRequired", "<", "AAResultsWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "MachineDominatorTree", ">", "(", ")", ";", "AU", ".", "addPreserved", "<", "MachineDominatorTree", ">", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMLoadStoreOptimizer19", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11186, "Length": 45} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "AssumeMisalignedLoadStores", "||", "skipFunction", "(", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "TD", "=", "&", "Fn", ".", "getDataLayout", "(", ")", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "DT", "=", "&", "getAnalysis", "<", "MachineDominatorTree", ">", "(", ")", ";", "MF", "=", "&", "Fn", ";", "AA", "=", "&", "getAnalysis", "<", "AAResultsWrapperPass", ">", "(", ")", ".", "getAAResults", "(", ")", ";", "bool", "Modified", "=", "DistributeIncrements", "(", ")", ";", "for", "(", "MachineBasicBlock", "&", "MFI", ":", "Fn", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "&", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer19", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11187, "Length": 133} {"ground_truth": ["", "bool", "ARMLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "skipFunction", "(", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "MF", "=", "&", "Fn", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "TL", "=", "STI", "->", "getTargetLowering", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "RegClassInfoValid", "=", "false", ";", "isThumb2", "=", "AFI", "->", "isThumb2Function", "(", ")", ";", "isThumb1", "=", "AFI", "->", "isThumbFunction", "(", ")", "&&", "!", "isThumb2", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "{", "Modified", "|=", "LoadStoreMultipleOpti", "(", "MBB", ")", ";", "if", "(", "STI", "->", "hasV5TOps", "(", ")", ")", "Modified", "|=", "MergeReturnIntoLDM", "(", "MBB", ")", ";", "if", "(", "isThumb1", ")", "Modified", "|=", "CombineMovBx", "(", "MBB", ")", ";", "}", "Allocator", ".", "DestroyAll", "(", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer23", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11188, "Length": 162} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "AssumeMisalignedLoadStores", "||", "skipFunction", "(", "*", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "TD", "=", "&", "Fn", ".", "getDataLayout", "(", ")", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MF", "=", "&", "Fn", ";", "AA", "=", "&", "getAnalysis", "<", "AAResultsWrapperPass", ">", "(", ")", ".", "getAAResults", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MFI", ":", "Fn", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "&", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer24", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11189, "Length": 122} {"ground_truth": ["", "bool", "ARMLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "TargetMachine", "&", "TM", "=", "Fn", ".", "getTarget", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "TM", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "RS", "=", "new", "RegScavenger", "(", ")", ";", "isThumb2", "=", "AFI", "->", "isThumb2Function", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "LoadStoreMultipleOpti", "(", "MBB", ")", ";", "Modified", "|=", "MergeReturnIntoLDM", "(", "MBB", ")", ";", "}", "delete", "RS", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer25", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11190, "Length": 126} {"ground_truth": ["", "bool", "ARMLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "TargetMachine", "&", "TM", "=", "Fn", ".", "getTarget", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "TM", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "RS", "=", "new", "RegScavenger", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "LoadStoreMultipleOpti", "(", "MBB", ")", ";", "Modified", "|=", "MergeReturnIntoLDM", "(", "MBB", ")", ";", "}", "delete", "RS", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer27", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11191, "Length": 118} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM pre- register allocation load / store optimization pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM pre- register allocation load / store optimization pass\""], "File": "ARMLoadStoreOptimizer2", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11192, "Length": 13} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TD", "=", "Fn", ".", "getTarget", "(", ")", ".", "getDataLayout", "(", ")", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MF", "=", "&", "Fn", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer2", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11193, "Length": 113} {"ground_truth": ["", "bool", "ARMLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "TL", "=", "STI", "->", "getTargetLowering", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "RS", "=", "new", "RegScavenger", "(", ")", ";", "isThumb2", "=", "AFI", "->", "isThumb2Function", "(", ")", ";", "isThumb1", "=", "AFI", "->", "isThumbFunction", "(", ")", "&&", "!", "isThumb2", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "LoadStoreMultipleOpti", "(", "MBB", ")", ";", "if", "(", "STI", "->", "hasV5TOps", "(", ")", ")", "Modified", "|=", "MergeReturnIntoLDM", "(", "MBB", ")", ";", "}", "delete", "RS", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer31", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11194, "Length": 159} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TD", "=", "Fn", ".", "getTarget", "(", ")", ".", "getTargetData", "(", ")", ";", "TII", "=", "Fn", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "Fn", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "STI", "=", "&", "Fn", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer34", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11195, "Length": 115} {"ground_truth": ["", "bool", "ARMLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "TargetMachine", "&", "TM", "=", "Fn", ".", "getTarget", "(", ")", ";", "TL", "=", "TM", ".", "getTargetLowering", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "TM", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "STI", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "RS", "=", "new", "RegScavenger", "(", ")", ";", "isThumb2", "=", "AFI", "->", "isThumb2Function", "(", ")", ";", "isThumb1", "=", "AFI", "->", "isThumbFunction", "(", ")", "&&", "!", "isThumb2", ";", "if", "(", "isThumb1", ")", "{", "delete", "RS", ";", "return", "false", ";", "}", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "LoadStoreMultipleOpti", "(", "MBB", ")", ";", "if", "(", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "hasV5TOps", "(", ")", ")", "Modified", "|=", "MergeReturnIntoLDM", "(", "MBB", ")", ";", "}", "delete", "RS", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer35", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11196, "Length": 184} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TD", "=", "Fn", ".", "getSubtarget", "(", ")", ".", "getDataLayout", "(", ")", ";", "TII", "=", "Fn", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "Fn", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MF", "=", "&", "Fn", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer36", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11197, "Length": 121} {"ground_truth": ["", "bool", "ARMLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "skipFunction", "(", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "MF", "=", "&", "Fn", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "TL", "=", "STI", "->", "getTargetLowering", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "RegClassInfoValid", "=", "false", ";", "isThumb2", "=", "AFI", "->", "isThumb2Function", "(", ")", ";", "isThumb1", "=", "AFI", "->", "isThumbFunction", "(", ")", "&&", "!", "isThumb2", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "{", "Modified", "|=", "LoadStoreMultipleOpti", "(", "MBB", ")", ";", "if", "(", "STI", "->", "hasV5TOps", "(", ")", "&&", "!", "AFI", "->", "shouldSignReturnAddress", "(", ")", ")", "Modified", "|=", "MergeReturnIntoLDM", "(", "MBB", ")", ";", "if", "(", "isThumb1", ")", "Modified", "|=", "CombineMovBx", "(", "MBB", ")", ";", "}", "Allocator", ".", "DestroyAll", "(", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer38", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11198, "Length": 169} {"ground_truth": ["", "bool", "ARMLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "TargetMachine", "&", "TM", "=", "Fn", ".", "getTarget", "(", ")", ";", "TL", "=", "TM", ".", "getTargetLowering", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "TM", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "STI", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "RS", "=", "new", "RegScavenger", "(", ")", ";", "isThumb2", "=", "AFI", "->", "isThumb2Function", "(", ")", ";", "isThumb1", "=", "AFI", "->", "isThumbFunction", "(", ")", "&&", "!", "isThumb2", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "LoadStoreMultipleOpti", "(", "MBB", ")", ";", "if", "(", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "hasV5TOps", "(", ")", ")", "Modified", "|=", "MergeReturnIntoLDM", "(", "MBB", ")", ";", "}", "delete", "RS", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer48", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11199, "Length": 172} {"ground_truth": ["", "bool", "ARMLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "TargetMachine", "&", "TM", "=", "Fn", ".", "getTarget", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "TM", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "RS", "=", "new", "RegScavenger", "(", ")", ";", "isThumb2", "=", "AFI", "->", "isThumb2Function", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "LoadStoreMultipleOpti", "(", "MBB", ")", ";", "if", "(", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "hasV5TOps", "(", ")", ")", "Modified", "|=", "MergeReturnIntoLDM", "(", "MBB", ")", ";", "}", "delete", "RS", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer4", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11200, "Length": 141} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "AssumeMisalignedLoadStores", "||", "skipFunction", "(", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "TD", "=", "&", "Fn", ".", "getDataLayout", "(", ")", ";", "STI", "=", "&", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "DT", "=", "&", "getAnalysis", "<", "MachineDominatorTree", ">", "(", ")", ";", "MF", "=", "&", "Fn", ";", "AA", "=", "&", "getAnalysis", "<", "AAResultsWrapperPass", ">", "(", ")", ".", "getAAResults", "(", ")", ";", "bool", "Modified", "=", "DistributeIncrements", "(", ")", ";", "for", "(", "MachineBasicBlock", "&", "MFI", ":", "Fn", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "&", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer50", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11201, "Length": 128} {"ground_truth": ["", "virtual", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "addRequired", "<", "AAResultsWrapperPass", ">", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMLoadStoreOptimizer59", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11202, "Length": 28} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TD", "=", "Fn", ".", "getSubtarget", "(", ")", ".", "getDataLayout", "(", ")", ";", "TII", "=", "Fn", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "TRI", "=", "Fn", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "STI", "=", "&", "Fn", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MF", "=", "&", "Fn", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer76", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11203, "Length": 120} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "AssumeMisalignedLoadStores", ")", "return", "false", ";", "TD", "=", "&", "Fn", ".", "getDataLayout", "(", ")", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MF", "=", "&", "Fn", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MFI", ":", "Fn", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "&", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer9", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11204, "Length": 98} {"ground_truth": ["", "bool", "ARMPreAllocLoadStoreOpt", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TD", "=", "&", "Fn", ".", "getDataLayout", "(", ")", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "STI", "->", "getInstrInfo", "(", ")", ";", "TRI", "=", "STI", "->", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MF", "=", "&", "Fn", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "Modified", "|=", "RescheduleLoadStoreInstrs", "(", "MFI", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMLoadStoreOptimizer", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11205, "Length": 110} {"ground_truth": ["", "void", "addInst", "(", "MachineInstr", "*", "MI", ",", "SetVector", "<", "MachineInstr", "*", ">", "&", "Preds", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops: Adding predicated MI: \"", "<<", "*", "MI", ")", ";", "if", "(", "!", "Divergent", "&&", "!", "set_difference", "(", "Preds", ",", "PredicateThen", "->", "Predicates", ")", ".", "empty", "(", ")", ")", "{", "Divergent", "=", "&", "Insts", ".", "back", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\" - has divergent predicate: \"", "<<", "*", "Divergent", "->", "MI", ")", ";", "}", "Insts", ".", "emplace_back", "(", "MI", ",", "Preds", ")", ";", "assert", "(", "Insts", ".", "size", "(", ")", "<=", "4", "&&", "\"Too many instructions in VPT block!\"", ")", ";", "}", ""], "natrual_language": ["Add", "a", "new", "MCInst", "operand", "."], "TS_V_token": ["ARM", "\"ARM Loops: Adding predicated MI: \"", "\" - has divergent predicate: \"", "4", "\"Too many instructions in VPT block!\""], "File": "ARMLowOverheadLoops10", "Func": "addInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11206, "Length": 95} {"ground_truth": ["", "void", "dump", "(", ")", "const", "{", "if", "(", "Start", ")", "dbgs", "(", ")", "<<", "\"ARM Loops: Found Loop Start: \"", "<<", "*", "Start", ";", "if", "(", "Dec", ")", "dbgs", "(", ")", "<<", "\"ARM Loops: Found Loop Dec: \"", "<<", "*", "Dec", ";", "if", "(", "End", ")", "dbgs", "(", ")", "<<", "\"ARM Loops: Found Loop End: \"", "<<", "*", "End", ";", "if", "(", "VCTP", ")", "dbgs", "(", ")", "<<", "\"ARM Loops: Found VCTP: \"", "<<", "*", "VCTP", ";", "if", "(", "!", "FoundAllComponents", "(", ")", ")", "dbgs", "(", ")", "<<", "\"ARM Loops: Not a low-overhead loop.\\n\"", ";", "else", "if", "(", "!", "(", "Start", "&&", "Dec", "&&", "End", ")", ")", "dbgs", "(", ")", "<<", "\"ARM Loops: Failed to find all loop components.\\n\"", ";", "}", ""], "natrual_language": ["Dump", "the", "plan", "to", "stderr", "(", "for", "debugging", ")", "."], "TS_V_token": ["ARM", "\"ARM Loops: Found Loop Start: \"", "\"ARM Loops: Found Loop Dec: \"", "\"ARM Loops: Found Loop End: \"", "\"ARM Loops: Found VCTP: \"", "\"ARM Loops: Not a low-overhead loop.\\n\"", "\"ARM Loops: Failed to find all loop components.\\n\""], "File": "ARMLowOverheadLoops10", "Func": "dump", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11207, "Length": 90} {"ground_truth": ["", "bool", "ARMLowOverheadLoops", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "mf", ")", "{", "const", "ARMSubtarget", "&", "ST", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "mf", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "ST", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "MF", "=", "&", "mf", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops on \"", "<<", "MF", "->", "getName", "(", ")", "<<", "\" ------------- \\n\"", ")", ";", "MLI", "=", "&", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "RDA", "=", "&", "getAnalysis", "<", "ReachingDefAnalysis", ">", "(", ")", ";", "MF", "->", "getProperties", "(", ")", ".", "set", "(", "MachineFunctionProperties", "::", "Property", "::", "TracksLiveness", ")", ";", "MRI", "=", "&", "MF", "->", "getRegInfo", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "ST", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "ST", ".", "getRegisterInfo", "(", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "*", "MF", ")", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "BBUtils", "->", "adjustBBOffsetsAfter", "(", "&", "MF", "->", "front", "(", ")", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "ML", ":", "*", "MLI", ")", "{", "if", "(", "!", "ML", "->", "getParentLoop", "(", ")", ")", "Changed", "|=", "ProcessLoop", "(", "ML", ")", ";", "}", "Changed", "|=", "RevertNonLoops", "(", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"ARM Loops on \"", "\" ------------- \\n\"", "ARM", "ARM", "ARM"], "File": "ARMLowOverheadLoops10", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11208, "Length": 207} {"ground_truth": ["", "bool", "ARMLowOverheadLoops", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "!", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops on \"", "<<", "MF", ".", "getName", "(", ")", "<<", "\" ------------- \\n\"", ")", ";", "auto", "&", "MLI", "=", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "MF", ")", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "ML", ":", "MLI", ")", "{", "if", "(", "!", "ML", "->", "getParentLoop", "(", ")", ")", "Changed", "|=", "ProcessLoop", "(", "ML", ")", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"ARM Loops on \"", "\" ------------- \\n\"", "ARM", "ARM", "ARM"], "File": "ARMLowOverheadLoops16", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11209, "Length": 147} {"ground_truth": ["", "bool", "ARMLowOverheadLoops", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "mf", ")", "{", "const", "ARMSubtarget", "&", "ST", "=", "mf", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "ST", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "MF", "=", "&", "mf", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops on \"", "<<", "MF", "->", "getName", "(", ")", "<<", "\" ------------- \\n\"", ")", ";", "MLI", "=", "&", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "RDA", "=", "&", "getAnalysis", "<", "ReachingDefAnalysis", ">", "(", ")", ";", "MF", "->", "getProperties", "(", ")", ".", "set", "(", "MachineFunctionProperties", "::", "Property", "::", "TracksLiveness", ")", ";", "MRI", "=", "&", "MF", "->", "getRegInfo", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "ST", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "ST", ".", "getRegisterInfo", "(", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "*", "MF", ")", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "BBUtils", "->", "adjustBBOffsetsAfter", "(", "&", "MF", "->", "front", "(", ")", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "ML", ":", "*", "MLI", ")", "{", "if", "(", "ML", "->", "isOutermost", "(", ")", ")", "Changed", "|=", "ProcessLoop", "(", "ML", ")", ";", "}", "Changed", "|=", "RevertNonLoops", "(", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"ARM Loops on \"", "\" ------------- \\n\"", "ARM", "ARM", "ARM"], "File": "ARMLowOverheadLoops18", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11210, "Length": 201} {"ground_truth": ["", "bool", "ARMLowOverheadLoops", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "!", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops on \"", "<<", "MF", ".", "getName", "(", ")", "<<", "\" ------------- \\n\"", ")", ";", "auto", "&", "MLI", "=", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "MF", ")", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "BBUtils", "->", "adjustBBOffsetsAfter", "(", "&", "MF", ".", "front", "(", ")", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "ML", ":", "MLI", ")", "{", "if", "(", "!", "ML", "->", "getParentLoop", "(", ")", ")", "Changed", "|=", "ProcessLoop", "(", "ML", ")", ";", "}", "Changed", "|=", "RevertNonLoops", "(", "MF", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"ARM Loops on \"", "\" ------------- \\n\"", "ARM", "ARM", "ARM"], "File": "ARMLowOverheadLoops1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11211, "Length": 166} {"ground_truth": ["", "void", "addInst", "(", "MachineInstr", "*", "MI", ",", "SetVector", "<", "MachineInstr", "*", ">", "&", "Preds", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops: Adding predicated MI: \"", "<<", "*", "MI", ")", ";", "if", "(", "!", "Divergent", "&&", "!", "set_difference", "(", "Preds", ",", "VPST", "->", "Predicates", ")", ".", "empty", "(", ")", ")", "{", "Divergent", "=", "&", "Insts", ".", "back", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\" - has divergent predicate: \"", "<<", "*", "Divergent", "->", "MI", ")", ";", "}", "Insts", ".", "emplace_back", "(", "MI", ",", "Preds", ")", ";", "assert", "(", "Insts", ".", "size", "(", ")", "<=", "4", "&&", "\"Too many instructions in VPT block!\"", ")", ";", "}", ""], "natrual_language": ["Add", "a", "new", "MCInst", "operand", "."], "TS_V_token": ["ARM", "\"ARM Loops: Adding predicated MI: \"", "\" - has divergent predicate: \"", "4", "\"Too many instructions in VPT block!\""], "File": "ARMLowOverheadLoops20", "Func": "addInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11212, "Length": 95} {"ground_truth": ["", "static", "bool", "isValid", "(", "ReachingDefAnalysis", "&", "RDA", ")", "{", "for", "(", "auto", "&", "Block", ":", "Blocks", ")", "{", "if", "(", "isEntryPredicatedOnVCTP", "(", "Block", ",", "false", ")", "||", "hasImplicitlyValidVPT", "(", "Block", ",", "RDA", ")", ")", "continue", ";", "SmallVectorImpl", "<", "MachineInstr", "*", ">", "&", "Insts", "=", "Block", ".", "getInsts", "(", ")", ";", "for", "(", "auto", "*", "MI", ":", "Insts", ")", "{", "if", "(", "isVCTP", "(", "MI", ")", "&&", "getVPTInstrPredicate", "(", "*", "MI", ")", "!=", "ARMVCC", "::", "Then", ")", "return", "false", ";", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MVE_VPST", "||", "isVectorPredicate", "(", "MI", ")", ")", "continue", ";", "if", "(", "!", "isPredicatedOnVCTP", "(", "MI", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops: Can't convert: \"", "<<", "*", "MI", ")", ";", "return", "false", ";", "}", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "this", "iterator", "is", "still", "pointing", "at", "a", "valid", "entry", "."], "TS_V_token": ["ARM", "ARMVCC::Then", "ARM::MVE_VPST", "\"ARM Loops: Can't convert: \""], "File": "ARMLowOverheadLoops2", "Func": "isValid", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11213, "Length": 129} {"ground_truth": ["", "bool", "ARMLowOverheadLoops", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "mf", ")", "{", "const", "ARMSubtarget", "&", "ST", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "mf", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "ST", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "MF", "=", "&", "mf", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops on \"", "<<", "MF", "->", "getName", "(", ")", "<<", "\" ------------- \\n\"", ")", ";", "auto", "&", "MLI", "=", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "MF", "->", "getProperties", "(", ")", ".", "set", "(", "MachineFunctionProperties", "::", "Property", "::", "TracksLiveness", ")", ";", "MRI", "=", "&", "MF", "->", "getRegInfo", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "ST", ".", "getInstrInfo", "(", ")", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "*", "MF", ")", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "BBUtils", "->", "adjustBBOffsetsAfter", "(", "&", "MF", "->", "front", "(", ")", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "ML", ":", "MLI", ")", "{", "if", "(", "!", "ML", "->", "getParentLoop", "(", ")", ")", "Changed", "|=", "ProcessLoop", "(", "ML", ")", ";", "}", "Changed", "|=", "RevertNonLoops", "(", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"ARM Loops on \"", "\" ------------- \\n\"", "ARM", "ARM", "ARM"], "File": "ARMLowOverheadLoops35", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11214, "Length": 189} {"ground_truth": ["", "bool", "ARMLowOverheadLoops", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "mf", ")", "{", "const", "ARMSubtarget", "&", "ST", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "mf", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "ST", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "MF", "=", "&", "mf", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops on \"", "<<", "MF", "->", "getName", "(", ")", "<<", "\" ------------- \\n\"", ")", ";", "MLI", "=", "&", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "RDA", "=", "&", "getAnalysis", "<", "ReachingDefAnalysis", ">", "(", ")", ";", "MF", "->", "getProperties", "(", ")", ".", "set", "(", "MachineFunctionProperties", "::", "Property", "::", "TracksLiveness", ")", ";", "MRI", "=", "&", "MF", "->", "getRegInfo", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "ST", ".", "getInstrInfo", "(", ")", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "*", "MF", ")", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "BBUtils", "->", "adjustBBOffsetsAfter", "(", "&", "MF", "->", "front", "(", ")", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "ML", ":", "*", "MLI", ")", "{", "if", "(", "!", "ML", "->", "getParentLoop", "(", ")", ")", "Changed", "|=", "ProcessLoop", "(", "ML", ")", ";", "}", "Changed", "|=", "RevertNonLoops", "(", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"ARM Loops on \"", "\" ------------- \\n\"", "ARM", "ARM", "ARM"], "File": "ARMLowOverheadLoops38", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11215, "Length": 199} {"ground_truth": ["", "bool", "ARMLowOverheadLoops", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "!", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops on \"", "<<", "MF", ".", "getName", "(", ")", "<<", "\" ------------- \\n\"", ")", ";", "auto", "&", "MLI", "=", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "MF", ")", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "BBUtils", "->", "adjustBBOffsetsAfter", "(", "&", "MF", ".", "front", "(", ")", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "ML", ":", "MLI", ")", "{", "if", "(", "!", "ML", "->", "getParentLoop", "(", ")", ")", "Changed", "|=", "ProcessLoop", "(", "ML", ")", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"ARM Loops on \"", "\" ------------- \\n\"", "ARM", "ARM", "ARM"], "File": "ARMLowOverheadLoops9", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11216, "Length": 159} {"ground_truth": ["", "static", "void", "addInst", "(", "MachineInstr", "*", "MI", ")", "{", "Blocks", ".", "back", "(", ")", ".", "insert", "(", "MI", ")", ";", "PredicatedInsts", ".", "emplace", "(", "MI", ",", "std", "::", "make_unique", "<", "PredicatedMI", ">", "(", "MI", ",", "CurrentPredicates", ")", ")", ";", "}", ""], "natrual_language": ["Add", "a", "new", "MCInst", "operand", "."], "TS_V_token": ["ARM"], "File": "ARMLowOverheadLoops", "Func": "addInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11217, "Length": 40} {"ground_truth": ["", "static", "void", "addPredicate", "(", "MachineInstr", "*", "MI", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops: Adding VPT Predicate: \"", "<<", "*", "MI", ")", ";", "CurrentPredicates", ".", "insert", "(", "MI", ")", ";", "}", ""], "natrual_language": ["Adds", "a", "new", "predicate", "."], "TS_V_token": ["ARM", "\"ARM Loops: Adding VPT Predicate: \""], "File": "ARMLowOverheadLoops", "Func": "addPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11218, "Length": 29} {"ground_truth": ["", "void", "dump", "(", ")", "const", "{", "if", "(", "Start", ")", "dbgs", "(", ")", "<<", "\"ARM Loops: Found Loop Start: \"", "<<", "*", "Start", ";", "if", "(", "Dec", ")", "dbgs", "(", ")", "<<", "\"ARM Loops: Found Loop Dec: \"", "<<", "*", "Dec", ";", "if", "(", "End", ")", "dbgs", "(", ")", "<<", "\"ARM Loops: Found Loop End: \"", "<<", "*", "End", ";", "if", "(", "!", "VCTPs", ".", "empty", "(", ")", ")", "{", "dbgs", "(", ")", "<<", "\"ARM Loops: Found VCTP(s):\\n\"", ";", "for", "(", "auto", "*", "MI", ":", "VCTPs", ")", "dbgs", "(", ")", "<<", "\" - \"", "<<", "*", "MI", ";", "}", "if", "(", "!", "FoundAllComponents", "(", ")", ")", "dbgs", "(", ")", "<<", "\"ARM Loops: Not a low-overhead loop.\\n\"", ";", "else", "if", "(", "!", "(", "Start", "&&", "Dec", "&&", "End", ")", ")", "dbgs", "(", ")", "<<", "\"ARM Loops: Failed to find all loop components.\\n\"", ";", "}", ""], "natrual_language": ["Dump", "the", "plan", "to", "stderr", "(", "for", "debugging", ")", "."], "TS_V_token": ["ARM", "\"ARM Loops: Found Loop Start: \"", "\"ARM Loops: Found Loop Dec: \"", "\"ARM Loops: Found Loop End: \"", "\"ARM Loops: Found VCTP(s):\\n\"", "\" - \"", "\"ARM Loops: Not a low-overhead loop.\\n\"", "\"ARM Loops: Failed to find all loop components.\\n\""], "File": "ARMLowOverheadLoops", "Func": "dump", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11219, "Length": 111} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "setPreservesCFG", "(", ")", ";", "AU", ".", "addRequired", "<", "MachineLoopInfo", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "ReachingDefAnalysis", ">", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMLowOverheadLoops", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11220, "Length": 42} {"ground_truth": ["", "const", "SmallVectorImpl", "<", "MachineBasicBlock", "*", ">", "&", "getOrder", "(", ")", "const", "{", "return", "Order", ";", "}", ""], "natrual_language": ["Returns", "the", "SDNodeOrder", "."], "TS_V_token": ["ARM"], "File": "ARMLowOverheadLoops", "Func": "getOrder", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11221, "Length": 16} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "ARM_LOW_OVERHEAD_LOOPS_NAME", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMLowOverheadLoops", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11222, "Length": 11} {"ground_truth": ["", "void", "insert", "(", "MachineInstr", "*", "MI", ")", "{", "Insts", ".", "push_back", "(", "MI", ")", ";", "assert", "(", "Insts", ".", "size", "(", ")", "<=", "5", "&&", "\"Too many instructions in VPT block!\"", ")", ";", "}", ""], "natrual_language": ["insert", "-", "Append", "entry", "to", "the", "vector", "if", "it", "does", "n't", "already", "exist", "."], "TS_V_token": ["ARM", "5", "\"Too many instructions in VPT block!\""], "File": "ARMLowOverheadLoops", "Func": "insert", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11223, "Length": 29} {"ground_truth": ["", "static", "bool", "isValid", "(", "ReachingDefAnalysis", "&", "RDA", ")", "{", "for", "(", "auto", "&", "Block", ":", "Blocks", ")", "{", "if", "(", "isEntryPredicatedOnVCTP", "(", "Block", ",", "false", ")", "||", "hasImplicitlyValidVPT", "(", "Block", ",", "RDA", ")", ")", "continue", ";", "SmallVectorImpl", "<", "MachineInstr", "*", ">", "&", "Insts", "=", "Block", ".", "getInsts", "(", ")", ";", "assert", "(", "isVPTOpcode", "(", "Insts", ".", "front", "(", ")", "->", "getOpcode", "(", ")", ")", "&&", "\"Expected VPT block to start with a VPST or VPT!\"", ")", ";", "if", "(", "Insts", ".", "size", "(", ")", "==", "2", "&&", "Insts", ".", "front", "(", ")", "->", "getOpcode", "(", ")", "!=", "ARM", "::", "MVE_VPST", "&&", "isVCTP", "(", "Insts", ".", "back", "(", ")", ")", ")", "return", "false", ";", "for", "(", "auto", "*", "MI", ":", "Insts", ")", "{", "if", "(", "isVCTP", "(", "MI", ")", "&&", "getVPTInstrPredicate", "(", "*", "MI", ")", "!=", "ARMVCC", "::", "Then", ")", "return", "false", ";", "if", "(", "MI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "MVE_VPST", "||", "isVectorPredicate", "(", "MI", ")", ")", "continue", ";", "if", "(", "!", "isPredicatedOnVCTP", "(", "MI", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops: Can't convert: \"", "<<", "*", "MI", ")", ";", "return", "false", ";", "}", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "this", "iterator", "is", "still", "pointing", "at", "a", "valid", "entry", "."], "TS_V_token": ["ARM", "\"Expected VPT block to start with a VPST or VPT!\"", "2", "ARM::MVE_VPST", "ARMVCC::Then", "ARM::MVE_VPST", "\"ARM Loops: Can't convert: \""], "File": "ARMLowOverheadLoops", "Func": "isValid", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11224, "Length": 183} {"ground_truth": ["", "static", "void", "reset", "(", ")", "{", "Blocks", ".", "clear", "(", ")", ";", "PredicatedInsts", ".", "clear", "(", ")", ";", "CurrentPredicates", ".", "clear", "(", ")", ";", "}", ""], "natrual_language": ["Reset", "an", "existing", "scalar", "value", "for", "Def", "and", "a", "given", "Instance", "."], "TS_V_token": ["ARM"], "File": "ARMLowOverheadLoops", "Func": "reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11225, "Length": 25} {"ground_truth": ["", "bool", "ARMLowOverheadLoops", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "mf", ")", "{", "const", "ARMSubtarget", "&", "ST", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "mf", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "ST", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "MF", "=", "&", "mf", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM Loops on \"", "<<", "MF", "->", "getName", "(", ")", "<<", "\" ------------- \\n\"", ")", ";", "MLI", "=", "&", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "RDA", "=", "&", "getAnalysis", "<", "ReachingDefAnalysis", ">", "(", ")", ";", "MF", "->", "getProperties", "(", ")", ".", "set", "(", "MachineFunctionProperties", "::", "Property", "::", "TracksLiveness", ")", ";", "MRI", "=", "&", "MF", "->", "getRegInfo", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "ST", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "ST", ".", "getRegisterInfo", "(", ")", ";", "BBUtils", "=", "std", "::", "unique_ptr", "<", "ARMBasicBlockUtils", ">", "(", "new", "ARMBasicBlockUtils", "(", "*", "MF", ")", ")", ";", "BBUtils", "->", "computeAllBlockSizes", "(", ")", ";", "BBUtils", "->", "adjustBBOffsetsAfter", "(", "&", "MF", "->", "front", "(", ")", ")", ";", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "ML", ":", "*", "MLI", ")", "{", "if", "(", "ML", "->", "isOutermost", "(", ")", ")", "Changed", "|=", "ProcessLoop", "(", "ML", ")", ";", "}", "Changed", "|=", "RevertNonLoops", "(", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"ARM Loops on \"", "\" ------------- \\n\"", "ARM", "ARM", "ARM"], "File": "ARMLowOverheadLoops", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11226, "Length": 206} {"ground_truth": ["", "unsigned", "size", "(", ")", "const", "{", "return", "Insts", ".", "size", "(", ")", ";", "}", ""], "natrual_language": ["The", "number", "of", "name/type", "pairs", "is", "returned", "."], "TS_V_token": ["ARM"], "File": "ARMLowOverheadLoops", "Func": "size", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11227, "Length": 14} {"ground_truth": ["", "void", "markGlobalAsPromotedToConstantPool", "(", "const", "GlobalVariable", "*", "GV", ")", "{", "PromotedGlobals", ".", "insert", "(", "GV", ")", ";", "}", ""], "natrual_language": ["Indicate", "to", "the", "backend", "that", "GV", "has", "had", "its", "storage", "changed", "to", "inside", "a", "constant", "pool", "."], "TS_V_token": ["ARM"], "File": "ARMMachineFunctionInfo (2)1", "Func": "markGlobalAsPromotedToConstantPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11228, "Length": 17} {"ground_truth": ["", "unsigned", "getAlign", "(", ")", "const", "{", "return", "Align", ";", "}", ""], "natrual_language": ["Return", "the", "minimum", "known", "alignment", "in", "bytes", "of", "the", "actual", "memory", "reference", "."], "TS_V_token": ["ARM"], "File": "ARMMachineFunctionInfo10", "Func": "getAlign", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11229, "Length": 10} {"ground_truth": ["", "unsigned", "getGlobalBaseReg", "(", ")", "const", "{", "return", "GlobalBaseReg", ";", "}", ""], "natrual_language": ["getGlobalBaseReg", "-", "Return", "a", "virtual", "register", "initialized", "with", "the", "the", "global", "base", "register", "value", "."], "TS_V_token": ["ARM"], "File": "ARMMachineFunctionInfo", "Func": "getGlobalBaseReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11230, "Length": 10} {"ground_truth": ["", "const", "MCExpr", "*", "createExprForCAPIVariantKind", "(", "const", "MCExpr", "*", "SubExpr", ",", "unsigned", "VariantKind", ")", "override", "{", "switch", "(", "VariantKind", ")", "{", "case", "LLVMDisassembler_VariantKind_ARM_HI16", ":", "return", "ARMMCExpr", "::", "createUpper16", "(", "SubExpr", ",", "Ctx", ")", ";", "case", "LLVMDisassembler_VariantKind_ARM_LO16", ":", "return", "ARMMCExpr", "::", "createLower16", "(", "SubExpr", ",", "Ctx", ")", ";", "default", ":", "return", "MCRelocationInfo", "::", "createExprForCAPIVariantKind", "(", "SubExpr", ",", "VariantKind", ")", ";", "}", "}", ""], "natrual_language": ["Create", "an", "MCExpr", "for", "the", "target-specific", "VariantKind", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMMachORelocationInfo1", "Func": "createExprForCAPIVariantKind", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11231, "Length": 60} {"ground_truth": ["", "const", "MCExpr", "*", "createExprForCAPIVariantKind", "(", "const", "MCExpr", "*", "SubExpr", ",", "unsigned", "VariantKind", ")", "override", "{", "switch", "(", "VariantKind", ")", "{", "case", "LLVMDisassembler_VariantKind_ARM_HI16", ":", "return", "ARMMCExpr", "::", "CreateUpper16", "(", "SubExpr", ",", "Ctx", ")", ";", "case", "LLVMDisassembler_VariantKind_ARM_LO16", ":", "return", "ARMMCExpr", "::", "CreateLower16", "(", "SubExpr", ",", "Ctx", ")", ";", "default", ":", "return", "MCRelocationInfo", "::", "createExprForCAPIVariantKind", "(", "SubExpr", ",", "VariantKind", ")", ";", "}", "}", ""], "natrual_language": ["Create", "an", "MCExpr", "for", "the", "target-specific", "VariantKind", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMMachORelocationInfo6", "Func": "createExprForCAPIVariantKind", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11232, "Length": 60} {"ground_truth": ["", "Expected", "<", "const", "MCExpr", "*", ">", "createExprForCAPIVariantKind", "(", "const", "MCExpr", "*", "SubExpr", ",", "unsigned", "VariantKind", ")", "override", "{", "switch", "(", "VariantKind", ")", "{", "case", "LLVMDisassembler_VariantKind_ARM_HI16", ":", "return", "ARMMCExpr", "::", "createUpper16", "(", "SubExpr", ",", "Ctx", ")", ";", "case", "LLVMDisassembler_VariantKind_ARM_LO16", ":", "return", "ARMMCExpr", "::", "createLower16", "(", "SubExpr", ",", "Ctx", ")", ";", "default", ":", "return", "MCRelocationInfo", "::", "createExprForCAPIVariantKind", "(", "SubExpr", ",", "VariantKind", ")", ";", "}", "}", ""], "natrual_language": ["Create", "an", "MCExpr", "for", "the", "target-specific", "VariantKind", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMMachORelocationInfo", "Func": "createExprForCAPIVariantKind", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11233, "Length": 63} {"ground_truth": ["", "void", "ARMELFMCAsmInfo", "::", "setUseIntegratedAssembler", "(", "bool", "Value", ")", "{", "UseIntegratedAssembler", "=", "Value", ";", "if", "(", "!", "UseIntegratedAssembler", ")", "{", "DwarfRegNumForCFI", "=", "true", ";", "}", "}", ""], "natrual_language": ["Set", "whether", "assembly", "(", "inline", "or", "otherwise", ")", "should", "be", "parsed", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMMCAsmInfo (2)", "Func": "setUseIntegratedAssembler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11234, "Length": 25} {"ground_truth": ["", "uint32_t", "ARMMCCodeEmitter", "::", "getBranchTargetOpValue", "(", "const", "MCInst", "&", "MI", ",", "unsigned", "OpIdx", ",", "SmallVectorImpl", "<", "MCFixup", ">", "&", "Fixups", ")", "const", "{", "if", "(", "isThumb2", "(", ")", ")", "return", "::", "getBranchTargetOpValue", "(", "MI", ",", "OpIdx", ",", "ARM", "::", "fixup_t2_condbranch", ",", "Fixups", ")", ";", "return", "getARMBranchTargetOpValue", "(", "MI", ",", "OpIdx", ",", "Fixups", ")", ";", "}", ""], "natrual_language": ["getBranchTargetOpValue", "-", "Return", "binary", "encoding", "of", "the", "branch", "target", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::fixup_t2_condbranch", "ARM"], "File": "ARMMCCodeEmitter10", "Func": "getBranchTargetOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11235, "Length": 54} {"ground_truth": ["", "unsigned", "ARMMCCodeEmitter", "::", "getMachineOpValue", "(", "const", "MCInst", "&", "MI", ",", "const", "MCOperand", "&", "MO", ",", "SmallVectorImpl", "<", "MCFixup", ">", "&", "Fixups", ")", "const", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "{", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "unsigned", "RegNo", "=", "getARMRegisterNumbering", "(", "Reg", ")", ";", "switch", "(", "Reg", ")", "{", "default", ":", "return", "RegNo", ";", "case", "ARM", "::", "Q0", ":", "case", "ARM", "::", "Q1", ":", "case", "ARM", "::", "Q2", ":", "case", "ARM", "::", "Q3", ":", "case", "ARM", "::", "Q4", ":", "case", "ARM", "::", "Q5", ":", "case", "ARM", "::", "Q6", ":", "case", "ARM", "::", "Q7", ":", "case", "ARM", "::", "Q8", ":", "case", "ARM", "::", "Q9", ":", "case", "ARM", "::", "Q10", ":", "case", "ARM", "::", "Q11", ":", "case", "ARM", "::", "Q12", ":", "case", "ARM", "::", "Q13", ":", "case", "ARM", "::", "Q14", ":", "case", "ARM", "::", "Q15", ":", "return", "2", "*", "RegNo", ";", "}", "}", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "}", "else", "if", "(", "MO", ".", "isFPImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "APFloat", "(", "MO", ".", "getFPImm", "(", ")", ")", ".", "bitcastToAPInt", "(", ")", ".", "getHiBits", "(", "32", ")", ".", "getLimitedValue", "(", ")", ")", ";", "}", "llvm_unreachable", "(", "\"Unable to encode MCOperand!\"", ")", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::Q0", "ARM::Q1", "ARM::Q2", "ARM::Q3", "ARM::Q4", "ARM::Q5", "ARM::Q6", "ARM::Q7", "ARM::Q8", "ARM::Q9", "ARM::Q10", "ARM::Q11", "ARM::Q12", "ARM::Q13", "ARM::Q14", "ARM::Q15", "2", "32", "\"Unable to encode MCOperand!\""], "File": "ARMMCCodeEmitter10", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11236, "Length": 217} {"ground_truth": ["", "void", "ARMMCCodeEmitter", "::", "encodeInstruction", "(", "const", "MCInst", "&", "MI", ",", "raw_ostream", "&", "OS", ",", "SmallVectorImpl", "<", "MCFixup", ">", "&", "Fixups", ",", "const", "MCSubtargetInfo", "&", "STI", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MCII", ".", "get", "(", "MI", ".", "getOpcode", "(", ")", ")", ";", "uint64_t", "TSFlags", "=", "Desc", ".", "TSFlags", ";", "if", "(", "(", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "==", "ARMII", "::", "Pseudo", ")", "return", ";", "int", "Size", ";", "if", "(", "Desc", ".", "getSize", "(", ")", "==", "2", "||", "Desc", ".", "getSize", "(", ")", "==", "4", ")", "Size", "=", "Desc", ".", "getSize", "(", ")", ";", "else", "llvm_unreachable", "(", "\"Unexpected instruction size!\"", ")", ";", "uint32_t", "Binary", "=", "getBinaryCodeForInstr", "(", "MI", ",", "Fixups", ",", "STI", ")", ";", "if", "(", "isThumb", "(", "STI", ")", "&&", "Size", "==", "4", ")", "{", "EmitConstant", "(", "Binary", ">>", "16", ",", "2", ",", "OS", ")", ";", "EmitConstant", "(", "Binary", "&", "0xffff", ",", "2", ",", "OS", ")", ";", "}", "else", "EmitConstant", "(", "Binary", ",", "Size", ",", "OS", ")", ";", "++", "MCNumEmitted", ";", "}", ""], "natrual_language": ["Encode", "the", "given", "Inst", "to", "bytes", "and", "append", "to", "CB", "."], "TS_V_token": ["ARM", "ARM", "ARMII::FormMask", "ARMII::Pseudo", "2", "4", "\"Unexpected instruction size!\"", "4", "16", "2", "0xffff", "2"], "File": "ARMMCCodeEmitter11", "Func": "encodeInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11237, "Length": 163} {"ground_truth": ["", "static", "uint32_t", "getBranchTargetOpValue", "(", "const", "MCInst", "&", "MI", ",", "unsigned", "OpIdx", ",", "unsigned", "FixupKind", ",", "SmallVectorImpl", "<", "MCFixup", ">", "&", "Fixups", ",", "const", "MCSubtargetInfo", "&", "STI", ")", "{", "const", "MCOperand", "&", "MO", "=", "MI", ".", "getOperand", "(", "OpIdx", ")", ";", "if", "(", "MO", ".", "isImm", "(", ")", ")", "return", "MO", ".", "getImm", "(", ")", ";", "assert", "(", "MO", ".", "isExpr", "(", ")", "&&", "\"Unexpected branch target type!\"", ")", ";", "const", "MCExpr", "*", "Expr", "=", "MO", ".", "getExpr", "(", ")", ";", "MCFixupKind", "Kind", "=", "MCFixupKind", "(", "FixupKind", ")", ";", "Fixups", ".", "push_back", "(", "MCFixup", "::", "create", "(", "0", ",", "Expr", ",", "Kind", ",", "MI", ".", "getLoc", "(", ")", ")", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["getBranchTargetOpValue", "-", "Return", "binary", "encoding", "of", "the", "branch", "target", "operand", "."], "TS_V_token": ["ARM", "\"Unexpected branch target type!\"", "0", "0"], "File": "ARMMCCodeEmitter11", "Func": "getBranchTargetOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11238, "Length": 111} {"ground_truth": ["", "bool", "isThumb", "(", "const", "MCSubtargetInfo", "&", "STI", ")", "const", "{", "return", "STI", ".", "getFeatureBits", "(", ")", "[", "ARM", "::", "ModeThumb", "]", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "is", "Thumb", "(", "little", "and", "big", "endian", ")", "."], "TS_V_token": ["ARM", "ARM::ModeThumb"], "File": "ARMMCCodeEmitter11", "Func": "isThumb", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11239, "Length": 23} {"ground_truth": ["", "uint32_t", "ARMMCCodeEmitter", "::", "getBranchTargetOpValue", "(", "const", "MCInst", "&", "MI", ",", "unsigned", "OpIdx", ",", "SmallVectorImpl", "<", "MCFixup", ">", "&", "Fixups", ")", "const", "{", "const", "ARMSubtarget", "&", "Subtarget", "=", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", ")", "return", "::", "getBranchTargetOpValue", "(", "MI", ",", "OpIdx", ",", "ARM", "::", "fixup_t2_branch", ",", "Fixups", ")", ";", "return", "::", "getBranchTargetOpValue", "(", "MI", ",", "OpIdx", ",", "ARM", "::", "fixup_arm_branch", ",", "Fixups", ")", ";", "}", ""], "natrual_language": ["getBranchTargetOpValue", "-", "Return", "binary", "encoding", "of", "the", "branch", "target", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::fixup_t2_branch", "ARM::fixup_arm_branch"], "File": "ARMMCCodeEmitter13", "Func": "getBranchTargetOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11240, "Length": 75} {"ground_truth": ["", "const", "MCFixupKindInfo", "&", "getFixupKindInfo", "(", "MCFixupKind", "Kind", ")", "const", "{", "const", "static", "MCFixupKindInfo", "Infos", "[", "]", "=", "{", "{", "\"fixup_arm_ldst_pcrel_12\"", ",", "1", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_ldst_pcrel_12\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAligned", "}", ",", "{", "\"fixup_arm_pcrel_10\"", ",", "1", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_pcrel_10\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_adr_pcrel_12\"", ",", "1", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_branch\"", ",", "1", ",", "24", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_t2_branch\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "|", "MCFixupKindInfo", "::", "FKF_IsAligned", "}", ",", "{", "\"fixup_arm_thumb_bl\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_blx\"", ",", "0", ",", "32", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cb\"", ",", "0", ",", "16", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_thumb_cp\"", ",", "1", ",", "8", ",", "MCFixupKindInfo", "::", "FKF_IsPCRel", "}", ",", "{", "\"fixup_arm_movt_hi16\"", ",", "0", ",", "16", ",", "0", "}", ",", "{", "\"fixup_arm_movw_lo16\"", ",", "0", ",", "16", ",", "0", "}", ",", "}", ";", "if", "(", "Kind", "<", "FirstTargetFixupKind", ")", "return", "MCCodeEmitter", "::", "getFixupKindInfo", "(", "Kind", ")", ";", "assert", "(", "unsigned", "(", "Kind", "-", "FirstTargetFixupKind", ")", "<", "getNumFixupKinds", "(", ")", "&&", "\"Invalid kind!\"", ")", ";", "return", "Infos", "[", "Kind", "-", "FirstTargetFixupKind", "]", ";", "}", ""], "natrual_language": ["Get", "information", "on", "a", "fixup", "kind", "."], "TS_V_token": ["ARM", "\"fixup_arm_ldst_pcrel_12\"", "1", "24", "\"fixup_t2_ldst_pcrel_12\"", "0", "32", "\"fixup_arm_pcrel_10\"", "1", "24", "\"fixup_t2_pcrel_10\"", "0", "32", "\"fixup_arm_adr_pcrel_12\"", "1", "24", "\"fixup_arm_branch\"", "1", "24", "\"fixup_t2_branch\"", "0", "32", "\"fixup_arm_thumb_bl\"", "0", "32", "\"fixup_arm_thumb_blx\"", "0", "32", "\"fixup_arm_thumb_cb\"", "0", "16", "\"fixup_arm_thumb_cp\"", "1", "8", "\"fixup_arm_movt_hi16\"", "0", "16", "0", "\"fixup_arm_movw_lo16\"", "0", "16", "0", "\"Invalid kind!\""], "File": "ARMMCCodeEmitter13", "Func": "getFixupKindInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11241, "Length": 219} {"ground_truth": ["", "unsigned", "ARMMCCodeEmitter", "::", "getMachineOpValue", "(", "const", "MCInst", "&", "MI", ",", "const", "MCOperand", "&", "MO", ",", "SmallVectorImpl", "<", "MCFixup", ">", "&", "Fixups", ")", "const", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "{", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "unsigned", "RegNo", "=", "getARMRegisterNumbering", "(", "Reg", ")", ";", "switch", "(", "Reg", ")", "{", "default", ":", "return", "RegNo", ";", "case", "ARM", "::", "Q0", ":", "case", "ARM", "::", "Q1", ":", "case", "ARM", "::", "Q2", ":", "case", "ARM", "::", "Q3", ":", "case", "ARM", "::", "Q4", ":", "case", "ARM", "::", "Q5", ":", "case", "ARM", "::", "Q6", ":", "case", "ARM", "::", "Q7", ":", "case", "ARM", "::", "Q8", ":", "case", "ARM", "::", "Q9", ":", "case", "ARM", "::", "Q10", ":", "case", "ARM", "::", "Q11", ":", "case", "ARM", "::", "Q12", ":", "case", "ARM", "::", "Q13", ":", "case", "ARM", "::", "Q14", ":", "case", "ARM", "::", "Q15", ":", "return", "2", "*", "RegNo", ";", "}", "}", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "}", "else", "if", "(", "MO", ".", "isFPImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "APFloat", "(", "MO", ".", "getFPImm", "(", ")", ")", ".", "bitcastToAPInt", "(", ")", ".", "getHiBits", "(", "32", ")", ".", "getLimitedValue", "(", ")", ")", ";", "}", "llvm_unreachable", "(", "\"Unable to encode MCOperand!\"", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::Q0", "ARM::Q1", "ARM::Q2", "ARM::Q3", "ARM::Q4", "ARM::Q5", "ARM::Q6", "ARM::Q7", "ARM::Q8", "ARM::Q9", "ARM::Q10", "ARM::Q11", "ARM::Q12", "ARM::Q13", "ARM::Q14", "ARM::Q15", "2", "32", "\"Unable to encode MCOperand!\"", "0"], "File": "ARMMCCodeEmitter13", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11242, "Length": 220} {"ground_truth": ["", "unsigned", "ARMMCCodeEmitter", "::", "getMachineOpValue", "(", "const", "MCInst", "&", "MI", ",", "const", "MCOperand", "&", "MO", ",", "SmallVectorImpl", "<", "MCFixup", ">", "&", "Fixups", ")", "const", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "{", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "unsigned", "RegNo", "=", "CTX", ".", "getRegisterInfo", "(", ")", ".", "getEncodingValue", "(", "Reg", ")", ";", "switch", "(", "Reg", ")", "{", "default", ":", "return", "RegNo", ";", "case", "ARM", "::", "Q0", ":", "case", "ARM", "::", "Q1", ":", "case", "ARM", "::", "Q2", ":", "case", "ARM", "::", "Q3", ":", "case", "ARM", "::", "Q4", ":", "case", "ARM", "::", "Q5", ":", "case", "ARM", "::", "Q6", ":", "case", "ARM", "::", "Q7", ":", "case", "ARM", "::", "Q8", ":", "case", "ARM", "::", "Q9", ":", "case", "ARM", "::", "Q10", ":", "case", "ARM", "::", "Q11", ":", "case", "ARM", "::", "Q12", ":", "case", "ARM", "::", "Q13", ":", "case", "ARM", "::", "Q14", ":", "case", "ARM", "::", "Q15", ":", "return", "2", "*", "RegNo", ";", "}", "}", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "}", "else", "if", "(", "MO", ".", "isFPImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "APFloat", "(", "MO", ".", "getFPImm", "(", ")", ")", ".", "bitcastToAPInt", "(", ")", ".", "getHiBits", "(", "32", ")", ".", "getLimitedValue", "(", ")", ")", ";", "}", "llvm_unreachable", "(", "\"Unable to encode MCOperand!\"", ")", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::Q0", "ARM::Q1", "ARM::Q2", "ARM::Q3", "ARM::Q4", "ARM::Q5", "ARM::Q6", "ARM::Q7", "ARM::Q8", "ARM::Q9", "ARM::Q10", "ARM::Q11", "ARM::Q12", "ARM::Q13", "ARM::Q14", "ARM::Q15", "2", "32", "\"Unable to encode MCOperand!\""], "File": "ARMMCCodeEmitter14", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11243, "Length": 223} {"ground_truth": ["", "unsigned", "ARMMCCodeEmitter", "::", "getMachineOpValue", "(", "const", "MCInst", "&", "MI", ",", "const", "MCOperand", "&", "MO", ",", "SmallVectorImpl", "<", "MCFixup", ">", "&", "Fixups", ",", "const", "MCSubtargetInfo", "&", "STI", ")", "const", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "{", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "unsigned", "RegNo", "=", "CTX", ".", "getRegisterInfo", "(", ")", "->", "getEncodingValue", "(", "Reg", ")", ";", "if", "(", "STI", ".", "getFeatureBits", "(", ")", "[", "ARM", "::", "HasMVEIntegerOps", "]", ")", "return", "RegNo", ";", "switch", "(", "Reg", ")", "{", "default", ":", "return", "RegNo", ";", "case", "ARM", "::", "Q0", ":", "case", "ARM", "::", "Q1", ":", "case", "ARM", "::", "Q2", ":", "case", "ARM", "::", "Q3", ":", "case", "ARM", "::", "Q4", ":", "case", "ARM", "::", "Q5", ":", "case", "ARM", "::", "Q6", ":", "case", "ARM", "::", "Q7", ":", "case", "ARM", "::", "Q8", ":", "case", "ARM", "::", "Q9", ":", "case", "ARM", "::", "Q10", ":", "case", "ARM", "::", "Q11", ":", "case", "ARM", "::", "Q12", ":", "case", "ARM", "::", "Q13", ":", "case", "ARM", "::", "Q14", ":", "case", "ARM", "::", "Q15", ":", "return", "2", "*", "RegNo", ";", "}", "}", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "}", "else", "if", "(", "MO", ".", "isDFPImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "APFloat", "(", "bit_cast", "<", "double", ">", "(", "MO", ".", "getDFPImm", "(", ")", ")", ")", ".", "bitcastToAPInt", "(", ")", ".", "getHiBits", "(", "32", ")", ".", "getLimitedValue", "(", ")", ")", ";", "}", "llvm_unreachable", "(", "\"Unable to encode MCOperand!\"", ")", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::HasMVEIntegerOps", "ARM::Q0", "ARM::Q1", "ARM::Q2", "ARM::Q3", "ARM::Q4", "ARM::Q5", "ARM::Q6", "ARM::Q7", "ARM::Q8", "ARM::Q9", "ARM::Q10", "ARM::Q11", "ARM::Q12", "ARM::Q13", "ARM::Q14", "ARM::Q15", "2", "32", "\"Unable to encode MCOperand!\""], "File": "ARMMCCodeEmitter15", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11244, "Length": 250} {"ground_truth": ["", "unsigned", "ARMMCCodeEmitter", "::", "getMachineOpValue", "(", "const", "MCInst", "&", "MI", ",", "const", "MCOperand", "&", "MO", ",", "SmallVectorImpl", "<", "MCFixup", ">", "&", "Fixups", ",", "const", "MCSubtargetInfo", "&", "STI", ")", "const", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "{", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "unsigned", "RegNo", "=", "CTX", ".", "getRegisterInfo", "(", ")", "->", "getEncodingValue", "(", "Reg", ")", ";", "if", "(", "STI", ".", "getFeatureBits", "(", ")", "[", "ARM", "::", "HasMVEIntegerOps", "]", ")", "return", "RegNo", ";", "switch", "(", "Reg", ")", "{", "default", ":", "return", "RegNo", ";", "case", "ARM", "::", "Q0", ":", "case", "ARM", "::", "Q1", ":", "case", "ARM", "::", "Q2", ":", "case", "ARM", "::", "Q3", ":", "case", "ARM", "::", "Q4", ":", "case", "ARM", "::", "Q5", ":", "case", "ARM", "::", "Q6", ":", "case", "ARM", "::", "Q7", ":", "case", "ARM", "::", "Q8", ":", "case", "ARM", "::", "Q9", ":", "case", "ARM", "::", "Q10", ":", "case", "ARM", "::", "Q11", ":", "case", "ARM", "::", "Q12", ":", "case", "ARM", "::", "Q13", ":", "case", "ARM", "::", "Q14", ":", "case", "ARM", "::", "Q15", ":", "return", "2", "*", "RegNo", ";", "}", "}", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "}", "else", "if", "(", "MO", ".", "isFPImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "APFloat", "(", "MO", ".", "getFPImm", "(", ")", ")", ".", "bitcastToAPInt", "(", ")", ".", "getHiBits", "(", "32", ")", ".", "getLimitedValue", "(", ")", ")", ";", "}", "llvm_unreachable", "(", "\"Unable to encode MCOperand!\"", ")", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::HasMVEIntegerOps", "ARM::Q0", "ARM::Q1", "ARM::Q2", "ARM::Q3", "ARM::Q4", "ARM::Q5", "ARM::Q6", "ARM::Q7", "ARM::Q8", "ARM::Q9", "ARM::Q10", "ARM::Q11", "ARM::Q12", "ARM::Q13", "ARM::Q14", "ARM::Q15", "2", "32", "\"Unable to encode MCOperand!\""], "File": "ARMMCCodeEmitter16", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11245, "Length": 244} {"ground_truth": ["", "uint32_t", "ARMMCCodeEmitter", "::", "getBranchTargetOpValue", "(", "const", "MCInst", "&", "MI", ",", "unsigned", "OpIdx", ",", "SmallVectorImpl", "<", "MCFixup", ">", "&", "Fixups", ",", "const", "MCSubtargetInfo", "&", "STI", ")", "const", "{", "if", "(", "isThumb2", "(", "STI", ")", ")", "return", "::", "getBranchTargetOpValue", "(", "MI", ",", "OpIdx", ",", "ARM", "::", "fixup_t2_condbranch", ",", "Fixups", ",", "STI", ")", ";", "return", "getARMBranchTargetOpValue", "(", "MI", ",", "OpIdx", ",", "Fixups", ",", "STI", ")", ";", "}", ""], "natrual_language": ["getBranchTargetOpValue", "-", "Return", "binary", "encoding", "of", "the", "branch", "target", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::fixup_t2_condbranch", "ARM"], "File": "ARMMCCodeEmitter1", "Func": "getBranchTargetOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11246, "Length": 64} {"ground_truth": ["", "unsigned", "ARMMCCodeEmitter", "::", "getMachineOpValue", "(", "const", "MCInst", "&", "MI", ",", "const", "MCOperand", "&", "MO", ",", "SmallVectorImpl", "<", "MCFixup", ">", "&", "Fixups", ",", "const", "MCSubtargetInfo", "&", "STI", ")", "const", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "{", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "unsigned", "RegNo", "=", "CTX", ".", "getRegisterInfo", "(", ")", "->", "getEncodingValue", "(", "Reg", ")", ";", "switch", "(", "Reg", ")", "{", "default", ":", "return", "RegNo", ";", "case", "ARM", "::", "Q0", ":", "case", "ARM", "::", "Q1", ":", "case", "ARM", "::", "Q2", ":", "case", "ARM", "::", "Q3", ":", "case", "ARM", "::", "Q4", ":", "case", "ARM", "::", "Q5", ":", "case", "ARM", "::", "Q6", ":", "case", "ARM", "::", "Q7", ":", "case", "ARM", "::", "Q8", ":", "case", "ARM", "::", "Q9", ":", "case", "ARM", "::", "Q10", ":", "case", "ARM", "::", "Q11", ":", "case", "ARM", "::", "Q12", ":", "case", "ARM", "::", "Q13", ":", "case", "ARM", "::", "Q14", ":", "case", "ARM", "::", "Q15", ":", "return", "2", "*", "RegNo", ";", "}", "}", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "}", "else", "if", "(", "MO", ".", "isFPImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "APFloat", "(", "MO", ".", "getFPImm", "(", ")", ")", ".", "bitcastToAPInt", "(", ")", ".", "getHiBits", "(", "32", ")", ".", "getLimitedValue", "(", ")", ")", ";", "}", "llvm_unreachable", "(", "\"Unable to encode MCOperand!\"", ")", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::Q0", "ARM::Q1", "ARM::Q2", "ARM::Q3", "ARM::Q4", "ARM::Q5", "ARM::Q6", "ARM::Q7", "ARM::Q8", "ARM::Q9", "ARM::Q10", "ARM::Q11", "ARM::Q12", "ARM::Q13", "ARM::Q14", "ARM::Q15", "2", "32", "\"Unable to encode MCOperand!\""], "File": "ARMMCCodeEmitter1", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11247, "Length": 228} {"ground_truth": ["", "bool", "isThumb", "(", "const", "MCSubtargetInfo", "&", "STI", ")", "const", "{", "return", "(", "STI", ".", "getFeatureBits", "(", ")", "&", "ARM", "::", "ModeThumb", ")", "!=", "0", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "is", "Thumb", "(", "little", "and", "big", "endian", ")", "."], "TS_V_token": ["ARM", "ARM::ModeThumb", "0"], "File": "ARMMCCodeEmitter1", "Func": "isThumb", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11248, "Length": 26} {"ground_truth": ["", "unsigned", "ARMMCCodeEmitter", "::", "getMachineOpValue", "(", "const", "MCInst", "&", "MI", ",", "const", "MCOperand", "&", "MO", ",", "SmallVectorImpl", "<", "MCFixup", ">", "&", "Fixups", ")", "const", "{", "if", "(", "MO", ".", "isReg", "(", ")", ")", "{", "unsigned", "Reg", "=", "MO", ".", "getReg", "(", ")", ";", "unsigned", "RegNo", "=", "CTX", ".", "getRegisterInfo", "(", ")", "->", "getEncodingValue", "(", "Reg", ")", ";", "switch", "(", "Reg", ")", "{", "default", ":", "return", "RegNo", ";", "case", "ARM", "::", "Q0", ":", "case", "ARM", "::", "Q1", ":", "case", "ARM", "::", "Q2", ":", "case", "ARM", "::", "Q3", ":", "case", "ARM", "::", "Q4", ":", "case", "ARM", "::", "Q5", ":", "case", "ARM", "::", "Q6", ":", "case", "ARM", "::", "Q7", ":", "case", "ARM", "::", "Q8", ":", "case", "ARM", "::", "Q9", ":", "case", "ARM", "::", "Q10", ":", "case", "ARM", "::", "Q11", ":", "case", "ARM", "::", "Q12", ":", "case", "ARM", "::", "Q13", ":", "case", "ARM", "::", "Q14", ":", "case", "ARM", "::", "Q15", ":", "return", "2", "*", "RegNo", ";", "}", "}", "else", "if", "(", "MO", ".", "isImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "MO", ".", "getImm", "(", ")", ")", ";", "}", "else", "if", "(", "MO", ".", "isFPImm", "(", ")", ")", "{", "return", "static_cast", "<", "unsigned", ">", "(", "APFloat", "(", "MO", ".", "getFPImm", "(", ")", ")", ".", "bitcastToAPInt", "(", ")", ".", "getHiBits", "(", "32", ")", ".", "getLimitedValue", "(", ")", ")", ";", "}", "llvm_unreachable", "(", "\"Unable to encode MCOperand!\"", ")", ";", "}", ""], "natrual_language": ["getMachineOpValue", "-", "Return", "binary", "encoding", "of", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM::Q0", "ARM::Q1", "ARM::Q2", "ARM::Q3", "ARM::Q4", "ARM::Q5", "ARM::Q6", "ARM::Q7", "ARM::Q8", "ARM::Q9", "ARM::Q10", "ARM::Q11", "ARM::Q12", "ARM::Q13", "ARM::Q14", "ARM::Q15", "2", "32", "\"Unable to encode MCOperand!\""], "File": "ARMMCCodeEmitter2", "Func": "getMachineOpValue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11249, "Length": 223} {"ground_truth": ["", "const", "ARMMCExpr", "*", "ARMMCExpr", "::", "create", "(", "VariantKind", "Kind", ",", "const", "MCExpr", "*", "Expr", ",", "MCContext", "&", "Ctx", ")", "{", "return", "new", "(", "Ctx", ")", "ARMMCExpr", "(", "Kind", ",", "Expr", ")", ";", "}", ""], "natrual_language": ["This", "creates", "an", "identified", "struct", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMMCExpr (2)", "Func": "create", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11250, "Length": 33} {"ground_truth": ["", "static", "bool", "classof", "(", "const", "ARMMCExpr", "*", ")", "{", "return", "true", ";", "}", ""], "natrual_language": ["Methods", "for", "support", "type", "inquiry", "through", "isa", ",", "cast", ",", "and", "dyn_cast", ":"], "TS_V_token": ["ARM", "ARM"], "File": "ARMMCExpr13", "Func": "classof", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11251, "Length": 13} {"ground_truth": ["", "MCFragment", "*", "findAssociatedFragment", "(", ")", "const", "override", "{", "return", "getSubExpr", "(", ")", "->", "findAssociatedFragment", "(", ")", ";", "}", ""], "natrual_language": ["Find", "the", "``", "associated", "section", "''", "for", "this", "expression", ",", "which", "is", "currently", "defined", "as", "the", "absolute", "section", "for", "constants", ",", "or", "otherwise", "the", "section", "associated", "with", "the", "first", "defined", "symbol", "in", "the", "expression", "."], "TS_V_token": ["ARM"], "File": "ARMMCExpr17", "Func": "findAssociatedFragment", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11252, "Length": 18} {"ground_truth": ["", "static", "bool", "classof", "(", "const", "MCExpr", "*", "E", ")", "{", "return", "E", "->", "getKind", "(", ")", "==", "MCExpr", "::", "Target", ";", "}", ""], "natrual_language": ["Methods", "for", "support", "type", "inquiry", "through", "isa", ",", "cast", ",", "and", "dyn_cast", ":"], "TS_V_token": ["ARM"], "File": "ARMMCExpr", "Func": "classof", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11253, "Length": 22} {"ground_truth": ["", "const", "ARMMCExpr", "*", "ARMMCExpr", "::", "Create", "(", "VariantKind", "Kind", ",", "const", "MCExpr", "*", "Expr", ",", "MCContext", "&", "Ctx", ")", "{", "return", "new", "(", "Ctx", ")", "ARMMCExpr", "(", "Kind", ",", "Expr", ")", ";", "}", ""], "natrual_language": ["Construct", "a", "unary", "instruction", ",", "given", "the", "opcode", "and", "an", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMMCExpr", "Func": "Create", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11254, "Length": 33} {"ground_truth": ["", "VariantKind", "getKind", "(", ")", "const", "{", "return", "Kind", ";", "}", ""], "natrual_language": ["Returns", "the", "Kind", "of", "lane", "offset", "."], "TS_V_token": ["ARM"], "File": "ARMMCExpr", "Func": "getKind", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11255, "Length": 10} {"ground_truth": ["", "const", "MCExpr", "*", "getSubExpr", "(", ")", "const", "{", "return", "Expr", ";", "}", ""], "natrual_language": ["getSubExpr", "-", "Get", "the", "child", "of", "this", "expression", "."], "TS_V_token": ["ARM"], "File": "ARMMCExpr", "Func": "getSubExpr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11256, "Length": 12} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "lowerOperand", "(", "const", "MachineOperand", "&", "MO", ",", "MCOperand", "&", "MCOp", ")", "{", "switch", "(", "MO", ".", "getType", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"unknown operand type\"", ")", ";", "case", "MachineOperand", "::", "MO_Register", ":", "if", "(", "MO", ".", "isImplicit", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "false", ";", "assert", "(", "!", "MO", ".", "getSubReg", "(", ")", "&&", "\"Subregs should be eliminated!\"", ")", ";", "MCOp", "=", "MCOperand", "::", "createReg", "(", "MO", ".", "getReg", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_Immediate", ":", "MCOp", "=", "MCOperand", "::", "createImm", "(", "MO", ".", "getImm", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_MachineBasicBlock", ":", "MCOp", "=", "MCOperand", "::", "createExpr", "(", "MCSymbolRefExpr", "::", "create", "(", "MO", ".", "getMBB", "(", ")", "->", "getSymbol", "(", ")", ",", "OutContext", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_GlobalAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetARMGVSymbol", "(", "MO", ".", "getGlobal", "(", ")", ",", "MO", ".", "getTargetFlags", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ExternalSymbol", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetExternalSymbolSymbol", "(", "MO", ".", "getSymbolName", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_JumpTableIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetJTISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ConstantPoolIndex", ":", "if", "(", "Subtarget", "->", "genExecuteOnly", "(", ")", ")", "llvm_unreachable", "(", "\"execute-only should not generate constant pools\"", ")", ";", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetCPISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_BlockAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetBlockAddressSymbol", "(", "MO", ".", "getBlockAddress", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_FPImmediate", ":", "{", "APFloat", "Val", "=", "MO", ".", "getFPImm", "(", ")", "->", "getValueAPF", "(", ")", ";", "bool", "ignored", ";", "Val", ".", "convert", "(", "APFloat", "::", "IEEEdouble", "(", ")", ",", "APFloat", "::", "rmTowardZero", ",", "&", "ignored", ")", ";", "MCOp", "=", "MCOperand", "::", "createFPImm", "(", "Val", ".", "convertToDouble", "(", ")", ")", ";", "break", ";", "}", "case", "MachineOperand", "::", "MO_RegisterMask", ":", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Wrapper", "for", "MCInstLowering.lowerOperand", "(", ")", "for", "the", "tblgen'erated", "pseudo", "lowering", "."], "TS_V_token": ["ARM", "ARM", "\"unknown operand type\"", "ARM::CPSR", "\"Subregs should be eliminated!\"", "ARM", "\"execute-only should not generate constant pools\""], "File": "ARMMCInstLower10", "Func": "lowerOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11257, "Length": 338} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "lowerOperand", "(", "const", "MachineOperand", "&", "MO", ",", "MCOperand", "&", "MCOp", ")", "{", "switch", "(", "MO", ".", "getType", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"unknown operand type\"", ")", ";", "case", "MachineOperand", "::", "MO_Register", ":", "if", "(", "MO", ".", "isImplicit", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "false", ";", "assert", "(", "!", "MO", ".", "getSubReg", "(", ")", "&&", "\"Subregs should be eliminated!\"", ")", ";", "MCOp", "=", "MCOperand", "::", "createReg", "(", "MO", ".", "getReg", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_Immediate", ":", "MCOp", "=", "MCOperand", "::", "createImm", "(", "MO", ".", "getImm", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_MachineBasicBlock", ":", "MCOp", "=", "MCOperand", "::", "createExpr", "(", "MCSymbolRefExpr", "::", "create", "(", "MO", ".", "getMBB", "(", ")", "->", "getSymbol", "(", ")", ",", "OutContext", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_GlobalAddress", ":", "{", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetARMGVSymbol", "(", "MO", ".", "getGlobal", "(", ")", ",", "MO", ".", "getTargetFlags", "(", ")", ")", ")", ";", "break", ";", "}", "case", "MachineOperand", "::", "MO_ExternalSymbol", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetExternalSymbolSymbol", "(", "MO", ".", "getSymbolName", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_JumpTableIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetJTISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ConstantPoolIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetCPISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_BlockAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetBlockAddressSymbol", "(", "MO", ".", "getBlockAddress", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_FPImmediate", ":", "{", "APFloat", "Val", "=", "MO", ".", "getFPImm", "(", ")", "->", "getValueAPF", "(", ")", ";", "bool", "ignored", ";", "Val", ".", "convert", "(", "APFloat", "::", "IEEEdouble", ",", "APFloat", "::", "rmTowardZero", ",", "&", "ignored", ")", ";", "MCOp", "=", "MCOperand", "::", "createFPImm", "(", "Val", ".", "convertToDouble", "(", ")", ")", ";", "break", ";", "}", "case", "MachineOperand", "::", "MO_RegisterMask", ":", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Wrapper", "for", "MCInstLowering.lowerOperand", "(", ")", "for", "the", "tblgen'erated", "pseudo", "lowering", "."], "TS_V_token": ["ARM", "ARM", "\"unknown operand type\"", "ARM::CPSR", "\"Subregs should be eliminated!\"", "ARM"], "File": "ARMMCInstLower14", "Func": "lowerOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11258, "Length": 325} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "lowerOperand", "(", "const", "MachineOperand", "&", "MO", ",", "MCOperand", "&", "MCOp", ")", "{", "switch", "(", "MO", ".", "getType", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"unknown operand type\"", ")", ";", "case", "MachineOperand", "::", "MO_Register", ":", "if", "(", "MO", ".", "isImplicit", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "false", ";", "assert", "(", "!", "MO", ".", "getSubReg", "(", ")", "&&", "\"Subregs should be eliminated!\"", ")", ";", "MCOp", "=", "MCOperand", "::", "createReg", "(", "MO", ".", "getReg", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_Immediate", ":", "MCOp", "=", "MCOperand", "::", "createImm", "(", "MO", ".", "getImm", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_MachineBasicBlock", ":", "MCOp", "=", "MCOperand", "::", "createExpr", "(", "MCSymbolRefExpr", "::", "create", "(", "MO", ".", "getMBB", "(", ")", "->", "getSymbol", "(", ")", ",", "OutContext", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_GlobalAddress", ":", "{", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetARMGVSymbol", "(", "MO", ".", "getGlobal", "(", ")", ",", "MO", ".", "getTargetFlags", "(", ")", ")", ")", ";", "break", ";", "}", "case", "MachineOperand", "::", "MO_ExternalSymbol", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetExternalSymbolSymbol", "(", "MO", ".", "getSymbolName", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_JumpTableIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetJTISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ConstantPoolIndex", ":", "if", "(", "Subtarget", "->", "genExecuteOnly", "(", ")", ")", "llvm_unreachable", "(", "\"execute-only should not generate constant pools\"", ")", ";", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetCPISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_BlockAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetBlockAddressSymbol", "(", "MO", ".", "getBlockAddress", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_FPImmediate", ":", "{", "APFloat", "Val", "=", "MO", ".", "getFPImm", "(", ")", "->", "getValueAPF", "(", ")", ";", "bool", "ignored", ";", "Val", ".", "convert", "(", "APFloat", "::", "IEEEdouble", "(", ")", ",", "APFloat", "::", "rmTowardZero", ",", "&", "ignored", ")", ";", "MCOp", "=", "MCOperand", "::", "createFPImm", "(", "Val", ".", "convertToDouble", "(", ")", ")", ";", "break", ";", "}", "case", "MachineOperand", "::", "MO_RegisterMask", ":", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Wrapper", "for", "MCInstLowering.lowerOperand", "(", ")", "for", "the", "tblgen'erated", "pseudo", "lowering", "."], "TS_V_token": ["ARM", "ARM", "\"unknown operand type\"", "ARM::CPSR", "\"Subregs should be eliminated!\"", "ARM", "\"execute-only should not generate constant pools\""], "File": "ARMMCInstLower15", "Func": "lowerOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11259, "Length": 340} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "lowerOperand", "(", "const", "MachineOperand", "&", "MO", ",", "MCOperand", "&", "MCOp", ")", "{", "switch", "(", "MO", ".", "getType", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"unknown operand type\"", ")", ";", "case", "MachineOperand", "::", "MO_Register", ":", "if", "(", "MO", ".", "isImplicit", "(", ")", ")", "return", "false", ";", "assert", "(", "!", "MO", ".", "getSubReg", "(", ")", "&&", "\"Subregs should be eliminated!\"", ")", ";", "MCOp", "=", "MCOperand", "::", "createReg", "(", "MO", ".", "getReg", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_Immediate", ":", "MCOp", "=", "MCOperand", "::", "createImm", "(", "MO", ".", "getImm", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_MachineBasicBlock", ":", "MCOp", "=", "MCOperand", "::", "createExpr", "(", "MCSymbolRefExpr", "::", "create", "(", "MO", ".", "getMBB", "(", ")", "->", "getSymbol", "(", ")", ",", "OutContext", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_GlobalAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetARMGVSymbol", "(", "MO", ".", "getGlobal", "(", ")", ",", "MO", ".", "getTargetFlags", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ExternalSymbol", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetExternalSymbolSymbol", "(", "MO", ".", "getSymbolName", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_JumpTableIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetJTISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ConstantPoolIndex", ":", "if", "(", "Subtarget", "->", "genExecuteOnly", "(", ")", ")", "llvm_unreachable", "(", "\"execute-only should not generate constant pools\"", ")", ";", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetCPISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_BlockAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetBlockAddressSymbol", "(", "MO", ".", "getBlockAddress", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_FPImmediate", ":", "{", "APFloat", "Val", "=", "MO", ".", "getFPImm", "(", ")", "->", "getValueAPF", "(", ")", ";", "bool", "ignored", ";", "Val", ".", "convert", "(", "APFloat", "::", "IEEEdouble", "(", ")", ",", "APFloat", "::", "rmTowardZero", ",", "&", "ignored", ")", ";", "MCOp", "=", "MCOperand", "::", "createFPImm", "(", "Val", ".", "convertToDouble", "(", ")", ")", ";", "break", ";", "}", "case", "MachineOperand", "::", "MO_RegisterMask", ":", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Wrapper", "for", "MCInstLowering.lowerOperand", "(", ")", "for", "the", "tblgen'erated", "pseudo", "lowering", "."], "TS_V_token": ["ARM", "ARM", "\"unknown operand type\"", "\"Subregs should be eliminated!\"", "ARM", "\"execute-only should not generate constant pools\""], "File": "ARMMCInstLower19", "Func": "lowerOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11260, "Length": 328} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "lowerOperand", "(", "const", "MachineOperand", "&", "MO", ",", "MCOperand", "&", "MCOp", ")", "{", "switch", "(", "MO", ".", "getType", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"unknown operand type\"", ")", ";", "case", "MachineOperand", "::", "MO_Register", ":", "if", "(", "MO", ".", "isImplicit", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "false", ";", "assert", "(", "!", "MO", ".", "getSubReg", "(", ")", "&&", "\"Subregs should be eliminated!\"", ")", ";", "MCOp", "=", "MCOperand", "::", "CreateReg", "(", "MO", ".", "getReg", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_Immediate", ":", "MCOp", "=", "MCOperand", "::", "CreateImm", "(", "MO", ".", "getImm", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_MachineBasicBlock", ":", "MCOp", "=", "MCOperand", "::", "CreateExpr", "(", "MCSymbolRefExpr", "::", "Create", "(", "MO", ".", "getMBB", "(", ")", "->", "getSymbol", "(", ")", ",", "OutContext", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_GlobalAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "Mang", "->", "getSymbol", "(", "MO", ".", "getGlobal", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ExternalSymbol", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetExternalSymbolSymbol", "(", "MO", ".", "getSymbolName", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_JumpTableIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetJTISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ConstantPoolIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetCPISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_BlockAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetBlockAddressSymbol", "(", "MO", ".", "getBlockAddress", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_FPImmediate", ":", "{", "APFloat", "Val", "=", "MO", ".", "getFPImm", "(", ")", "->", "getValueAPF", "(", ")", ";", "bool", "ignored", ";", "Val", ".", "convert", "(", "APFloat", "::", "IEEEdouble", ",", "APFloat", "::", "rmTowardZero", ",", "&", "ignored", ")", ";", "MCOp", "=", "MCOperand", "::", "CreateFPImm", "(", "Val", ".", "convertToDouble", "(", ")", ")", ";", "break", ";", "}", "case", "MachineOperand", "::", "MO_RegisterMask", ":", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Wrapper", "for", "MCInstLowering.lowerOperand", "(", ")", "for", "the", "tblgen'erated", "pseudo", "lowering", "."], "TS_V_token": ["ARM", "ARM", "\"unknown operand type\"", "ARM::CPSR", "\"Subregs should be eliminated!\""], "File": "ARMMCInstLower23", "Func": "lowerOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11261, "Length": 319} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "lowerOperand", "(", "const", "MachineOperand", "&", "MO", ",", "MCOperand", "&", "MCOp", ")", "{", "switch", "(", "MO", ".", "getType", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"unknown operand type\"", ")", ";", "case", "MachineOperand", "::", "MO_Register", ":", "if", "(", "MO", ".", "isImplicit", "(", ")", ")", "return", "false", ";", "assert", "(", "!", "MO", ".", "getSubReg", "(", ")", "&&", "\"Subregs should be eliminated!\"", ")", ";", "MCOp", "=", "MCOperand", "::", "createReg", "(", "MO", ".", "getReg", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_Immediate", ":", "MCOp", "=", "MCOperand", "::", "createImm", "(", "MO", ".", "getImm", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_MachineBasicBlock", ":", "MCOp", "=", "MCOperand", "::", "createExpr", "(", "MCSymbolRefExpr", "::", "create", "(", "MO", ".", "getMBB", "(", ")", "->", "getSymbol", "(", ")", ",", "OutContext", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_GlobalAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetARMGVSymbol", "(", "MO", ".", "getGlobal", "(", ")", ",", "MO", ".", "getTargetFlags", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ExternalSymbol", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetExternalSymbolSymbol", "(", "MO", ".", "getSymbolName", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_JumpTableIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetJTISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ConstantPoolIndex", ":", "if", "(", "Subtarget", "->", "genExecuteOnly", "(", ")", ")", "llvm_unreachable", "(", "\"execute-only should not generate constant pools\"", ")", ";", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetCPISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_BlockAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetBlockAddressSymbol", "(", "MO", ".", "getBlockAddress", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_FPImmediate", ":", "{", "APFloat", "Val", "=", "MO", ".", "getFPImm", "(", ")", "->", "getValueAPF", "(", ")", ";", "bool", "ignored", ";", "Val", ".", "convert", "(", "APFloat", "::", "IEEEdouble", "(", ")", ",", "APFloat", "::", "rmTowardZero", ",", "&", "ignored", ")", ";", "MCOp", "=", "MCOperand", "::", "createDFPImm", "(", "bit_cast", "<", "uint64_t", ">", "(", "Val", ".", "convertToDouble", "(", ")", ")", ")", ";", "break", ";", "}", "case", "MachineOperand", "::", "MO_RegisterMask", ":", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Wrapper", "for", "MCInstLowering.lowerOperand", "(", ")", "for", "the", "tblgen'erated", "pseudo", "lowering", "."], "TS_V_token": ["ARM", "ARM", "\"unknown operand type\"", "\"Subregs should be eliminated!\"", "ARM", "\"execute-only should not generate constant pools\""], "File": "ARMMCInstLower27", "Func": "lowerOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11262, "Length": 334} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "lowerOperand", "(", "const", "MachineOperand", "&", "MO", ",", "MCOperand", "&", "MCOp", ")", "{", "switch", "(", "MO", ".", "getType", "(", ")", ")", "{", "default", ":", "assert", "(", "0", "&&", "\"unknown operand type\"", ")", ";", "return", "false", ";", "case", "MachineOperand", "::", "MO_Register", ":", "if", "(", "MO", ".", "isImplicit", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "false", ";", "assert", "(", "!", "MO", ".", "getSubReg", "(", ")", "&&", "\"Subregs should be eliminated!\"", ")", ";", "MCOp", "=", "MCOperand", "::", "CreateReg", "(", "MO", ".", "getReg", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_Immediate", ":", "MCOp", "=", "MCOperand", "::", "CreateImm", "(", "MO", ".", "getImm", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_MachineBasicBlock", ":", "MCOp", "=", "MCOperand", "::", "CreateExpr", "(", "MCSymbolRefExpr", "::", "Create", "(", "MO", ".", "getMBB", "(", ")", "->", "getSymbol", "(", ")", ",", "OutContext", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_GlobalAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "Mang", "->", "getSymbol", "(", "MO", ".", "getGlobal", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ExternalSymbol", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetExternalSymbolSymbol", "(", "MO", ".", "getSymbolName", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_JumpTableIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetJTISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ConstantPoolIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetCPISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_BlockAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetBlockAddressSymbol", "(", "MO", ".", "getBlockAddress", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_FPImmediate", ":", "{", "APFloat", "Val", "=", "MO", ".", "getFPImm", "(", ")", "->", "getValueAPF", "(", ")", ";", "bool", "ignored", ";", "Val", ".", "convert", "(", "APFloat", "::", "IEEEdouble", ",", "APFloat", "::", "rmTowardZero", ",", "&", "ignored", ")", ";", "MCOp", "=", "MCOperand", "::", "CreateFPImm", "(", "Val", ".", "convertToDouble", "(", ")", ")", ";", "break", ";", "}", "case", "MachineOperand", "::", "MO_RegisterMask", ":", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Wrapper", "for", "MCInstLowering.lowerOperand", "(", ")", "for", "the", "tblgen'erated", "pseudo", "lowering", "."], "TS_V_token": ["ARM", "ARM", "0", "\"unknown operand type\"", "ARM::CPSR", "\"Subregs should be eliminated!\""], "File": "ARMMCInstLower28", "Func": "lowerOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11263, "Length": 324} {"ground_truth": ["", "MCSymbol", "*", "ARMMCInstLower", "::", "GetExternalSymbolSymbol", "(", "const", "MachineOperand", "&", "MO", ")", "const", "{", "switch", "(", "MO", ".", "getTargetFlags", "(", ")", ")", "{", "default", ":", "assert", "(", "0", "&&", "\"Unknown target flag on GV operand\"", ")", ";", "case", "0", ":", "break", ";", "}", "return", "Printer", ".", "GetExternalSymbolSymbol", "(", "MO", ".", "getSymbolName", "(", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "MCSymbol", "for", "the", "specified", "ExternalSymbol", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Unknown target flag on GV operand\"", "0"], "File": "ARMMCInstLower2", "Func": "GetExternalSymbolSymbol", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11264, "Length": 50} {"ground_truth": ["", "const", "ARMSubtarget", "&", "ARMMCInstLower", "::", "getSubtarget", "(", ")", "const", "{", "return", "AsmPrinter", ".", "getSubtarget", "(", ")", ";", "}", ""], "natrual_language": ["getSubtarget", "-", "Return", "the", "subtarget", "for", "which", "this", "machine", "code", "is", "being", "compiled", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMMCInstLower2", "Func": "getSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11265, "Length": 18} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "lowerOperand", "(", "const", "MachineOperand", "&", "MO", ",", "MCOperand", "&", "MCOp", ")", "{", "switch", "(", "MO", ".", "getType", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"unknown operand type\"", ")", ";", "case", "MachineOperand", "::", "MO_Register", ":", "if", "(", "MO", ".", "isImplicit", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "false", ";", "assert", "(", "!", "MO", ".", "getSubReg", "(", ")", "&&", "\"Subregs should be eliminated!\"", ")", ";", "MCOp", "=", "MCOperand", "::", "CreateReg", "(", "MO", ".", "getReg", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_Immediate", ":", "MCOp", "=", "MCOperand", "::", "CreateImm", "(", "MO", ".", "getImm", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_MachineBasicBlock", ":", "MCOp", "=", "MCOperand", "::", "CreateExpr", "(", "MCSymbolRefExpr", "::", "Create", "(", "MO", ".", "getMBB", "(", ")", "->", "getSymbol", "(", ")", ",", "OutContext", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_GlobalAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "getSymbol", "(", "MO", ".", "getGlobal", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ExternalSymbol", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetExternalSymbolSymbol", "(", "MO", ".", "getSymbolName", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_JumpTableIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetJTISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ConstantPoolIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetCPISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_BlockAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetBlockAddressSymbol", "(", "MO", ".", "getBlockAddress", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_FPImmediate", ":", "{", "APFloat", "Val", "=", "MO", ".", "getFPImm", "(", ")", "->", "getValueAPF", "(", ")", ";", "bool", "ignored", ";", "Val", ".", "convert", "(", "APFloat", "::", "IEEEdouble", ",", "APFloat", "::", "rmTowardZero", ",", "&", "ignored", ")", ";", "MCOp", "=", "MCOperand", "::", "CreateFPImm", "(", "Val", ".", "convertToDouble", "(", ")", ")", ";", "break", ";", "}", "case", "MachineOperand", "::", "MO_RegisterMask", ":", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Wrapper", "for", "MCInstLowering.lowerOperand", "(", ")", "for", "the", "tblgen'erated", "pseudo", "lowering", "."], "TS_V_token": ["ARM", "ARM", "\"unknown operand type\"", "ARM::CPSR", "\"Subregs should be eliminated!\""], "File": "ARMMCInstLower37", "Func": "lowerOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11266, "Length": 317} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "lowerOperand", "(", "const", "MachineOperand", "&", "MO", ",", "MCOperand", "&", "MCOp", ")", "{", "switch", "(", "MO", ".", "getType", "(", ")", ")", "{", "default", ":", "assert", "(", "0", "&&", "\"unknown operand type\"", ")", ";", "return", "false", ";", "case", "MachineOperand", "::", "MO_Register", ":", "if", "(", "MO", ".", "isImplicit", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "false", ";", "assert", "(", "!", "MO", ".", "getSubReg", "(", ")", "&&", "\"Subregs should be eliminated!\"", ")", ";", "MCOp", "=", "MCOperand", "::", "CreateReg", "(", "MO", ".", "getReg", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_Immediate", ":", "MCOp", "=", "MCOperand", "::", "CreateImm", "(", "MO", ".", "getImm", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_MachineBasicBlock", ":", "MCOp", "=", "MCOperand", "::", "CreateExpr", "(", "MCSymbolRefExpr", "::", "Create", "(", "MO", ".", "getMBB", "(", ")", "->", "getSymbol", "(", ")", ",", "OutContext", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_GlobalAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "Mang", "->", "getSymbol", "(", "MO", ".", "getGlobal", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ExternalSymbol", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetExternalSymbolSymbol", "(", "MO", ".", "getSymbolName", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_JumpTableIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetJTISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ConstantPoolIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetCPISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_BlockAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetBlockAddressSymbol", "(", "MO", ".", "getBlockAddress", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_FPImmediate", ":", "{", "APFloat", "Val", "=", "MO", ".", "getFPImm", "(", ")", "->", "getValueAPF", "(", ")", ";", "bool", "ignored", ";", "Val", ".", "convert", "(", "APFloat", "::", "IEEEdouble", ",", "APFloat", "::", "rmTowardZero", ",", "&", "ignored", ")", ";", "MCOp", "=", "MCOperand", "::", "CreateFPImm", "(", "Val", ".", "convertToDouble", "(", ")", ")", ";", "break", ";", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["Wrapper", "for", "MCInstLowering.lowerOperand", "(", ")", "for", "the", "tblgen'erated", "pseudo", "lowering", "."], "TS_V_token": ["ARM", "ARM", "0", "\"unknown operand type\"", "ARM::CPSR", "\"Subregs should be eliminated!\""], "File": "ARMMCInstLower39", "Func": "lowerOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11267, "Length": 316} {"ground_truth": ["", "bool", "ARMAsmPrinter", "::", "lowerOperand", "(", "const", "MachineOperand", "&", "MO", ",", "MCOperand", "&", "MCOp", ")", "{", "switch", "(", "MO", ".", "getType", "(", ")", ")", "{", "default", ":", "llvm_unreachable", "(", "\"unknown operand type\"", ")", ";", "case", "MachineOperand", "::", "MO_Register", ":", "if", "(", "MO", ".", "isImplicit", "(", ")", "&&", "MO", ".", "getReg", "(", ")", "!=", "ARM", "::", "CPSR", ")", "return", "false", ";", "assert", "(", "!", "MO", ".", "getSubReg", "(", ")", "&&", "\"Subregs should be eliminated!\"", ")", ";", "MCOp", "=", "MCOperand", "::", "CreateReg", "(", "MO", ".", "getReg", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_Immediate", ":", "MCOp", "=", "MCOperand", "::", "CreateImm", "(", "MO", ".", "getImm", "(", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_MachineBasicBlock", ":", "MCOp", "=", "MCOperand", "::", "CreateExpr", "(", "MCSymbolRefExpr", "::", "Create", "(", "MO", ".", "getMBB", "(", ")", "->", "getSymbol", "(", ")", ",", "OutContext", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_GlobalAddress", ":", "{", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetARMGVSymbol", "(", "MO", ".", "getGlobal", "(", ")", ",", "MO", ".", "getTargetFlags", "(", ")", ")", ")", ";", "break", ";", "}", "case", "MachineOperand", "::", "MO_ExternalSymbol", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetExternalSymbolSymbol", "(", "MO", ".", "getSymbolName", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_JumpTableIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetJTISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_ConstantPoolIndex", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetCPISymbol", "(", "MO", ".", "getIndex", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_BlockAddress", ":", "MCOp", "=", "GetSymbolRef", "(", "MO", ",", "GetBlockAddressSymbol", "(", "MO", ".", "getBlockAddress", "(", ")", ")", ")", ";", "break", ";", "case", "MachineOperand", "::", "MO_FPImmediate", ":", "{", "APFloat", "Val", "=", "MO", ".", "getFPImm", "(", ")", "->", "getValueAPF", "(", ")", ";", "bool", "ignored", ";", "Val", ".", "convert", "(", "APFloat", "::", "IEEEdouble", ",", "APFloat", "::", "rmTowardZero", ",", "&", "ignored", ")", ";", "MCOp", "=", "MCOperand", "::", "CreateFPImm", "(", "Val", ".", "convertToDouble", "(", ")", ")", ";", "break", ";", "}", "case", "MachineOperand", "::", "MO_RegisterMask", ":", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Wrapper", "for", "MCInstLowering.lowerOperand", "(", ")", "for", "the", "tblgen'erated", "pseudo", "lowering", "."], "TS_V_token": ["ARM", "ARM", "\"unknown operand type\"", "ARM::CPSR", "\"Subregs should be eliminated!\"", "ARM"], "File": "ARMMCInstLower", "Func": "lowerOperand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11268, "Length": 325} {"ground_truth": ["", "static", "ARMCC", "::", "CondCodes", "getPredicate", "(", "const", "MCInst", "&", "Inst", ",", "const", "MCInstrInfo", "&", "Info", ",", "unsigned", "&", "PredReg", ")", "{", "const", "MCInstrDesc", "&", "Desc", "=", "Info", ".", "get", "(", "Inst", ".", "getOpcode", "(", ")", ")", ";", "int", "PIdx", "=", "Desc", ".", "findFirstPredOperandIdx", "(", ")", ";", "if", "(", "PIdx", "==", "-", "1", ")", "{", "PredReg", "=", "0", ";", "return", "ARMCC", "::", "AL", ";", "}", "PredReg", "=", "Inst", ".", "getOperand", "(", "PIdx", "+", "1", ")", ".", "getReg", "(", ")", ";", "return", "static_cast", "<", "ARMCC", "::", "CondCodes", ">", "(", "Inst", ".", "getOperand", "(", "PIdx", ")", ".", "getImm", "(", ")", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "comparison", "predicate", "underlying", "the", "intrinsic", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "1", "0", "ARMCC::AL", "1", "ARMCC::CondCodes"], "File": "ARMMCNaClExpander", "Func": "getPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11269, "Length": 100} {"ground_truth": ["", "bool", "evaluateBranch", "(", "const", "MCInst", "&", "Inst", ",", "uint64_t", "Addr", ",", "uint64_t", "Size", ",", "uint64_t", "&", "Target", ")", "const", "override", "{", "const", "MCInstrDesc", "&", "Desc", "=", "Info", "->", "get", "(", "Inst", ".", "getOpcode", "(", ")", ")", ";", "for", "(", "unsigned", "OpNum", "=", "0", ";", "OpNum", "<", "Desc", ".", "getNumOperands", "(", ")", ";", "++", "OpNum", ")", "{", "if", "(", "Inst", ".", "getOperand", "(", "OpNum", ")", ".", "isImm", "(", ")", "&&", "Desc", ".", "OpInfo", "[", "OpNum", "]", ".", "OperandType", "==", "MCOI", "::", "OPERAND_PCREL", ")", "{", "int64_t", "Imm", "=", "Inst", ".", "getOperand", "(", "OpNum", ")", ".", "getImm", "(", ")", ";", "Target", "=", "ARM_MC", "::", "evaluateBranchTarget", "(", "Desc", ",", "Addr", ",", "Imm", ")", ";", "return", "true", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Given", "a", "branch", "instruction", "try", "to", "get", "the", "address", "the", "branch", "targets", "."], "TS_V_token": ["ARM", "0", "ARM"], "File": "ARMMCTargetDesc (2)1", "Func": "evaluateBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11270, "Length": 119} {"ground_truth": ["", "Optional", "<", "uint64_t", ">", "ARMMCInstrAnalysis", "::", "evaluateMemoryOperandAddress", "(", "const", "MCInst", "&", "Inst", ",", "const", "MCSubtargetInfo", "*", "STI", ",", "uint64_t", "Addr", ",", "uint64_t", "Size", ")", "const", "{", "const", "MCInstrDesc", "&", "Desc", "=", "Info", "->", "get", "(", "Inst", ".", "getOpcode", "(", ")", ")", ";", "if", "(", "!", "Desc", ".", "mayLoad", "(", ")", ")", "return", "None", ";", "uint64_t", "TSFlags", "=", "Desc", ".", "TSFlags", ";", "unsigned", "IndexMode", "=", "(", "TSFlags", "&", "ARMII", "::", "IndexModeMask", ")", ">>", "ARMII", "::", "IndexModeShift", ";", "if", "(", "IndexMode", "!=", "ARMII", "::", "IndexModeNone", ")", "return", "None", ";", "unsigned", "OpIndex", "=", "Desc", ".", "NumDefs", ";", "while", "(", "OpIndex", "<", "Desc", ".", "getNumOperands", "(", ")", "&&", "Desc", ".", "OpInfo", "[", "OpIndex", "]", ".", "OperandType", "!=", "MCOI", "::", "OPERAND_MEMORY", ")", "++", "OpIndex", ";", "if", "(", "OpIndex", "==", "Desc", ".", "getNumOperands", "(", ")", ")", "return", "None", ";", "Addr", "&=", "~", "0x3", ";", "switch", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "{", "default", ":", "Addr", "+=", "8", ";", "break", ";", "case", "ARMII", "::", "ThumbFrm", ":", "Addr", "+=", "4", ";", "break", ";", "case", "ARMII", "::", "VFPLdStFrm", ":", "Addr", "+=", "STI", "->", "getFeatureBits", "(", ")", "[", "ARM", "::", "ModeThumb", "]", "?", "4", ":", "8", ";", "break", ";", "}", "unsigned", "AddrMode", "=", "(", "TSFlags", "&", "ARMII", "::", "AddrModeMask", ")", ";", "switch", "(", "AddrMode", ")", "{", "default", ":", "return", "None", ";", "case", "ARMII", "::", "AddrMode_i12", ":", "return", "evaluateMemOpAddrForAddrMode_i12", "(", "Inst", ",", "Desc", ",", "OpIndex", ",", "Addr", ")", ";", "case", "ARMII", "::", "AddrMode3", ":", "return", "evaluateMemOpAddrForAddrMode3", "(", "Inst", ",", "Desc", ",", "OpIndex", ",", "Addr", ")", ";", "case", "ARMII", "::", "AddrMode5", ":", "return", "evaluateMemOpAddrForAddrMode5", "(", "Inst", ",", "Desc", ",", "OpIndex", ",", "Addr", ")", ";", "case", "ARMII", "::", "AddrMode5FP16", ":", "return", "evaluateMemOpAddrForAddrMode5FP16", "(", "Inst", ",", "Desc", ",", "OpIndex", ",", "Addr", ")", ";", "case", "ARMII", "::", "AddrModeT2_i8s4", ":", "return", "evaluateMemOpAddrForAddrModeT2_i8s4", "(", "Inst", ",", "Desc", ",", "OpIndex", ",", "Addr", ")", ";", "case", "ARMII", "::", "AddrModeT2_pc", ":", "return", "evaluateMemOpAddrForAddrModeT2_pc", "(", "Inst", ",", "Desc", ",", "OpIndex", ",", "Addr", ")", ";", "case", "ARMII", "::", "AddrModeT1_s", ":", "return", "evaluateMemOpAddrForAddrModeT1_s", "(", "Inst", ",", "Desc", ",", "OpIndex", ",", "Addr", ")", ";", "}", "}", ""], "natrual_language": ["Given", "an", "instruction", "tries", "to", "get", "the", "address", "of", "a", "memory", "operand", "."], "TS_V_token": ["ARM", "ARM", "ARMII::IndexModeMask", "ARMII::IndexModeShift", "ARMII::IndexModeNone", "0x3", "ARMII::FormMask", "8", "ARMII::ThumbFrm", "4", "ARMII::VFPLdStFrm", "ARM::ModeThumb", "4", "8", "ARMII::AddrModeMask", "ARMII::AddrMode_i12", "ARMII::AddrMode3", "ARMII::AddrMode5", "ARMII::AddrMode5FP16", "ARMII::AddrModeT2_i8s4", "ARMII::AddrModeT2_pc", "ARMII::AddrModeT1_s"], "File": "ARMMCTargetDesc (2)1", "Func": "evaluateMemoryOperandAddress", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11271, "Length": 335} {"ground_truth": ["", "bool", "ARM_MC", "::", "isPredicated", "(", "const", "MCInst", "&", "MI", ",", "const", "MCInstrInfo", "*", "MCII", ")", "{", "const", "MCInstrDesc", "&", "Desc", "=", "MCII", "->", "get", "(", "MI", ".", "getOpcode", "(", ")", ")", ";", "int", "PredOpIdx", "=", "Desc", ".", "findFirstPredOperandIdx", "(", ")", ";", "return", "PredOpIdx", "!=", "-", "1", "&&", "MI", ".", "getOperand", "(", "PredOpIdx", ")", ".", "getImm", "(", ")", "!=", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "instruction", "is", "already", "predicated", "."], "TS_V_token": ["ARM", "ARM", "1", "ARMCC::AL"], "File": "ARMMCTargetDesc (2)1", "Func": "isPredicated", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11272, "Length": 63} {"ground_truth": ["", "bool", "evaluateBranch", "(", "const", "MCInst", "&", "Inst", ",", "uint64_t", "Addr", ",", "uint64_t", "Size", ",", "uint64_t", "&", "Target", ")", "const", "override", "{", "if", "(", "Info", "->", "get", "(", "Inst", ".", "getOpcode", "(", ")", ")", ".", "OpInfo", "[", "0", "]", ".", "OperandType", "!=", "MCOI", "::", "OPERAND_PCREL", ")", "return", "false", ";", "int64_t", "Imm", "=", "Inst", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "Target", "=", "Addr", "+", "Imm", "+", "8", ";", "return", "true", ";", "}", ""], "natrual_language": ["Given", "a", "branch", "instruction", "try", "to", "get", "the", "address", "the", "branch", "targets", "."], "TS_V_token": ["ARM", "0", "0", "8"], "File": "ARMMCTargetDesc (2)", "Func": "evaluateBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11273, "Length": 74} {"ground_truth": ["", "bool", "isConditionalBranch", "(", "const", "MCInst", "&", "Inst", ")", "const", "override", "{", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "Bcc", "&&", "Inst", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", "==", "ARMCC", "::", "AL", ")", "return", "false", ";", "return", "MCInstrAnalysis", "::", "isConditionalBranch", "(", "Inst", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "this", "is", "a", "branch", "which", "may", "fall", "through", "to", "the", "next", "instruction", "or", "may", "transfer", "control", "flow", "to", "some", "other", "block", "."], "TS_V_token": ["ARM", "ARM::Bcc", "1", "ARMCC::AL"], "File": "ARMMCTargetDesc (2)", "Func": "isConditionalBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11274, "Length": 50} {"ground_truth": ["", "bool", "isUnconditionalBranch", "(", "const", "MCInst", "&", "Inst", ")", "const", "override", "{", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "Bcc", "&&", "Inst", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", "==", "ARMCC", "::", "AL", ")", "return", "true", ";", "return", "MCInstrAnalysis", "::", "isUnconditionalBranch", "(", "Inst", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "this", "is", "a", "branch", "which", "always", "transfers", "control", "flow", "to", "some", "other", "block", "."], "TS_V_token": ["ARM", "ARM::Bcc", "1", "ARMCC::AL"], "File": "ARMMCTargetDesc (2)", "Func": "isUnconditionalBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11275, "Length": 50} {"ground_truth": ["", "bool", "evaluateBranch", "(", "const", "MCInst", "&", "Inst", ",", "uint64_t", "Addr", ",", "uint64_t", "Size", ",", "uint64_t", "&", "Target", ")", "const", "override", "{", "unsigned", "OpId", ";", "switch", "(", "Inst", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "OpId", "=", "0", ";", "break", ";", "case", "ARM", "::", "t2WLS", ":", "case", "ARM", "::", "t2LEUpdate", ":", "OpId", "=", "2", ";", "break", ";", "case", "ARM", "::", "t2LE", ":", "OpId", "=", "1", ";", "break", ";", "}", "if", "(", "Info", "->", "get", "(", "Inst", ".", "getOpcode", "(", ")", ")", ".", "OpInfo", "[", "OpId", "]", ".", "OperandType", "!=", "MCOI", "::", "OPERAND_PCREL", ")", "return", "false", ";", "Target", "=", "Addr", "+", "Inst", ".", "getOperand", "(", "OpId", ")", ".", "getImm", "(", ")", "+", "4", ";", "return", "true", ";", "}", ""], "natrual_language": ["Given", "a", "branch", "instruction", "try", "to", "get", "the", "address", "the", "branch", "targets", "."], "TS_V_token": ["ARM", "0", "ARM::t2WLS", "ARM::t2LEUpdate", "2", "ARM::t2LE", "1", "4"], "File": "ARMMCTargetDesc11", "Func": "evaluateBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11276, "Length": 117} {"ground_truth": ["", "bool", "evaluateBranch", "(", "const", "MCInst", "&", "Inst", ",", "uint64_t", "Addr", ",", "uint64_t", "Size", ",", "uint64_t", "&", "Target", ")", "const", "override", "{", "if", "(", "Info", "->", "get", "(", "Inst", ".", "getOpcode", "(", ")", ")", ".", "OpInfo", "[", "0", "]", ".", "OperandType", "!=", "MCOI", "::", "OPERAND_PCREL", ")", "return", "false", ";", "int64_t", "Imm", "=", "Inst", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "Target", "=", "Addr", "+", "Imm", "+", "4", ";", "return", "true", ";", "}", ""], "natrual_language": ["Given", "a", "branch", "instruction", "try", "to", "get", "the", "address", "the", "branch", "targets", "."], "TS_V_token": ["ARM", "0", "0", "4"], "File": "ARMMCTargetDesc13", "Func": "evaluateBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11277, "Length": 74} {"ground_truth": ["", "bool", "evaluateBranch", "(", "const", "MCInst", "&", "Inst", ",", "uint64_t", "Addr", ",", "uint64_t", "Size", ",", "uint64_t", "&", "Target", ")", "const", "override", "{", "unsigned", "OpId", ";", "switch", "(", "Inst", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "OpId", "=", "0", ";", "if", "(", "Inst", ".", "getNumOperands", "(", ")", "==", "0", ")", "return", "false", ";", "break", ";", "case", "ARM", "::", "MVE_WLSTP_8", ":", "case", "ARM", "::", "MVE_WLSTP_16", ":", "case", "ARM", "::", "MVE_WLSTP_32", ":", "case", "ARM", "::", "MVE_WLSTP_64", ":", "case", "ARM", "::", "t2WLS", ":", "case", "ARM", "::", "MVE_LETP", ":", "case", "ARM", "::", "t2LEUpdate", ":", "OpId", "=", "2", ";", "break", ";", "case", "ARM", "::", "t2LE", ":", "OpId", "=", "1", ";", "break", ";", "}", "if", "(", "Info", "->", "get", "(", "Inst", ".", "getOpcode", "(", ")", ")", ".", "OpInfo", "[", "OpId", "]", ".", "OperandType", "!=", "MCOI", "::", "OPERAND_PCREL", ")", "return", "false", ";", "Target", "=", "Addr", "+", "Inst", ".", "getOperand", "(", "OpId", ")", ".", "getImm", "(", ")", "+", "4", ";", "return", "true", ";", "}", ""], "natrual_language": ["Given", "a", "branch", "instruction", "try", "to", "get", "the", "address", "the", "branch", "targets", "."], "TS_V_token": ["ARM", "0", "0", "ARM::MVE_WLSTP_8", "ARM::MVE_WLSTP_16", "ARM::MVE_WLSTP_32", "ARM::MVE_WLSTP_64", "ARM::t2WLS", "ARM::MVE_LETP", "ARM::t2LEUpdate", "2", "ARM::t2LE", "1", "4"], "File": "ARMMCTargetDesc19", "Func": "evaluateBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11278, "Length": 155} {"ground_truth": ["", "uint64_t", "evaluateBranch", "(", "const", "MCInst", "&", "Inst", ",", "uint64_t", "Addr", ",", "uint64_t", "Size", ")", "const", "{", "if", "(", "Info", "->", "get", "(", "Inst", ".", "getOpcode", "(", ")", ")", ".", "OpInfo", "[", "0", "]", ".", "OperandType", "!=", "MCOI", "::", "OPERAND_PCREL", ")", "return", "-", "1ULL", ";", "int64_t", "Imm", "=", "Inst", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "return", "Addr", "+", "Imm", "+", "8", ";", "}", ""], "natrual_language": ["Given", "a", "branch", "instruction", "try", "to", "get", "the", "address", "the", "branch", "targets", "."], "TS_V_token": ["ARM", "0", "1ULL", "0", "8"], "File": "ARMMCTargetDesc1", "Func": "evaluateBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11279, "Length": 66} {"ground_truth": ["", "virtual", "bool", "isConditionalBranch", "(", "const", "MCInst", "&", "Inst", ")", "const", "{", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "Bcc", "&&", "Inst", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", "==", "ARMCC", "::", "AL", ")", "return", "false", ";", "return", "MCInstrAnalysis", "::", "isConditionalBranch", "(", "Inst", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "this", "is", "a", "branch", "which", "may", "fall", "through", "to", "the", "next", "instruction", "or", "may", "transfer", "control", "flow", "to", "some", "other", "block", "."], "TS_V_token": ["ARM", "ARM::Bcc", "1", "ARMCC::AL"], "File": "ARMMCTargetDesc1", "Func": "isConditionalBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11280, "Length": 50} {"ground_truth": ["", "virtual", "bool", "isUnconditionalBranch", "(", "const", "MCInst", "&", "Inst", ")", "const", "{", "if", "(", "Inst", ".", "getOpcode", "(", ")", "==", "ARM", "::", "Bcc", "&&", "Inst", ".", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", "==", "ARMCC", "::", "AL", ")", "return", "true", ";", "return", "MCInstrAnalysis", "::", "isUnconditionalBranch", "(", "Inst", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "this", "is", "a", "branch", "which", "always", "transfers", "control", "flow", "to", "some", "other", "block", "."], "TS_V_token": ["ARM", "ARM::Bcc", "1", "ARMCC::AL"], "File": "ARMMCTargetDesc1", "Func": "isUnconditionalBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11281, "Length": 50} {"ground_truth": ["", "bool", "evaluateBranch", "(", "const", "MCInst", "&", "Inst", ",", "uint64_t", "Addr", ",", "uint64_t", "Size", ",", "uint64_t", "&", "Target", ")", "const", "override", "{", "unsigned", "OpId", ";", "switch", "(", "Inst", ".", "getOpcode", "(", ")", ")", "{", "default", ":", "OpId", "=", "0", ";", "break", ";", "case", "ARM", "::", "MVE_WLSTP_8", ":", "case", "ARM", "::", "MVE_WLSTP_16", ":", "case", "ARM", "::", "MVE_WLSTP_32", ":", "case", "ARM", "::", "MVE_WLSTP_64", ":", "case", "ARM", "::", "t2WLS", ":", "case", "ARM", "::", "MVE_LETP", ":", "case", "ARM", "::", "t2LEUpdate", ":", "OpId", "=", "2", ";", "break", ";", "case", "ARM", "::", "t2LE", ":", "OpId", "=", "1", ";", "break", ";", "}", "if", "(", "Info", "->", "get", "(", "Inst", ".", "getOpcode", "(", ")", ")", ".", "OpInfo", "[", "OpId", "]", ".", "OperandType", "!=", "MCOI", "::", "OPERAND_PCREL", ")", "return", "false", ";", "Target", "=", "Addr", "+", "Inst", ".", "getOperand", "(", "OpId", ")", ".", "getImm", "(", ")", "+", "4", ";", "return", "true", ";", "}", ""], "natrual_language": ["Given", "a", "branch", "instruction", "try", "to", "get", "the", "address", "the", "branch", "targets", "."], "TS_V_token": ["ARM", "0", "ARM::MVE_WLSTP_8", "ARM::MVE_WLSTP_16", "ARM::MVE_WLSTP_32", "ARM::MVE_WLSTP_64", "ARM::t2WLS", "ARM::MVE_LETP", "ARM::t2LEUpdate", "2", "ARM::t2LE", "1", "4"], "File": "ARMMCTargetDesc32", "Func": "evaluateBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11282, "Length": 142} {"ground_truth": ["", "bool", "evaluateBranch", "(", "const", "MCInst", "&", "Inst", ",", "uint64_t", "Addr", ",", "uint64_t", "Size", ",", "uint64_t", "&", "Target", ")", "const", "override", "{", "const", "MCInstrDesc", "&", "Desc", "=", "Info", "->", "get", "(", "Inst", ".", "getOpcode", "(", ")", ")", ";", "bool", "FoundImm", "=", "false", ";", "int64_t", "Imm", ";", "for", "(", "unsigned", "OpNum", "=", "0", ";", "OpNum", "<", "Desc", ".", "getNumOperands", "(", ")", ";", "++", "OpNum", ")", "{", "if", "(", "Inst", ".", "getOperand", "(", "OpNum", ")", ".", "isImm", "(", ")", "&&", "Desc", ".", "OpInfo", "[", "OpNum", "]", ".", "OperandType", "==", "MCOI", "::", "OPERAND_PCREL", ")", "{", "Imm", "=", "Inst", ".", "getOperand", "(", "OpNum", ")", ".", "getImm", "(", ")", ";", "FoundImm", "=", "true", ";", "}", "}", "if", "(", "!", "FoundImm", ")", "return", "false", ";", "uint64_t", "Offset", "=", "(", "(", "Desc", ".", "TSFlags", "&", "ARMII", "::", "FormMask", ")", "==", "ARMII", "::", "ThumbFrm", ")", "?", "4", ":", "8", ";", "Target", "=", "Addr", "+", "Imm", "+", "Offset", ";", "return", "true", ";", "}", ""], "natrual_language": ["Given", "a", "branch", "instruction", "try", "to", "get", "the", "address", "the", "branch", "targets", "."], "TS_V_token": ["ARM", "0", "ARMII::FormMask", "ARMII::ThumbFrm", "4", "8"], "File": "ARMMCTargetDesc39", "Func": "evaluateBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11283, "Length": 153} {"ground_truth": ["", "bool", "evaluateBranch", "(", "const", "MCInst", "&", "Inst", ",", "uint64_t", "Addr", ",", "uint64_t", "Size", ",", "uint64_t", "&", "Target", ")", "const", "{", "if", "(", "Info", "->", "get", "(", "Inst", ".", "getOpcode", "(", ")", ")", ".", "OpInfo", "[", "0", "]", ".", "OperandType", "!=", "MCOI", "::", "OPERAND_PCREL", ")", "return", "false", ";", "int64_t", "Imm", "=", "Inst", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "Target", "=", "Addr", "+", "Imm", "+", "8", ";", "return", "true", ";", "}", ""], "natrual_language": ["Given", "a", "branch", "instruction", "try", "to", "get", "the", "address", "the", "branch", "targets", "."], "TS_V_token": ["ARM", "0", "0", "8"], "File": "ARMMCTargetDesc3", "Func": "evaluateBranch", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11284, "Length": 73} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"ARM Native Client Rewrite Pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Native Client Rewrite Pass\""], "File": "ARMNaClRewritePass", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11285, "Length": 13} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"optimise barriers pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"optimise barriers pass\""], "File": "ARMOptimizeBarriersPass15", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11286, "Length": 11} {"ground_truth": ["", "bool", "ARMOptimizeBarriersPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "skipFunction", "(", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "std", "::", "vector", "<", "MachineInstr", "*", ">", "ToRemove", ";", "int64_t", "DMBType", "=", "-", "1", ";", "for", "(", "auto", "&", "MBB", ":", "MF", ")", "{", "bool", "IsRemovableNextDMB", "=", "false", ";", "for", "(", "auto", "&", "MI", ":", "MBB", ")", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "DMB", ")", "{", "if", "(", "IsRemovableNextDMB", ")", "{", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", "==", "DMBType", ")", "{", "ToRemove", ".", "push_back", "(", "&", "MI", ")", ";", "}", "else", "{", "DMBType", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "}", "}", "else", "{", "IsRemovableNextDMB", "=", "true", ";", "DMBType", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "}", "}", "else", "if", "(", "!", "CanMovePastDMB", "(", "&", "MI", ")", ")", "{", "IsRemovableNextDMB", "=", "false", ";", "}", "}", "}", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "MI", ":", "ToRemove", ")", "{", "MI", "->", "eraseFromParent", "(", ")", ";", "++", "NumDMBsRemoved", ";", "Changed", "=", "true", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM::DMB", "0", "0", "0"], "File": "ARMOptimizeBarriersPass15", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11287, "Length": 192} {"ground_truth": ["", "bool", "ARMOptimizeBarriersPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "std", "::", "vector", "<", "MachineInstr", "*", ">", "ToRemove", ";", "int64_t", "DMBType", "=", "-", "1", ";", "for", "(", "auto", "&", "MBB", ":", "MF", ")", "{", "bool", "IsRemovableNextDMB", "=", "false", ";", "for", "(", "auto", "&", "MI", ":", "MBB", ")", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "DMB", ")", "{", "if", "(", "IsRemovableNextDMB", ")", "{", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", "==", "DMBType", ")", "{", "ToRemove", ".", "push_back", "(", "&", "MI", ")", ";", "}", "else", "{", "DMBType", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "}", "}", "else", "{", "IsRemovableNextDMB", "=", "true", ";", "DMBType", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "}", "}", "else", "if", "(", "!", "CanMovePastDMB", "(", "&", "MI", ")", ")", "{", "IsRemovableNextDMB", "=", "false", ";", "}", "}", "}", "for", "(", "auto", "MI", ":", "ToRemove", ")", "{", "MI", "->", "eraseFromParent", "(", ")", ";", "++", "NumDMBsRemoved", ";", "}", "return", "NumDMBsRemoved", ">", "0", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM::DMB", "0", "0", "0", "0"], "File": "ARMOptimizeBarriersPass1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11288, "Length": 171} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"optimise barriers pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"optimise barriers pass\""], "File": "ARMOptimizeBarriersPass7", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11289, "Length": 13} {"ground_truth": ["", "bool", "ARMOptimizeBarriersPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "skipFunction", "(", "*", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "std", "::", "vector", "<", "MachineInstr", "*", ">", "ToRemove", ";", "int64_t", "DMBType", "=", "-", "1", ";", "for", "(", "auto", "&", "MBB", ":", "MF", ")", "{", "bool", "IsRemovableNextDMB", "=", "false", ";", "for", "(", "auto", "&", "MI", ":", "MBB", ")", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "DMB", ")", "{", "if", "(", "IsRemovableNextDMB", ")", "{", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", "==", "DMBType", ")", "{", "ToRemove", ".", "push_back", "(", "&", "MI", ")", ";", "}", "else", "{", "DMBType", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "}", "}", "else", "{", "IsRemovableNextDMB", "=", "true", ";", "DMBType", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "}", "}", "else", "if", "(", "!", "CanMovePastDMB", "(", "&", "MI", ")", ")", "{", "IsRemovableNextDMB", "=", "false", ";", "}", "}", "}", "bool", "Changed", "=", "false", ";", "for", "(", "auto", "MI", ":", "ToRemove", ")", "{", "MI", "->", "eraseFromParent", "(", ")", ";", "++", "NumDMBsRemoved", ";", "Changed", "=", "true", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM::DMB", "0", "0", "0"], "File": "ARMOptimizeBarriersPass8", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11290, "Length": 193} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "\"optimise barriers pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"optimise barriers pass\""], "File": "ARMOptimizeBarriersPass", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11291, "Length": 13} {"ground_truth": ["", "bool", "ARMOptimizeBarriersPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "skipFunction", "(", "*", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "std", "::", "vector", "<", "MachineInstr", "*", ">", "ToRemove", ";", "int64_t", "DMBType", "=", "-", "1", ";", "for", "(", "auto", "&", "MBB", ":", "MF", ")", "{", "bool", "IsRemovableNextDMB", "=", "false", ";", "for", "(", "auto", "&", "MI", ":", "MBB", ")", "{", "if", "(", "MI", ".", "getOpcode", "(", ")", "==", "ARM", "::", "DMB", ")", "{", "if", "(", "IsRemovableNextDMB", ")", "{", "if", "(", "MI", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", "==", "DMBType", ")", "{", "ToRemove", ".", "push_back", "(", "&", "MI", ")", ";", "}", "else", "{", "DMBType", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "}", "}", "else", "{", "IsRemovableNextDMB", "=", "true", ";", "DMBType", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "}", "}", "else", "if", "(", "!", "CanMovePastDMB", "(", "&", "MI", ")", ")", "{", "IsRemovableNextDMB", "=", "false", ";", "}", "}", "}", "for", "(", "auto", "MI", ":", "ToRemove", ")", "{", "MI", "->", "eraseFromParent", "(", ")", ";", "++", "NumDMBsRemoved", ";", "}", "return", "NumDMBsRemoved", ">", "0", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM::DMB", "0", "0", "0", "0"], "File": "ARMOptimizeBarriersPass", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11292, "Length": 186} {"ground_truth": ["", "bool", "ARMPagerandoOptimizer", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "auto", "&", "F", "=", "MF", ".", "getFunction", "(", ")", ";", "if", "(", "!", "F", ".", "isPagerando", "(", ")", "||", "skipFunction", "(", "F", ")", ")", "{", "return", "false", ";", "}", "auto", "BinPrefix", "=", "F", ".", "getSectionPrefix", "(", ")", ".", "getValue", "(", ")", ";", "auto", "&", "CPEntries", "=", "MF", ".", "getConstantPool", "(", ")", "->", "getConstants", "(", ")", ";", "SmallSet", "<", "int", ",", "8", ">", "CPIndices", ";", "int", "Index", "=", "0", ";", "for", "(", "auto", "&", "E", ":", "CPEntries", ")", "{", "if", "(", "isIntraBin", "(", "E", ",", "BinPrefix", ")", ")", "CPIndices", ".", "insert", "(", "Index", ")", ";", "Index", "++", ";", "}", "if", "(", "CPIndices", ".", "empty", "(", ")", ")", "return", "false", ";", "std", "::", "vector", "<", "MachineInstr", "*", ">", "Uses", ";", "for", "(", "auto", "&", "BB", ":", "MF", ")", "{", "for", "(", "auto", "&", "MI", ":", "BB", ")", "{", "int", "Index", "=", "getCPIndex", "(", "MI", ")", ";", "if", "(", "CPIndices", ".", "count", "(", "Index", ")", ")", "Uses", ".", "push_back", "(", "&", "MI", ")", ";", "}", "}", "for", "(", "auto", "*", "MI", ":", "Uses", ")", "{", "int", "Index", "=", "getCPIndex", "(", "*", "MI", ")", ";", "auto", "*", "Callee", "=", "getCallee", "(", "CPEntries", "[", "Index", "]", ")", ";", "optimizeCalls", "(", "MI", ",", "Callee", ")", ";", "}", "deleteCPEntries", "(", "MF", ",", "CPIndices", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "8", "0"], "File": "ARMPagerandoOptimizer", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11293, "Length": 222} {"ground_truth": ["", "void", "dump", "(", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Reduction:\\n\"", ";", "for", "(", "auto", "*", "Add", ":", "Adds", ")", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "*", "Add", "<<", "\"\\n\"", ")", ";", "for", "(", "auto", "&", "Mul", ":", "Muls", ")", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "*", "Mul", "->", "Root", "<<", "\"\\n\"", "<<", "\" \"", "<<", "*", "Mul", "->", "LHS", "<<", "\"\\n\"", "<<", "\" \"", "<<", "*", "Mul", "->", "RHS", "<<", "\"\\n\"", ")", ";", "LLVM_DEBUG", "(", "if", "(", "Acc", ")", "dbgs", "(", ")", "<<", "\"Acc in: \"", "<<", "*", "Acc", "<<", "\"\\n\"", ")", ")", ";", "}", ""], "natrual_language": ["Dump", "the", "plan", "to", "stderr", "(", "for", "debugging", ")", "."], "TS_V_token": ["ARM", "\"Reduction:\\n\"", "\"\\n\"", "\"\\n\"", "\" \"", "\"\\n\"", "\" \"", "\"\\n\"", "\"Acc in: \"", "\"\\n\""], "File": "ARMParallelDSP10", "Func": "dump", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11294, "Length": 93} {"ground_truth": ["", "Type", "*", "getType", "(", ")", "const", "{", "return", "Root", "->", "getType", "(", ")", ";", "}", ""], "natrual_language": ["Overload", "to", "return", "most", "specific", "vector", "type", "."], "TS_V_token": ["ARM"], "File": "ARMParallelDSP10", "Func": "getType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11295, "Length": 15} {"ground_truth": ["", "bool", "runOnFunction", "(", "Function", "&", "F", ")", "override", "{", "if", "(", "DisableParallelDSP", ")", "return", "false", ";", "if", "(", "skipFunction", "(", "F", ")", ")", "return", "false", ";", "SE", "=", "&", "getAnalysis", "<", "ScalarEvolutionWrapperPass", ">", "(", ")", ".", "getSE", "(", ")", ";", "AA", "=", "&", "getAnalysis", "<", "AAResultsWrapperPass", ">", "(", ")", ".", "getAAResults", "(", ")", ";", "TLI", "=", "&", "getAnalysis", "<", "TargetLibraryInfoWrapperPass", ">", "(", ")", ".", "getTLI", "(", "F", ")", ";", "DT", "=", "&", "getAnalysis", "<", "DominatorTreeWrapperPass", ">", "(", ")", ".", "getDomTree", "(", ")", ";", "auto", "&", "TPC", "=", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "M", "=", "F", ".", "getParent", "(", ")", ";", "DL", "=", "&", "M", "->", "getDataLayout", "(", ")", ";", "auto", "&", "TM", "=", "TPC", ".", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "auto", "*", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "if", "(", "!", "ST", "->", "allowsUnalignedMem", "(", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Unaligned memory access not supported: not \"", "\"running pass ARMParallelDSP\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "ST", "->", "hasDSP", "(", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"DSP extension not enabled: not running pass \"", "\"ARMParallelDSP\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "ST", "->", "isLittle", "(", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Only supporting little endian: not running pass \"", "<<", "\"ARMParallelDSP\\n\"", ")", ";", "return", "false", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"\\n== Parallel DSP pass ==\\n\"", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\" - \"", "<<", "F", ".", "getName", "(", ")", "<<", "\"\\n\\n\"", ")", ";", "bool", "Changes", "=", "MatchSMLAD", "(", "F", ")", ";", "return", "Changes", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "\"Unaligned memory access not supported: not \"", "\"running pass ARMParallelDSP\\n\"", "\"DSP extension not enabled: not running pass \"", "\"ARMParallelDSP\\n\"", "\"Only supporting little endian: not running pass \"", "\"ARMParallelDSP\\n\"", "\"\\n== Parallel DSP pass ==\\n\"", "\" - \"", "\"\\n\\n\""], "File": "ARMParallelDSP10", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11296, "Length": 250} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "FunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "AU", ".", "addRequired", "<", "AssumptionCacheTracker", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "ScalarEvolutionWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "AAResultsWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "TargetLibraryInfoWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "DominatorTreeWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "TargetPassConfig", ">", "(", ")", ";", "AU", ".", "addPreserved", "<", "ScalarEvolutionWrapperPass", ">", "(", ")", ";", "AU", ".", "addPreserved", "<", "GlobalsAAWrapperPass", ">", "(", ")", ";", "AU", ".", "setPreservesCFG", "(", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMParallelDSP1", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11297, "Length": 96} {"ground_truth": ["", "LoadInst", "*", "getLoad", "(", ")", "{", "return", "NewLd", ";", "}", ""], "natrual_language": ["Loads", "are", "not", "normal", "binary", "operators", ":", "their", "result", "type", "is", "not", "determined", "by", "their", "operands", ",", "and", "they", "produce", "a", "value", "AND", "a", "token", "chain", "."], "TS_V_token": ["ARM"], "File": "ARMParallelDSP1", "Func": "getLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11298, "Length": 10} {"ground_truth": ["", "Instruction", "*", "getRoot", "(", ")", "{", "return", "Root", ";", "}", ""], "natrual_language": ["Similar", "to", "getMemoryRoot", ",", "but", "also", "flushes", "PendingConstrainedFP", "(", "Strict", ")", "items", "."], "TS_V_token": ["ARM"], "File": "ARMParallelDSP1", "Func": "getRoot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11299, "Length": 10} {"ground_truth": ["", "bool", "runOnFunction", "(", "Function", "&", "F", ")", "override", "{", "if", "(", "DisableParallelDSP", ")", "return", "false", ";", "if", "(", "skipFunction", "(", "F", ")", ")", "return", "false", ";", "SE", "=", "&", "getAnalysis", "<", "ScalarEvolutionWrapperPass", ">", "(", ")", ".", "getSE", "(", ")", ";", "AA", "=", "&", "getAnalysis", "<", "AAResultsWrapperPass", ">", "(", ")", ".", "getAAResults", "(", ")", ";", "TLI", "=", "&", "getAnalysis", "<", "TargetLibraryInfoWrapperPass", ">", "(", ")", ".", "getTLI", "(", ")", ";", "DT", "=", "&", "getAnalysis", "<", "DominatorTreeWrapperPass", ">", "(", ")", ".", "getDomTree", "(", ")", ";", "auto", "&", "TPC", "=", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "M", "=", "F", ".", "getParent", "(", ")", ";", "DL", "=", "&", "M", "->", "getDataLayout", "(", ")", ";", "auto", "&", "TM", "=", "TPC", ".", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "auto", "*", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "if", "(", "!", "ST", "->", "allowsUnalignedMem", "(", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Unaligned memory access not supported: not \"", "\"running pass ARMParallelDSP\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "ST", "->", "hasDSP", "(", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"DSP extension not enabled: not running pass \"", "\"ARMParallelDSP\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "ST", "->", "isLittle", "(", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Only supporting little endian: not running pass \"", "<<", "\"ARMParallelDSP\\n\"", ")", ";", "return", "false", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"\\n== Parallel DSP pass ==\\n\"", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\" - \"", "<<", "F", ".", "getName", "(", ")", "<<", "\"\\n\\n\"", ")", ";", "bool", "Changes", "=", "MatchSMLAD", "(", "F", ")", ";", "return", "Changes", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "\"Unaligned memory access not supported: not \"", "\"running pass ARMParallelDSP\\n\"", "\"DSP extension not enabled: not running pass \"", "\"ARMParallelDSP\\n\"", "\"Only supporting little endian: not running pass \"", "\"ARMParallelDSP\\n\"", "\"\\n== Parallel DSP pass ==\\n\"", "\" - \"", "\"\\n\\n\""], "File": "ARMParallelDSP1", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11300, "Length": 249} {"ground_truth": ["", "bool", "doInitialization", "(", "Loop", "*", "L", ",", "LPPassManager", "&", "LPM", ")", "override", "{", "LoadPairs", ".", "clear", "(", ")", ";", "WideLoads", ".", "clear", "(", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Set", "up", "the", "AsmPrinter", "when", "we", "are", "working", "on", "a", "new", "module", "."], "TS_V_token": ["ARM"], "File": "ARMParallelDSP21", "Func": "doInitialization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11301, "Length": 29} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "LoopPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "AU", ".", "addRequired", "<", "AssumptionCacheTracker", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "ScalarEvolutionWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "AAResultsWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "TargetLibraryInfoWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "LoopInfoWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "DominatorTreeWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "TargetPassConfig", ">", "(", ")", ";", "AU", ".", "addPreserved", "<", "LoopInfoWrapperPass", ">", "(", ")", ";", "AU", ".", "setPreservesCFG", "(", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMParallelDSP", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11302, "Length": 96} {"ground_truth": ["", "unsigned", "size", "(", ")", "const", "{", "return", "AllValues", ".", "size", "(", ")", ";", "}", ""], "natrual_language": ["The", "number", "of", "name/type", "pairs", "is", "returned", "."], "TS_V_token": ["ARM"], "File": "ARMParallelDSP", "Func": "size", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11303, "Length": 14} {"ground_truth": ["", "ARMPLT1", "*", "ARMPLT", "::", "create", "(", ")", "{", "ARMPLT1", "*", "plt1_entry", "=", "new", "(", "std", "::", "nothrow", ")", "ARMPLT1", "(", "*", "m_pSectionData", ")", ";", "if", "(", "!", "plt1_entry", ")", "fatal", "(", "diag", "::", "fail_allocate_memory_plt", ")", ";", "return", "plt1_entry", ";", "}", ""], "natrual_language": ["This", "creates", "an", "identified", "struct", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMPLT", "Func": "create", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11304, "Length": 40} {"ground_truth": ["", "uint64_t", "ARMPLT", "::", "emit", "(", "MemoryRegion", "&", "pRegion", ")", "{", "uint64_t", "result", "=", "0x0", ";", "iterator", "it", "=", "begin", "(", ")", ";", "unsigned", "char", "*", "buffer", "=", "pRegion", ".", "begin", "(", ")", ";", "memcpy", "(", "buffer", ",", "llvm", "::", "cast", "<", "ARMPLT0", ">", "(", "(", "*", "it", ")", ")", ".", "getValue", "(", ")", ",", "ARMPLT0", "::", "EntrySize", ")", ";", "result", "+=", "ARMPLT0", "::", "EntrySize", ";", "++", "it", ";", "ARMPLT1", "*", "plt1", "=", "0", ";", "ARMPLT", "::", "iterator", "ie", "=", "end", "(", ")", ";", "while", "(", "it", "!=", "ie", ")", "{", "plt1", "=", "&", "(", "llvm", "::", "cast", "<", "ARMPLT1", ">", "(", "*", "it", ")", ")", ";", "memcpy", "(", "buffer", "+", "result", ",", "plt1", "->", "getValue", "(", ")", ",", "ARMPLT1", "::", "EntrySize", ")", ";", "result", "+=", "ARMPLT1", "::", "EntrySize", ";", "++", "it", ";", "}", "return", "result", ";", "}", ""], "natrual_language": ["Output", "the", "remark", "via", "the", "diagnostic", "handler", "and", "to", "the", "optimization", "record", "file", "."], "TS_V_token": ["ARM", "ARM", "0x0", "ARM", "ARM", "ARM", "ARM", "0", "ARM", "ARM", "ARM", "ARM"], "File": "ARMPLT", "Func": "emit", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11305, "Length": 137} {"ground_truth": ["", "RegisterBankInfo", "::", "InstructionMapping", "ARMRegisterBankInfo", "::", "getInstrMapping", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "auto", "Opc", "=", "MI", ".", "getOpcode", "(", ")", ";", "if", "(", "!", "isPreISelGenericOpcode", "(", "Opc", ")", ")", "{", "InstructionMapping", "Mapping", "=", "getInstrMappingImpl", "(", "MI", ")", ";", "if", "(", "Mapping", ".", "isValid", "(", ")", ")", "return", "Mapping", ";", "}", "using", "namespace", "TargetOpcode", ";", "unsigned", "NumOperands", "=", "MI", ".", "getNumOperands", "(", ")", ";", "const", "ValueMapping", "*", "OperandsMapping", "=", "&", "ARM", "::", "ValueMappings", "[", "0", "]", ";", "switch", "(", "Opc", ")", "{", "case", "G_ADD", ":", "case", "G_LOAD", ":", "case", "G_SEXT", ":", "case", "G_ZEXT", ":", "OperandsMapping", "=", "&", "ARM", "::", "ValueMappings", "[", "0", "]", ";", "break", ";", "case", "G_FRAME_INDEX", ":", "OperandsMapping", "=", "getOperandsMapping", "(", "{", "&", "ARM", "::", "ValueMappings", "[", "0", "]", ",", "nullptr", "}", ")", ";", "break", ";", "default", ":", "return", "InstructionMapping", "{", "}", ";", "}", "return", "InstructionMapping", "{", "DefaultMappingID", ",", "1", ",", "OperandsMapping", ",", "NumOperands", "}", ";", "}", ""], "natrual_language": ["Get", "the", "mapping", "of", "the", "different", "operands", "of", "MI", "on", "the", "register", "bank", "."], "TS_V_token": ["ARM", "ARM", "ARM::ValueMappings", "0", "ARM::ValueMappings", "0", "ARM::ValueMappings", "0", "1"], "File": "ARMRegisterBankInfo11", "Func": "getInstrMapping", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11306, "Length": 150} {"ground_truth": ["", "const", "RegisterBank", "&", "ARMRegisterBankInfo", "::", "getRegBankFromRegClass", "(", "const", "TargetRegisterClass", "&", "RC", ")", "const", "{", "using", "namespace", "ARM", ";", "switch", "(", "RC", ".", "getID", "(", ")", ")", "{", "case", "GPRRegClassID", ":", "case", "GPRnopcRegClassID", ":", "case", "tGPR_and_tcGPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "GPRRegBankID", ")", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported register kind\"", ")", ";", "}", "llvm_unreachable", "(", "\"Switch should handle all register classes\"", ")", ";", "}", ""], "natrual_language": ["Get", "a", "register", "bank", "that", "covers", "RC", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegBankID", "\"Unsupported register kind\"", "\"Switch should handle all register classes\""], "File": "ARMRegisterBankInfo11", "Func": "getRegBankFromRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11307, "Length": 58} {"ground_truth": ["", "const", "RegisterBank", "&", "ARMRegisterBankInfo", "::", "getRegBankFromRegClass", "(", "const", "TargetRegisterClass", "&", "RC", ",", "LLT", ")", "const", "{", "using", "namespace", "ARM", ";", "switch", "(", "RC", ".", "getID", "(", ")", ")", "{", "case", "GPRRegClassID", ":", "case", "GPRwithAPSRRegClassID", ":", "case", "GPRnoipRegClassID", ":", "case", "GPRnopcRegClassID", ":", "case", "GPRnoip_and_GPRnopcRegClassID", ":", "case", "rGPRRegClassID", ":", "case", "GPRspRegClassID", ":", "case", "GPRnoip_and_tcGPRRegClassID", ":", "case", "tcGPRRegClassID", ":", "case", "tGPRRegClassID", ":", "case", "tGPREvenRegClassID", ":", "case", "tGPROddRegClassID", ":", "case", "tGPR_and_tGPREvenRegClassID", ":", "case", "tGPR_and_tGPROddRegClassID", ":", "case", "tGPREven_and_tcGPRRegClassID", ":", "case", "tGPREven_and_GPRnoip_and_tcGPRRegClassID", ":", "case", "tGPROdd_and_tcGPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "GPRRegBankID", ")", ";", "case", "HPRRegClassID", ":", "case", "SPR_8RegClassID", ":", "case", "SPRRegClassID", ":", "case", "DPR_8RegClassID", ":", "case", "DPRRegClassID", ":", "case", "QPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "FPRRegBankID", ")", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported register kind\"", ")", ";", "}", "llvm_unreachable", "(", "\"Switch should handle all register classes\"", ")", ";", "}", ""], "natrual_language": ["Get", "a", "register", "bank", "that", "covers", "RC", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegBankID", "ARM::FPRRegBankID", "\"Unsupported register kind\"", "\"Switch should handle all register classes\""], "File": "ARMRegisterBankInfo12", "Func": "getRegBankFromRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11308, "Length": 128} {"ground_truth": ["", "const", "RegisterBank", "&", "ARMRegisterBankInfo", "::", "getRegBankFromRegClass", "(", "const", "TargetRegisterClass", "&", "RC", ")", "const", "{", "using", "namespace", "ARM", ";", "switch", "(", "RC", ".", "getID", "(", ")", ")", "{", "case", "GPRRegClassID", ":", "case", "GPRwithAPSRRegClassID", ":", "case", "GPRnopcRegClassID", ":", "case", "rGPRRegClassID", ":", "case", "GPRspRegClassID", ":", "case", "tGPR_and_tcGPRRegClassID", ":", "case", "tcGPRRegClassID", ":", "case", "tGPRRegClassID", ":", "case", "tGPREvenRegClassID", ":", "case", "tGPROddRegClassID", ":", "case", "tGPR_and_tGPREvenRegClassID", ":", "case", "tGPR_and_tGPROddRegClassID", ":", "case", "tGPREven_and_tcGPRRegClassID", ":", "case", "tGPREven_and_tGPR_and_tcGPRRegClassID", ":", "case", "tGPROdd_and_tcGPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "GPRRegBankID", ")", ";", "case", "HPRRegClassID", ":", "case", "SPR_8RegClassID", ":", "case", "SPRRegClassID", ":", "case", "DPR_8RegClassID", ":", "case", "DPRRegClassID", ":", "case", "QPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "FPRRegBankID", ")", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported register kind\"", ")", ";", "}", "llvm_unreachable", "(", "\"Switch should handle all register classes\"", ")", ";", "}", ""], "natrual_language": ["Get", "a", "register", "bank", "that", "covers", "RC", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegBankID", "ARM::FPRRegBankID", "\"Unsupported register kind\"", "\"Switch should handle all register classes\""], "File": "ARMRegisterBankInfo15", "Func": "getRegBankFromRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11309, "Length": 120} {"ground_truth": ["", "const", "RegisterBank", "&", "ARMRegisterBankInfo", "::", "getRegBankFromRegClass", "(", "const", "TargetRegisterClass", "&", "RC", ")", "const", "{", "using", "namespace", "ARM", ";", "switch", "(", "RC", ".", "getID", "(", ")", ")", "{", "case", "GPRRegClassID", ":", "case", "GPRnopcRegClassID", ":", "case", "tGPR_and_tcGPRRegClassID", ":", "case", "tGPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "GPRRegBankID", ")", ";", "case", "SPR_8RegClassID", ":", "case", "SPRRegClassID", ":", "case", "DPR_8RegClassID", ":", "case", "DPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "FPRRegBankID", ")", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported register kind\"", ")", ";", "}", "llvm_unreachable", "(", "\"Switch should handle all register classes\"", ")", ";", "}", ""], "natrual_language": ["Get", "a", "register", "bank", "that", "covers", "RC", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegBankID", "ARM::FPRRegBankID", "\"Unsupported register kind\"", "\"Switch should handle all register classes\""], "File": "ARMRegisterBankInfo16", "Func": "getRegBankFromRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11310, "Length": 81} {"ground_truth": ["", "const", "RegisterBank", "&", "ARMRegisterBankInfo", "::", "getRegBankFromRegClass", "(", "const", "TargetRegisterClass", "&", "RC", ",", "LLT", ")", "const", "{", "using", "namespace", "ARM", ";", "switch", "(", "RC", ".", "getID", "(", ")", ")", "{", "case", "GPRRegClassID", ":", "case", "GPRwithAPSRRegClassID", ":", "case", "GPRnopcRegClassID", ":", "case", "rGPRRegClassID", ":", "case", "GPRspRegClassID", ":", "case", "tGPR_and_tcGPRRegClassID", ":", "case", "tcGPRRegClassID", ":", "case", "tGPRRegClassID", ":", "case", "tGPREvenRegClassID", ":", "case", "tGPROddRegClassID", ":", "case", "tGPR_and_tGPREvenRegClassID", ":", "case", "tGPR_and_tGPROddRegClassID", ":", "case", "tGPREven_and_tcGPRRegClassID", ":", "case", "tGPREven_and_tGPR_and_tcGPRRegClassID", ":", "case", "tGPROdd_and_tcGPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "GPRRegBankID", ")", ";", "case", "HPRRegClassID", ":", "case", "SPR_8RegClassID", ":", "case", "SPRRegClassID", ":", "case", "DPR_8RegClassID", ":", "case", "DPRRegClassID", ":", "case", "QPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "FPRRegBankID", ")", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported register kind\"", ")", ";", "}", "llvm_unreachable", "(", "\"Switch should handle all register classes\"", ")", ";", "}", ""], "natrual_language": ["Get", "a", "register", "bank", "that", "covers", "RC", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegBankID", "ARM::FPRRegBankID", "\"Unsupported register kind\"", "\"Switch should handle all register classes\""], "File": "ARMRegisterBankInfo17", "Func": "getRegBankFromRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11311, "Length": 122} {"ground_truth": ["", "const", "RegisterBank", "&", "ARMRegisterBankInfo", "::", "getRegBankFromRegClass", "(", "const", "TargetRegisterClass", "&", "RC", ")", "const", "{", "using", "namespace", "ARM", ";", "switch", "(", "RC", ".", "getID", "(", ")", ")", "{", "case", "GPRRegClassID", ":", "case", "GPRnopcRegClassID", ":", "case", "GPRspRegClassID", ":", "case", "tGPR_and_tcGPRRegClassID", ":", "case", "tGPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "GPRRegBankID", ")", ";", "case", "SPR_8RegClassID", ":", "case", "SPRRegClassID", ":", "case", "DPR_8RegClassID", ":", "case", "DPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "FPRRegBankID", ")", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported register kind\"", ")", ";", "}", "llvm_unreachable", "(", "\"Switch should handle all register classes\"", ")", ";", "}", ""], "natrual_language": ["Get", "a", "register", "bank", "that", "covers", "RC", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegBankID", "ARM::FPRRegBankID", "\"Unsupported register kind\"", "\"Switch should handle all register classes\""], "File": "ARMRegisterBankInfo1", "Func": "getRegBankFromRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11312, "Length": 84} {"ground_truth": ["", "RegisterBankInfo", "::", "InstructionMapping", "ARMRegisterBankInfo", "::", "getInstrMapping", "(", "const", "MachineInstr", "&", "MI", ")", "const", "{", "auto", "Opc", "=", "MI", ".", "getOpcode", "(", ")", ";", "if", "(", "!", "isPreISelGenericOpcode", "(", "Opc", ")", ")", "{", "InstructionMapping", "Mapping", "=", "getInstrMappingImpl", "(", "MI", ")", ";", "if", "(", "Mapping", ".", "isValid", "(", ")", ")", "return", "Mapping", ";", "}", "using", "namespace", "TargetOpcode", ";", "unsigned", "NumOperands", "=", "MI", ".", "getNumOperands", "(", ")", ";", "const", "ValueMapping", "*", "OperandsMapping", "=", "&", "ARM", "::", "ValueMappings", "[", "0", "]", ";", "switch", "(", "Opc", ")", "{", "case", "G_ADD", ":", "case", "G_LOAD", ":", "OperandsMapping", "=", "&", "ARM", "::", "ValueMappings", "[", "0", "]", ";", "break", ";", "case", "G_FRAME_INDEX", ":", "OperandsMapping", "=", "getOperandsMapping", "(", "{", "&", "ARM", "::", "ValueMappings", "[", "0", "]", ",", "nullptr", "}", ")", ";", "break", ";", "default", ":", "return", "InstructionMapping", "{", "}", ";", "}", "return", "InstructionMapping", "{", "DefaultMappingID", ",", "1", ",", "OperandsMapping", ",", "NumOperands", "}", ";", "}", ""], "natrual_language": ["Get", "the", "mapping", "of", "the", "different", "operands", "of", "MI", "on", "the", "register", "bank", "."], "TS_V_token": ["ARM", "ARM", "ARM::ValueMappings", "0", "ARM::ValueMappings", "0", "ARM::ValueMappings", "0", "1"], "File": "ARMRegisterBankInfo21", "Func": "getInstrMapping", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11313, "Length": 144} {"ground_truth": ["", "const", "RegisterBank", "&", "ARMRegisterBankInfo", "::", "getRegBankFromRegClass", "(", "const", "TargetRegisterClass", "&", "RC", ")", "const", "{", "using", "namespace", "ARM", ";", "switch", "(", "RC", ".", "getID", "(", ")", ")", "{", "case", "GPRRegClassID", ":", "case", "tGPR_and_tcGPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "GPRRegBankID", ")", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported register kind\"", ")", ";", "}", "llvm_unreachable", "(", "\"Switch should handle all register classes\"", ")", ";", "}", ""], "natrual_language": ["Get", "a", "register", "bank", "that", "covers", "RC", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegBankID", "\"Unsupported register kind\"", "\"Switch should handle all register classes\""], "File": "ARMRegisterBankInfo21", "Func": "getRegBankFromRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11314, "Length": 55} {"ground_truth": ["", "const", "RegisterBank", "&", "ARMRegisterBankInfo", "::", "getRegBankFromRegClass", "(", "const", "TargetRegisterClass", "&", "RC", ")", "const", "{", "using", "namespace", "ARM", ";", "switch", "(", "RC", ".", "getID", "(", ")", ")", "{", "case", "GPRRegClassID", ":", "case", "GPRnopcRegClassID", ":", "case", "tGPR_and_tcGPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "GPRRegBankID", ")", ";", "case", "SPR_8RegClassID", ":", "case", "SPRRegClassID", ":", "case", "DPR_8RegClassID", ":", "case", "DPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "FPRRegBankID", ")", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported register kind\"", ")", ";", "}", "llvm_unreachable", "(", "\"Switch should handle all register classes\"", ")", ";", "}", ""], "natrual_language": ["Get", "a", "register", "bank", "that", "covers", "RC", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegBankID", "ARM::FPRRegBankID", "\"Unsupported register kind\"", "\"Switch should handle all register classes\""], "File": "ARMRegisterBankInfo28", "Func": "getRegBankFromRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11315, "Length": 78} {"ground_truth": ["", "const", "RegisterBank", "&", "ARMRegisterBankInfo", "::", "getRegBankFromRegClass", "(", "const", "TargetRegisterClass", "&", "RC", ")", "const", "{", "using", "namespace", "ARM", ";", "switch", "(", "RC", ".", "getID", "(", ")", ")", "{", "case", "GPRRegClassID", ":", "case", "GPRwithAPSRRegClassID", ":", "case", "GPRnopcRegClassID", ":", "case", "rGPRRegClassID", ":", "case", "GPRspRegClassID", ":", "case", "tGPR_and_tcGPRRegClassID", ":", "case", "tcGPRRegClassID", ":", "case", "tGPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "GPRRegBankID", ")", ";", "case", "HPRRegClassID", ":", "case", "SPR_8RegClassID", ":", "case", "SPRRegClassID", ":", "case", "DPR_8RegClassID", ":", "case", "DPRRegClassID", ":", "case", "QPRRegClassID", ":", "return", "getRegBank", "(", "ARM", "::", "FPRRegBankID", ")", ";", "default", ":", "llvm_unreachable", "(", "\"Unsupported register kind\"", ")", ";", "}", "llvm_unreachable", "(", "\"Switch should handle all register classes\"", ")", ";", "}", ""], "natrual_language": ["Get", "a", "register", "bank", "that", "covers", "RC", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegBankID", "ARM::FPRRegBankID", "\"Unsupported register kind\"", "\"Switch should handle all register classes\""], "File": "ARMRegisterBankInfo", "Func": "getRegBankFromRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11316, "Length": 99} {"ground_truth": ["", "void", "ARMRegisterInfo", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "Align", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", "->", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "bool", "isThumb", "=", "AFI", "->", "isThumbFunction", "(", ")", ";", "ARMCC", "::", "CondCodes", "Pred", "=", "isThumb", "?", "ARMCC", "::", "AL", ":", "(", "ARMCC", "::", "CondCodes", ")", "Old", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "unsigned", "PredReg", "=", "isThumb", "?", "0", ":", "Old", "->", "getOperand", "(", "2", ")", ".", "getReg", "(", ")", ";", "emitSPUpdate", "(", "MBB", ",", "I", ",", "-", "Amount", ",", "Pred", ",", "PredReg", ",", "isThumb", ",", "TII", ",", "*", "this", ",", "dl", ")", ";", "}", "else", "{", "unsigned", "PredReg", "=", "isThumb", "?", "0", ":", "Old", "->", "getOperand", "(", "3", ")", ".", "getReg", "(", ")", ";", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "MBB", ",", "I", ",", "Amount", ",", "Pred", ",", "PredReg", ",", "isThumb", ",", "TII", ",", "*", "this", ",", "dl", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "ARM", "ARM", "1", "ARMCC::CondCodes", "ARMCC::AL", "ARMCC::CondCodes", "1", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "0", "2", "0", "3", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "ARMRegisterInfo13", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11317, "Length": 279} {"ground_truth": ["", "void", "ARMRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "unsigned", "DestReg", ",", "int", "Val", ",", "unsigned", "Pred", ",", "unsigned", "PredReg", ",", "const", "TargetInstrInfo", "*", "TII", ",", "bool", "isThumb", ",", "DebugLoc", "dl", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "Int32Ty", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "if", "(", "isThumb", ")", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", "->", "get", "(", "ARM", "::", "tLDRcp", ")", ",", "DestReg", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ";", "else", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", "->", "get", "(", "ARM", "::", "LDRcp", ")", ",", "DestReg", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addReg", "(", "0", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARM", "4", "ARM::tLDRcp", "ARM::LDRcp", "0", "0"], "File": "ARMRegisterInfo13", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11318, "Length": 164} {"ground_truth": ["", "static", "void", "emitSPUpdate", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "int", "NumBytes", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "bool", "isThumb", ",", "const", "TargetInstrInfo", "&", "TII", ",", "const", "ARMRegisterInfo", "&", "MRI", ",", "DebugLoc", "dl", ")", "{", "if", "(", "isThumb", ")", "emitThumbRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "TII", ",", "MRI", ",", "dl", ")", ";", "else", "emitARMRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "Pred", ",", "PredReg", ",", "TII", ",", "dl", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "series", "of", "instructions", "to", "increment", "/", "decrement", "the", "stack", "pointer", "by", "a", "constant", "value", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "ARM", "ARM::SP", "ARM::SP", "ARM", "ARM::SP", "ARM::SP"], "File": "ARMRegisterInfo13", "Func": "emitSPUpdate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11319, "Length": 96} {"ground_truth": ["", "const", "unsigned", "*", "ARMRegisterInfo", "::", "getCalleeSavedRegs", "(", "const", "MachineFunction", "*", "MF", ")", "const", "{", "static", "const", "unsigned", "CalleeSavedRegs", "[", "]", "=", "{", "ARM", "::", "LR", ",", "ARM", "::", "R11", ",", "ARM", "::", "R10", ",", "ARM", "::", "R9", ",", "ARM", "::", "R8", ",", "ARM", "::", "R7", ",", "ARM", "::", "R6", ",", "ARM", "::", "R5", ",", "ARM", "::", "R4", ",", "ARM", "::", "D15", ",", "ARM", "::", "D14", ",", "ARM", "::", "D13", ",", "ARM", "::", "D12", ",", "ARM", "::", "D11", ",", "ARM", "::", "D10", ",", "ARM", "::", "D9", ",", "ARM", "::", "D8", ",", "0", "}", ";", "static", "const", "unsigned", "DarwinCalleeSavedRegs", "[", "]", "=", "{", "ARM", "::", "LR", ",", "ARM", "::", "R7", ",", "ARM", "::", "R6", ",", "ARM", "::", "R5", ",", "ARM", "::", "R4", ",", "ARM", "::", "R11", ",", "ARM", "::", "R10", ",", "ARM", "::", "R9", ",", "ARM", "::", "R8", ",", "ARM", "::", "D15", ",", "ARM", "::", "D14", ",", "ARM", "::", "D13", ",", "ARM", "::", "D12", ",", "ARM", "::", "D11", ",", "ARM", "::", "D10", ",", "ARM", "::", "D9", ",", "ARM", "::", "D8", ",", "0", "}", ";", "return", "STI", ".", "isTargetDarwin", "(", ")", "?", "DarwinCalleeSavedRegs", ":", "CalleeSavedRegs", ";", "}", ""], "natrual_language": ["Code", "Generation", "virtual", "methods", "..."], "TS_V_token": ["ARM", "ARM", "ARM::LR", "ARM::R11", "ARM::R10", "ARM::R9", "ARM::R8", "ARM::R7", "ARM::R6", "ARM::R5", "ARM::R4", "ARM::D15", "ARM::D14", "ARM::D13", "ARM::D12", "ARM::D11", "ARM::D10", "ARM::D9", "ARM::D8", "0", "ARM::LR", "ARM::R7", "ARM::R6", "ARM::R5", "ARM::R4", "ARM::R11", "ARM::R10", "ARM::R9", "ARM::R8", "ARM::D15", "ARM::D14", "ARM::D13", "ARM::D12", "ARM::D11", "ARM::D10", "ARM::D9", "ARM::D8", "0"], "File": "ARMRegisterInfo13", "Func": "getCalleeSavedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11320, "Length": 184} {"ground_truth": ["", "int", "ARMRegisterInfo", "::", "getDwarfRegNum", "(", "unsigned", "RegNum", ",", "bool", "isEH", ")", "const", "{", "return", "ARMGenRegisterInfo", "::", "getDwarfRegNumFull", "(", "RegNum", ",", "0", ")", ";", "}", ""], "natrual_language": ["Map", "a", "target", "register", "to", "an", "equivalent", "dwarf", "register", "number", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0"], "File": "ARMRegisterInfo13", "Func": "getDwarfRegNum", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11321, "Length": 24} {"ground_truth": ["", "unsigned", "ARMRegisterInfo", "::", "getFrameRegister", "(", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "||", "hasFP", "(", "MF", ")", ")", "return", "(", "STI", ".", "useThumbBacktraces", "(", ")", "||", "STI", ".", "isThumb", "(", ")", ")", "?", "ARM", "::", "R7", ":", "ARM", "::", "R11", ";", "else", "return", "ARM", "::", "SP", ";", "}", ""], "natrual_language": ["Debug", "information", "queries", "."], "TS_V_token": ["ARM", "ARM", "ARM::R7", "ARM::R11", "ARM::SP"], "File": "ARMRegisterInfo13", "Func": "getFrameRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11322, "Length": 54} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ARMRegisterInfo", "::", "getPointerRegClass", "(", ")", "const", "{", "return", "&", "ARM", "::", "GPRRegClass", ";", "}", ""], "natrual_language": ["getPointerRegClass", "-", "Returns", "a", "TargetRegisterClass", "used", "for", "pointer", "values", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClass"], "File": "ARMRegisterInfo13", "Func": "getPointerRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11323, "Length": 17} {"ground_truth": ["", "unsigned", "ARMRegisterInfo", "::", "getRARegister", "(", ")", "const", "{", "return", "ARM", "::", "LR", ";", "}", ""], "natrual_language": ["This", "method", "should", "return", "the", "register", "where", "the", "return", "address", "can", "be", "found", "."], "TS_V_token": ["ARM", "ARM", "ARM::LR"], "File": "ARMRegisterInfo13", "Func": "getRARegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11324, "Length": 14} {"ground_truth": ["", "BitVector", "ARMRegisterInfo", "::", "getReservedRegs", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "BitVector", "Reserved", "(", "getNumRegs", "(", ")", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "SP", ")", ";", "Reserved", ".", "set", "(", "ARM", "::", "PC", ")", ";", "if", "(", "STI", ".", "isTargetDarwin", "(", ")", "||", "hasFP", "(", "MF", ")", ")", "Reserved", ".", "set", "(", "FramePtr", ")", ";", "if", "(", "STI", ".", "isR9Reserved", "(", ")", ")", "Reserved", ".", "set", "(", "ARM", "::", "R9", ")", ";", "return", "Reserved", ";", "}", ""], "natrual_language": ["getReservedRegs", "-", "Returns", "a", "bitset", "indexed", "by", "physical", "register", "number", "indicating", "if", "a", "register", "is", "a", "special", "register", "that", "has", "particular", "uses", "and", "should", "be", "considered", "unavailable", "at", "all", "times", ",", "e.g", "."], "TS_V_token": ["ARM", "ARM", "ARM::SP", "ARM::PC", "ARM::R9"], "File": "ARMRegisterInfo13", "Func": "getReservedRegs", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11325, "Length": 79} {"ground_truth": ["", "bool", "ARMRegisterInfo", "::", "hasFP", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "return", "NoFramePointerElim", "||", "MFI", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasFP", "-", "Return", "true", "if", "the", "specified", "function", "should", "have", "a", "dedicated", "frame", "pointer", "register", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMRegisterInfo13", "Func": "hasFP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11326, "Length": 33} {"ground_truth": ["", "bool", "ARMRegisterInfo", "::", "hasReservedCallFrame", "(", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "FFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "CFSize", "=", "FFI", "->", "getMaxCallFrameSize", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "AFI", "->", "isThumbFunction", "(", ")", ")", "{", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "8", ")", "-", "1", ")", "*", "4", "/", "2", ")", "return", "false", ";", "}", "else", "{", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "12", ")", "-", "1", ")", "/", "2", ")", "return", "false", ";", "}", "return", "!", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasReservedCallFrame", "-", "Under", "normal", "circumstances", ",", "when", "a", "frame", "pointer", "is", "not", "required", ",", "we", "reserve", "argument", "space", "for", "call", "sites", "in", "the", "function", "immediately", "on", "entry", "to", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "1", "8", "1", "4", "2", "1", "12", "1", "2"], "File": "ARMRegisterInfo13", "Func": "hasReservedCallFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11327, "Length": 110} {"ground_truth": ["", "bool", "ARMRegisterInfo", "::", "requiresRegisterScavenging", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "return", "ThumbRegScavenging", "||", "!", "AFI", "->", "isThumbFunction", "(", ")", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "requires", "(", "and", "can", "make", "use", "of", ")", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMRegisterInfo13", "Func": "requiresRegisterScavenging", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11328, "Length": 37} {"ground_truth": ["", "const", "char", "*", "ARMRelocator", "::", "getName", "(", "Relocator", "::", "Type", "pType", ")", "const", "{", "return", "ApplyFunctions", "[", "pType", "]", ".", "name", ";", "}", ""], "natrual_language": ["Return", "a", "string", "with", "the", "name", "of", "the", "plan", "and", "the", "applicable", "VFs", "and", "UFs", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMRelocator", "Func": "getName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11329, "Length": 23} {"ground_truth": ["", "Relocator", "::", "Size", "ARMRelocator", "::", "getSize", "(", "Relocation", "::", "Type", "pType", ")", "const", "{", "return", "32", ";", "}", ""], "natrual_language": ["Return", "the", "number", "of", "bytes", "in", "the", "encoding", "of", "this", "instruction", ",", "or", "zero", "if", "the", "encoding", "size", "can", "not", "be", "known", "from", "the", "opcode", "."], "TS_V_token": ["ARM", "ARM", "32"], "File": "ARMRelocator", "Func": "getSize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11330, "Length": 18} {"ground_truth": ["", "const", "ARMGNULDBackend", "&", "getTarget", "(", ")", "const", "{", "return", "m_Target", ";", "}", ""], "natrual_language": ["getTarget", "-", "Return", "the", "target", "machine", "this", "machine", "code", "is", "compiled", "with"], "TS_V_token": ["ARM", "ARM"], "File": "ARMRelocator", "Func": "getTarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11331, "Length": 12} {"ground_truth": ["", "ARMRelocator", "::", "Result", "none", "(", "Relocation", "&", "pReloc", ",", "ARMRelocator", "&", "pParent", ")", "{", "return", "Relocator", "::", "OK", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "none", "of", "the", "bits", "are", "set", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMRelocator", "Func": "none", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11332, "Length": 20} {"ground_truth": ["", "ARMRelocator", "::", "Result", "unsupported", "(", "Relocation", "&", "pReloc", ",", "ARMRelocator", "&", "pParent", ")", "{", "return", "Relocator", "::", "Unsupported", ";", "}", ""], "natrual_language": ["The", "instruction", "is", "unsupported", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMRelocator", "Func": "unsupported", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11333, "Length": 20} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "SDLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "const", "ARMSubtarget", "&", "Subtarget", "=", "DAG", ".", "getMachineFunction", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "Subtarget", ".", "isAAPCS_ABI", "(", ")", "||", "Subtarget", ".", "isTargetMachO", "(", ")", "||", "Subtarget", ".", "isTargetWindows", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "Subtarget", ".", "getTargetLowering", "(", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getDataLayout", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "DAG", ")", ";", "CLI", ".", "setDebugLoc", "(", "dl", ")", ".", "setChain", "(", "Chain", ")", ".", "setCallee", "(", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "std", "::", "move", "(", "Args", ")", ",", "0", ")", ".", "setDiscardResult", "(", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo12", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11334, "Length": 354} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemmove", "(", "SelectionDAG", "&", "DAG", ",", "SDLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ",", "MachinePointerInfo", "SrcPtrInfo", ")", "const", "{", "return", "EmitSpecializedLibcall", "(", "DAG", ",", "dl", ",", "Chain", ",", "Dst", ",", "Src", ",", "Size", ",", "Align", ",", "RTLIB", "::", "MEMMOVE", ")", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memmove", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSelectionDAGInfo16", "Func": "EmitTargetCodeForMemmove", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11335, "Length": 61} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "SDLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "return", "EmitSpecializedLibcall", "(", "DAG", ",", "dl", ",", "Chain", ",", "Dst", ",", "Src", ",", "Size", ",", "Align", ",", "RTLIB", "::", "MEMSET", ")", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSelectionDAGInfo16", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11336, "Length": 58} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemmove", "(", "SelectionDAG", "&", "DAG", ",", "const", "SDLoc", "&", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "Align", "Alignment", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ",", "MachinePointerInfo", "SrcPtrInfo", ")", "const", "{", "return", "EmitSpecializedLibcall", "(", "DAG", ",", "dl", ",", "Chain", ",", "Dst", ",", "Src", ",", "Size", ",", "Alignment", ".", "value", "(", ")", ",", "RTLIB", "::", "MEMMOVE", ")", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memmove", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSelectionDAGInfo18", "Func": "EmitTargetCodeForMemmove", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11337, "Length": 67} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "const", "SDLoc", "&", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "Align", "Alignment", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "return", "EmitSpecializedLibcall", "(", "DAG", ",", "dl", ",", "Chain", ",", "Dst", ",", "Src", ",", "Size", ",", "Alignment", ".", "value", "(", ")", ",", "RTLIB", "::", "MEMSET", ")", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSelectionDAGInfo18", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11338, "Length": 64} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "SDLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "const", "ARMSubtarget", "&", "Subtarget", "=", "DAG", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "Subtarget", ".", "isAAPCS_ABI", "(", ")", "||", "Subtarget", ".", "isTargetMachO", "(", ")", "||", "Subtarget", ".", "isTargetWindows", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getDataLayout", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "DAG", ")", ";", "CLI", ".", "setDebugLoc", "(", "dl", ")", ".", "setChain", "(", "Chain", ")", ".", "setCallee", "(", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "std", "::", "move", "(", "Args", ")", ",", "0", ")", ".", "setDiscardResult", "(", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo19", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11339, "Length": 366} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "SDLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "||", "Subtarget", "->", "isTargetMachO", "(", ")", "||", "Subtarget", "->", "isTargetWindows", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getDataLayout", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "DAG", ")", ";", "CLI", ".", "setDebugLoc", "(", "dl", ")", ".", "setChain", "(", "Chain", ")", ".", "setCallee", "(", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "&", "Args", ",", "0", ")", ".", "setDiscardResult", "(", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo22", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11340, "Length": 344} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "DebugLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "if", "(", "Subtarget", "->", "isTargetNaCl", "(", ")", "||", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "||", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getDataLayout", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "Chain", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "false", ",", "false", ",", "false", ",", "false", ",", "0", ",", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "false", ",", "false", ",", "false", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "Args", ",", "DAG", ",", "dl", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo23", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11341, "Length": 342} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "DebugLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "||", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getDataLayout", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "Chain", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "false", ",", "false", ",", "false", ",", "false", ",", "0", ",", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "false", ",", "false", ",", "false", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "Args", ",", "DAG", ",", "dl", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo24", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11342, "Length": 336} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemmove", "(", "SelectionDAG", "&", "DAG", ",", "const", "SDLoc", "&", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "Align", "Alignment", ",", "bool", "isVolatile", ",", "bool", "MustPreserveCheriCapabilities", ",", "MachinePointerInfo", "DstPtrInfo", ",", "MachinePointerInfo", "SrcPtrInfo", ")", "const", "{", "return", "EmitSpecializedLibcall", "(", "DAG", ",", "dl", ",", "Chain", ",", "Dst", ",", "Src", ",", "Size", ",", "Alignment", ".", "value", "(", ")", ",", "RTLIB", "::", "MEMMOVE", ")", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memmove", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSelectionDAGInfo27", "Func": "EmitTargetCodeForMemmove", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11343, "Length": 70} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "const", "SDLoc", "&", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "Align", "Alignment", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "const", "ARMSubtarget", "&", "Subtarget", "=", "DAG", ".", "getMachineFunction", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "ConstantSDNode", "*", "ConstantSize", "=", "dyn_cast", "<", "ConstantSDNode", ">", "(", "Size", ")", ";", "if", "(", "Subtarget", ".", "hasMVEIntegerOps", "(", ")", "&&", "shouldGenerateInlineTPLoop", "(", "Subtarget", ",", "DAG", ",", "ConstantSize", ",", "Alignment", ",", "false", ")", ")", "{", "Src", "=", "DAG", ".", "getSplatBuildVector", "(", "MVT", "::", "v16i8", ",", "dl", ",", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i8", ",", "Src", ")", ")", ";", "return", "DAG", ".", "getNode", "(", "ARMISD", "::", "MEMSETLOOP", ",", "dl", ",", "MVT", "::", "Other", ",", "Chain", ",", "Dst", ",", "Src", ",", "DAG", ".", "getZExtOrTrunc", "(", "Size", ",", "dl", ",", "MVT", "::", "i32", ")", ")", ";", "}", "return", "EmitSpecializedLibcall", "(", "DAG", ",", "dl", ",", "Chain", ",", "Dst", ",", "Src", ",", "Size", ",", "Alignment", ".", "value", "(", ")", ",", "RTLIB", "::", "MEMSET", ")", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "MVT::v16i8", "ISD::TRUNCATE", "MVT::i8", "ARMISD::MEMSETLOOP", "MVT::Other", "MVT::i32"], "File": "ARMSelectionDAGInfo27", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11344, "Length": 182} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "DebugLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "||", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getTargetData", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "Chain", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "false", ",", "false", ",", "false", ",", "false", ",", "0", ",", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "false", ",", "false", ",", "false", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "Args", ",", "DAG", ",", "dl", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo28", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11345, "Length": 328} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "SDLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "||", "Subtarget", "->", "isTargetMachO", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getDataLayout", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "Chain", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "false", ",", "false", ",", "false", ",", "false", ",", "0", ",", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "false", ",", "false", ",", "false", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "Args", ",", "DAG", ",", "dl", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo2", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11346, "Length": 336} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "SDLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "||", "Subtarget", "->", "isTargetMachO", "(", ")", "||", "Subtarget", "->", "isTargetWindows", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getDataLayout", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "Chain", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "false", ",", "false", ",", "false", ",", "false", ",", "0", ",", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "false", ",", "false", ",", "false", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "Args", ",", "DAG", ",", "dl", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo30", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11347, "Length": 342} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "SDLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "const", "ARMSubtarget", "&", "Subtarget", "=", "DAG", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "Subtarget", ".", "isAAPCS_ABI", "(", ")", "||", "Subtarget", ".", "isTargetMachO", "(", ")", "||", "Subtarget", ".", "isTargetWindows", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "DAG", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "getTargetLowering", "(", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getDataLayout", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "DAG", ")", ";", "CLI", ".", "setDebugLoc", "(", "dl", ")", ".", "setChain", "(", "Chain", ")", ".", "setCallee", "(", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "std", "::", "move", "(", "Args", ")", ",", "0", ")", ".", "setDiscardResult", "(", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo39", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11348, "Length": 365} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "DebugLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "||", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getTargetData", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "Chain", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "false", ",", "false", ",", "false", ",", "false", ",", "0", ",", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "false", ",", "false", ",", "false", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "Args", ",", "DAG", ",", "dl", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo3", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11349, "Length": 336} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "SDLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "if", "(", "Subtarget", "->", "isTargetNaCl", "(", ")", "||", "!", "EnableARMAEABIFunctions", "||", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "||", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getDataLayout", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "Chain", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "false", ",", "false", ",", "false", ",", "false", ",", "0", ",", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "false", ",", "false", ",", "false", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "Args", ",", "DAG", ",", "dl", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo40", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11350, "Length": 345} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "DebugLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getTargetData", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "Chain", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "false", ",", "false", ",", "false", ",", "false", ",", "0", ",", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "false", ",", "false", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "Args", ",", "DAG", ",", "dl", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo41", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11351, "Length": 320} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "SDLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "const", "ARMSubtarget", "&", "Subtarget", "=", "DAG", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "Subtarget", ".", "isTargetNaCl", "(", ")", "||", "!", "EnableARMAEABIFunctions", "||", "!", "Subtarget", ".", "isAAPCS_ABI", "(", ")", "||", "Subtarget", ".", "isTargetMachO", "(", ")", "||", "Subtarget", ".", "isTargetWindows", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getDataLayout", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "DAG", ")", ";", "CLI", ".", "setDebugLoc", "(", "dl", ")", ".", "setChain", "(", "Chain", ")", ".", "setCallee", "(", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "std", "::", "move", "(", "Args", ")", ",", "0", ")", ".", "setDiscardResult", "(", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo46", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11352, "Length": 375} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "SDLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "||", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getDataLayout", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "Chain", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "false", ",", "false", ",", "false", ",", "false", ",", "0", ",", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "false", ",", "false", ",", "false", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "Args", ",", "DAG", ",", "dl", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo4", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11353, "Length": 336} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "DebugLoc", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "if", "(", "!", "Subtarget", "->", "isAAPCS_ABI", "(", ")", "||", "Subtarget", "->", "isTargetDarwin", "(", ")", ")", "return", "SDValue", "(", ")", ";", "const", "ARMTargetLowering", "&", "TLI", "=", "*", "static_cast", "<", "const", "ARMTargetLowering", "*", ">", "(", "DAG", ".", "getTarget", "(", ")", ".", "getTargetLowering", "(", ")", ")", ";", "TargetLowering", "::", "ArgListTy", "Args", ";", "TargetLowering", "::", "ArgListEntry", "Entry", ";", "unsigned", "AS", "=", "DstPtrInfo", ".", "getAddrSpace", "(", ")", ";", "Type", "*", "IntPtrTy", "=", "TLI", ".", "getDataLayout", "(", ")", "->", "getIntPtrType", "(", "*", "DAG", ".", "getContext", "(", ")", ",", "AS", ")", ";", "Entry", ".", "Node", "=", "Dst", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "Entry", ".", "Node", "=", "Size", ";", "Entry", ".", "Ty", "=", "IntPtrTy", ";", "Entry", ".", "isSExt", "=", "false", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "if", "(", "Src", ".", "getValueType", "(", ")", ".", "bitsGT", "(", "MVT", "::", "i32", ")", ")", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "TRUNCATE", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "else", "Src", "=", "DAG", ".", "getNode", "(", "ISD", "::", "ZERO_EXTEND", ",", "dl", ",", "MVT", "::", "i32", ",", "Src", ")", ";", "Entry", ".", "Node", "=", "Src", ";", "Entry", ".", "Ty", "=", "Type", "::", "getInt32Ty", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ";", "Entry", ".", "isSExt", "=", "true", ";", "Args", ".", "push_back", "(", "Entry", ")", ";", "TargetLowering", "::", "CallLoweringInfo", "CLI", "(", "Chain", ",", "Type", "::", "getVoidTy", "(", "*", "DAG", ".", "getContext", "(", ")", ")", ",", "false", ",", "false", ",", "false", ",", "false", ",", "0", ",", "TLI", ".", "getLibcallCallingConv", "(", "RTLIB", "::", "MEMSET", ")", ",", "false", ",", "false", ",", "false", ",", "DAG", ".", "getExternalSymbol", "(", "TLI", ".", "getLibcallName", "(", "RTLIB", "::", "MEMSET", ")", ",", "TLI", ".", "getPointerTy", "(", ")", ")", ",", "Args", ",", "DAG", ",", "dl", ")", ";", "std", "::", "pair", "<", "SDValue", ",", "SDValue", ">", "CallResult", "=", "TLI", ".", "LowerCallTo", "(", "CLI", ")", ";", "return", "CallResult", ".", "second", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "MVT::i32", "ISD::TRUNCATE", "MVT::i32", "ISD::ZERO_EXTEND", "MVT::i32", "0"], "File": "ARMSelectionDAGInfo7", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11354, "Length": 347} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemmove", "(", "SelectionDAG", "&", "DAG", ",", "const", "SDLoc", "&", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ",", "MachinePointerInfo", "SrcPtrInfo", ")", "const", "{", "return", "EmitSpecializedLibcall", "(", "DAG", ",", "dl", ",", "Chain", ",", "Dst", ",", "Src", ",", "Size", ",", "Align", ",", "RTLIB", "::", "MEMMOVE", ")", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memmove", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSelectionDAGInfo", "Func": "EmitTargetCodeForMemmove", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11355, "Length": 63} {"ground_truth": ["", "SDValue", "ARMSelectionDAGInfo", "::", "EmitTargetCodeForMemset", "(", "SelectionDAG", "&", "DAG", ",", "const", "SDLoc", "&", "dl", ",", "SDValue", "Chain", ",", "SDValue", "Dst", ",", "SDValue", "Src", ",", "SDValue", "Size", ",", "unsigned", "Align", ",", "bool", "isVolatile", ",", "MachinePointerInfo", "DstPtrInfo", ")", "const", "{", "return", "EmitSpecializedLibcall", "(", "DAG", ",", "dl", ",", "Chain", ",", "Dst", ",", "Src", ",", "Size", ",", "Align", ",", "RTLIB", "::", "MEMSET", ")", ";", "}", ""], "natrual_language": ["Emit", "target-specific", "code", "that", "performs", "a", "memset", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSelectionDAGInfo", "Func": "EmitTargetCodeForMemset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11356, "Length": 60} {"ground_truth": ["", "bool", "ARMIndirectThunks", "::", "doInitialization", "(", "Module", "&", "M", ")", "{", "initTIs", "(", "M", ",", "TIs", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Set", "up", "the", "AsmPrinter", "when", "we", "are", "working", "on", "a", "new", "module", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSLSHardening", "Func": "doInitialization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11357, "Length": 21} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "AU", ".", "addRequired", "<", "MachineModuleInfoWrapperPass", ">", "(", ")", ";", "AU", ".", "addPreserved", "<", "MachineModuleInfoWrapperPass", ">", "(", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMSLSHardening", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11358, "Length": 36} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM Indirect Thunks\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Indirect Thunks\""], "File": "ARMSLSHardening", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11359, "Length": 11} {"ground_truth": ["", "bool", "ARMIndirectThunks", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "getPassName", "(", ")", "<<", "'\\n'", ")", ";", "auto", "&", "MMI", "=", "getAnalysis", "<", "MachineModuleInfoWrapperPass", ">", "(", ")", ".", "getMMI", "(", ")", ";", "return", "runTIs", "(", "MMI", ",", "MF", ",", "TIs", ")", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSLSHardening", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11360, "Length": 49} {"ground_truth": ["", "const", "ARMBaseInstrInfo", "*", "getInstrInfo", "(", ")", "const", "override", "{", "return", "InstrInfo", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["TargetInstrInfo", "getter", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget (2)1", "Func": "getInstrInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11361, "Length": 17} {"ground_truth": ["", "const", "InstrItineraryData", "*", "getInstrItineraryData", "(", ")", "const", "override", "{", "return", "&", "InstrItins", ";", "}", ""], "natrual_language": ["getInstrItineraryData", "-", "Returns", "instruction", "itinerary", "data", "for", "the", "target", "or", "specific", "subtarget", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)1", "Func": "getInstrItineraryData", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11362, "Length": 14} {"ground_truth": ["", "const", "ARMBaseRegisterInfo", "*", "getRegisterInfo", "(", ")", "const", "override", "{", "return", "&", "InstrInfo", "->", "getRegisterInfo", "(", ")", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget (2)1", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11363, "Length": 18} {"ground_truth": ["", "bool", "isTargetEHABICompatible", "(", ")", "const", "{", "return", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "isTargetAndroid", "(", ")", ")", "&&", "!", "isTargetDarwin", "(", ")", "&&", "!", "isTargetWindows", "(", ")", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "supports", "the", "EHABI", "exception", "handling", "standard", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)1", "Func": "isTargetEHABICompatible", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11364, "Length": 64} {"ground_truth": ["", "bool", "allowPositionIndependentMovt", "(", ")", "const", "{", "return", "isROPI", "(", ")", "||", "!", "isTargetELF", "(", ")", ";", "}", ""], "natrual_language": ["Allow", "movt+movw", "for", "PIC", "global", "address", "calculation", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)3", "Func": "allowPositionIndependentMovt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11365, "Length": 17} {"ground_truth": ["", "unsigned", "getReturnOpcode", "(", ")", "const", "{", "if", "(", "isThumb", "(", ")", ")", "return", "ARM", "::", "tBX_RET", ";", "if", "(", "hasV4TOps", "(", ")", ")", "return", "ARM", "::", "BX_RET", ";", "return", "ARM", "::", "MOVPCLR", ";", "}", ""], "natrual_language": ["Returns", "the", "correct", "return", "opcode", "for", "the", "current", "feature", "set", "."], "TS_V_token": ["ARM", "ARM::tBX_RET", "ARM::BX_RET", "ARM::MOVPCLR"], "File": "ARMSubtarget (2)3", "Func": "getReturnOpcode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11366, "Length": 34} {"ground_truth": ["", "Align", "getStackAlignment", "(", ")", "const", "{", "return", "stackAlignment", ";", "}", ""], "natrual_language": ["Returns", "the", "minimum", "alignment", "known", "to", "hold", "of", "the", "stack", "frame", "on", "entry", "to", "the", "function", "and", "which", "must", "be", "maintained", "by", "every", "function", "for", "this", "subtarget", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)3", "Func": "getStackAlignment", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11367, "Length": 10} {"ground_truth": ["", "bool", "hasFusion", "(", ")", "const", "{", "return", "hasFuseAES", "(", ")", "||", "hasFuseLiterals", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "CPU", "supports", "any", "kind", "of", "instruction", "fusion", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)3", "Func": "hasFusion", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11368, "Length": 16} {"ground_truth": ["", "bool", "hasMinSize", "(", ")", "const", "{", "return", "OptMinSize", ";", "}", ""], "natrual_language": ["Optimize", "this", "function", "for", "minimum", "size", "(", "-Oz", ")", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)3", "Func": "hasMinSize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11369, "Length": 10} {"ground_truth": ["", "bool", "isProfitableToUnpredicate", "(", ")", "const", "{", "return", "IsProfitableToUnpredicate", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "profitable", "to", "unpredicate", "one", "side", "of", "a", "'diamond", "'", ",", "i.e", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)3", "Func": "isProfitableToUnpredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11370, "Length": 10} {"ground_truth": ["", "bool", "isTargetEHABICompatible", "(", ")", "const", "{", "return", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", "||", "isTargetAndroid", "(", ")", ")", "&&", "!", "isTargetDarwin", "(", ")", "&&", "!", "isTargetWindows", "(", ")", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "supports", "the", "EHABI", "exception", "handling", "standard", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)3", "Func": "isTargetEHABICompatible", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11371, "Length": 84} {"ground_truth": ["", "bool", "splitFramePushPop", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "(", "useR7AsFramePointer", "(", ")", "&&", "MF", ".", "getTarget", "(", ")", ".", "Options", ".", "DisableFramePointerElim", "(", "MF", ")", ")", "||", "isThumb1Only", "(", ")", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "frame", "setup", "is", "split", "into", "two", "separate", "pushes", "(", "first", "r0-r7", ",", "lr", "then", "r8-r11", ")", ",", "principally", "so", "that", "the", "frame", "pointer", "is", "adjacent", "to", "lr", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)3", "Func": "splitFramePushPop", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11372, "Length": 35} {"ground_truth": ["", "bool", "useAA", "(", ")", "const", "override", "{", "return", "true", ";", "}", ""], "natrual_language": ["Enable", "use", "of", "alias", "analysis", "during", "code", "generation", "(", "during", "MI", "scheduling", ",", "DAGCombine", ",", "etc", ".", ")", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)3", "Func": "useAA", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11373, "Length": 11} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "TargetMachine", "&", "TM", ",", "bool", "IsLittle", ",", "const", "TargetOptions", "&", "Options", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "ARMProcClass", "(", "None", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "Options", ")", ",", "TargetABI", "(", "ARM_ABI_UNKNOWN", ")", ",", "DL", "(", "computeDataLayout", "(", "initializeSubtargetDependencies", "(", "CPU", ",", "FS", ")", ")", ")", ",", "TSInfo", "(", "DL", ")", ",", "JITInfo", "(", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ")", ",", "FrameLowering", "(", "!", "isThumb1Only", "(", ")", "?", "new", "ARMFrameLowering", "(", "*", "this", ")", ":", "(", "ARMFrameLowering", "*", ")", "new", "Thumb1FrameLowering", "(", "*", "this", ")", ")", "{", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget (2)", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11374, "Length": 186} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enablePostRAScheduler", "(", "CodeGenOpt", "::", "Level", "OptLevel", ",", "TargetSubtargetInfo", "::", "AntiDepBreakMode", "&", "Mode", ",", "RegClassVector", "&", "CriticalPathRCs", ")", "const", "{", "Mode", "=", "TargetSubtargetInfo", "::", "ANTIDEP_NONE", ";", "return", "PostRAScheduler", "&&", "OptLevel", ">=", "CodeGenOpt", "::", "Default", ";", "}", ""], "natrual_language": ["True", "if", "the", "subtarget", "should", "run", "a", "scheduler", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget (2)", "Func": "enablePostRAScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11375, "Length": 38} {"ground_truth": ["", "const", "DataLayout", "*", "getDataLayout", "(", ")", "const", "{", "return", "&", "DL", ";", "}", ""], "natrual_language": ["Return", "the", "DataLayout", "associated", "with", "the", "module", "this", "SCEV", "instance", "is", "operating", "on", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)", "Func": "getDataLayout", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11376, "Length": 13} {"ground_truth": ["", "const", "ARMBaseInstrInfo", "*", "getInstrInfo", "(", ")", "const", "{", "return", "InstrInfo", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["TargetInstrInfo", "getter", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget (2)", "Func": "getInstrInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11377, "Length": 16} {"ground_truth": ["", "const", "InstrItineraryData", "&", "getInstrItineraryData", "(", ")", "const", "{", "return", "InstrItins", ";", "}", ""], "natrual_language": ["getInstrItineraryData", "-", "Returns", "instruction", "itinerary", "data", "for", "the", "target", "or", "specific", "subtarget", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)", "Func": "getInstrItineraryData", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11378, "Length": 12} {"ground_truth": ["", "unsigned", "getMaxInlineSizeThreshold", "(", ")", "const", "{", "return", "64", ";", "}", ""], "natrual_language": ["Returns", "the", "maximum", "memset", "/", "memcpy", "size", "that", "still", "makes", "it", "profitable", "to", "inline", "the", "call", "."], "TS_V_token": ["ARM", "64"], "File": "ARMSubtarget (2)", "Func": "getMaxInlineSizeThreshold", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11379, "Length": 10} {"ground_truth": ["", "const", "ARMBaseRegisterInfo", "*", "getRegisterInfo", "(", ")", "const", "{", "return", "&", "InstrInfo", "->", "getRegisterInfo", "(", ")", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget (2)", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11380, "Length": 17} {"ground_truth": ["", "unsigned", "getStackAlignment", "(", ")", "const", "{", "return", "stackAlignment", ";", "}", ""], "natrual_language": ["Returns", "the", "minimum", "alignment", "known", "to", "hold", "of", "the", "stack", "frame", "on", "entry", "to", "the", "function", "and", "which", "must", "be", "maintained", "by", "every", "function", "for", "this", "subtarget", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)", "Func": "getStackAlignment", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11381, "Length": 10} {"ground_truth": ["", "const", "Triple", "&", "getTargetTriple", "(", ")", "const", "{", "return", "TargetTriple", ";", "}", ""], "natrual_language": ["Get", "the", "target", "triple", "which", "is", "a", "string", "describing", "the", "target", "host", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)", "Func": "getTargetTriple", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11382, "Length": 12} {"ground_truth": ["", "ARMSubtarget", "&", "ARMSubtarget", "::", "initializeSubtargetDependencies", "(", "StringRef", "CPU", ",", "StringRef", "FS", ")", "{", "initializeEnvironment", "(", ")", ";", "resetSubtargetFeatures", "(", "CPU", ",", "FS", ")", ";", "return", "*", "this", ";", "}", ""], "natrual_language": ["initializeSubtargetDependencies", "-", "Initializes", "using", "a", "CPU", ",", "a", "TuneCPU", ",", "and", "feature", "string", "so", "that", "we", "can", "use", "initializer", "lists", "for", "subtarget", "initialization", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMSubtarget (2)", "Func": "initializeSubtargetDependencies", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11383, "Length": 29} {"ground_truth": ["", "bool", "isTargetEHABICompatible", "(", ")", "const", "{", "return", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "Android", ")", "&&", "!", "isTargetDarwin", "(", ")", "&&", "!", "isTargetWindows", "(", ")", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "supports", "the", "EHABI", "exception", "handling", "standard", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)", "Func": "isTargetEHABICompatible", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11384, "Length": 70} {"ground_truth": ["", "bool", "isThumb", "(", ")", "const", "{", "return", "InThumbMode", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "is", "Thumb", "(", "little", "and", "big", "endian", ")", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget (2)", "Func": "isThumb", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11385, "Length": 10} {"ground_truth": ["", "unsigned", "getMaxMemcpyTPInlineSizeThreshold", "(", ")", "const", "{", "return", "128", ";", "}", ""], "natrual_language": ["getMaxMemcpyTPInlineSizeThreshold", "-", "Returns", "the", "maximum", "size", "that", "still", "makes", "it", "profitable", "to", "inline", "a", "llvm.memcpy", "as", "a", "Tail", "Predicated", "loop", "."], "TS_V_token": ["ARM", "128"], "File": "ARMSubtarget100", "Func": "getMaxMemcpyTPInlineSizeThreshold", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11386, "Length": 10} {"ground_truth": ["", "bool", "splitFramePushPop", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "(", "getFramePointerReg", "(", ")", "==", "ARM", "::", "R7", "&&", "MF", ".", "getTarget", "(", ")", ".", "Options", ".", "DisableFramePointerElim", "(", "MF", ")", ")", "||", "isThumb1Only", "(", ")", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "frame", "setup", "is", "split", "into", "two", "separate", "pushes", "(", "first", "r0-r7", ",", "lr", "then", "r8-r11", ")", ",", "principally", "so", "that", "the", "frame", "pointer", "is", "adjacent", "to", "lr", "."], "TS_V_token": ["ARM", "ARM::R7"], "File": "ARMSubtarget100", "Func": "splitFramePushPop", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11387, "Length": 39} {"ground_truth": ["", "bool", "isTargetEHABICompatible", "(", ")", "const", "{", "return", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "Android", ")", "&&", "!", "isTargetDarwin", "(", ")", "&&", "!", "isTargetWindows", "(", ")", "&&", "!", "isTargetNaCl", "(", ")", "&&", "!", "EnableARMDwarfEH", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "supports", "the", "EHABI", "exception", "handling", "standard", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget104", "Func": "isTargetEHABICompatible", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11388, "Length": 78} {"ground_truth": ["", "bool", "isThumb", "(", ")", "const", "{", "return", "IsThumb", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "is", "Thumb", "(", "little", "and", "big", "endian", ")", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget105", "Func": "isThumb", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11389, "Length": 10} {"ground_truth": ["", "bool", "hasFusion", "(", ")", "const", "{", "return", "hasFuseAES", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "CPU", "supports", "any", "kind", "of", "instruction", "fusion", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget108", "Func": "hasFusion", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11390, "Length": 12} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "FS", ",", "bool", "isT", ")", ":", "ARMArchVersion", "(", "V4", ")", ",", "ARMFPUType", "(", "None", ")", ",", "UseNEONForSinglePrecisionFP", "(", "false", ")", ",", "SlowVMLx", "(", "false", ")", ",", "IsThumb", "(", "isT", ")", ",", "ThumbMode", "(", "Thumb1", ")", ",", "PostRAScheduler", "(", "false", ")", ",", "IsR9Reserved", "(", "ReserveR9", ")", ",", "UseMovt", "(", "UseMOVT", ")", ",", "HasFP16", "(", "false", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "\"generic\"", ")", ",", "TargetType", "(", "isELF", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "if", "(", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "CPUString", "=", "ParseSubtargetFeatures", "(", "FS", ",", "CPUString", ")", ";", "if", "(", "CPUString", "==", "\"generic\"", "&&", "(", "FS", ".", "empty", "(", ")", "||", "FS", "==", "\"generic\"", ")", ")", "ARMArchVersion", "=", "V4T", ";", "unsigned", "Len", "=", "TT", ".", "length", "(", ")", ";", "unsigned", "Idx", "=", "0", ";", "if", "(", "Len", ">=", "5", "&&", "TT", ".", "substr", "(", "0", ",", "4", ")", "==", "\"armv\"", ")", "Idx", "=", "4", ";", "else", "if", "(", "Len", ">=", "6", "&&", "TT", ".", "substr", "(", "0", ",", "5", ")", "==", "\"thumb\"", ")", "{", "IsThumb", "=", "true", ";", "if", "(", "Len", ">=", "7", "&&", "TT", "[", "5", "]", "==", "'v'", ")", "Idx", "=", "6", ";", "}", "if", "(", "Idx", ")", "{", "unsigned", "SubVer", "=", "TT", "[", "Idx", "]", ";", "if", "(", "SubVer", ">=", "'7'", "&&", "SubVer", "<=", "'9'", ")", "{", "ARMArchVersion", "=", "V7A", ";", "}", "else", "if", "(", "SubVer", "==", "'6'", ")", "{", "ARMArchVersion", "=", "V6", ";", "if", "(", "Len", ">=", "Idx", "+", "3", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", "&&", "TT", "[", "Idx", "+", "2", "]", "==", "'2'", ")", "ARMArchVersion", "=", "V6T2", ";", "}", "else", "if", "(", "SubVer", "==", "'5'", ")", "{", "ARMArchVersion", "=", "V5T", ";", "if", "(", "Len", ">=", "Idx", "+", "3", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", "&&", "TT", "[", "Idx", "+", "2", "]", "==", "'e'", ")", "ARMArchVersion", "=", "V5TE", ";", "}", "else", "if", "(", "SubVer", "==", "'4'", ")", "{", "if", "(", "Len", ">=", "Idx", "+", "2", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", ")", "ARMArchVersion", "=", "V4T", ";", "else", "ARMArchVersion", "=", "V4", ";", "}", "}", "if", "(", "ARMArchVersion", ">=", "V6T2", ")", "ThumbMode", "=", "Thumb2", ";", "else", "if", "(", "ThumbMode", ">=", "Thumb2", ")", "ARMArchVersion", "=", "V6T2", ";", "if", "(", "Len", ">=", "10", ")", "{", "if", "(", "TT", ".", "find", "(", "\"-darwin\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetType", "=", "isDarwin", ";", "}", "if", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "isTargetDarwin", "(", ")", ")", "IsR9Reserved", "=", "ReserveR9", "|", "(", "ARMArchVersion", "<", "V6", ")", ";", "if", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", "PostRAScheduler", "=", "true", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "4", "\"generic\"", "ARM", "\"generic\"", "\"generic\"", "ARM", "0", "5", "0", "4", "\"armv\"", "4", "6", "0", "5", "\"thumb\"", "7", "5", "6", "ARM", "ARM", "3", "1", "2", "ARM", "ARM", "3", "1", "2", "ARM", "2", "1", "ARM", "ARM", "ARM", "ARM", "10", "\"-darwin\"", "\"eabi\"", "ARM", "8", "ARM"], "File": "ARMSubtarget10", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11391, "Length": 473} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enablePostRAScheduler", "(", "CodeGenOpt", "::", "Level", "OptLevel", ",", "TargetSubtarget", "::", "AntiDepBreakMode", "&", "Mode", ",", "RegClassVector", "&", "CriticalPathRCs", ")", "const", "{", "Mode", "=", "TargetSubtarget", "::", "ANTIDEP_CRITICAL", ";", "CriticalPathRCs", ".", "clear", "(", ")", ";", "CriticalPathRCs", ".", "push_back", "(", "&", "ARM", "::", "GPRRegClass", ")", ";", "return", "PostRAScheduler", "&&", "OptLevel", ">=", "CodeGenOpt", "::", "Default", ";", "}", ""], "natrual_language": ["True", "if", "the", "subtarget", "should", "run", "a", "scheduler", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClass"], "File": "ARMSubtarget10", "Func": "enablePostRAScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11392, "Length": 54} {"ground_truth": ["", "unsigned", "getMaxInlineSizeThreshold", "(", ")", "const", "{", "return", "isThumb1Only", "(", ")", "?", "0", ":", "64", ";", "}", ""], "natrual_language": ["Returns", "the", "maximum", "memset", "/", "memcpy", "size", "that", "still", "makes", "it", "profitable", "to", "inline", "the", "call", "."], "TS_V_token": ["ARM", "0", "64"], "File": "ARMSubtarget10", "Func": "getMaxInlineSizeThreshold", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11393, "Length": 16} {"ground_truth": ["", "bool", "splitFramePushPop", "(", ")", "const", "{", "return", "isTargetMachO", "(", ")", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "frame", "setup", "is", "split", "into", "two", "separate", "pushes", "(", "first", "r0-r7", ",", "lr", "then", "r8-r11", ")", ",", "principally", "so", "that", "the", "frame", "pointer", "is", "adjacent", "to", "lr", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget111", "Func": "splitFramePushPop", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11394, "Length": 12} {"ground_truth": ["", "const", "DataLayout", "*", "getDataLayout", "(", ")", "const", "override", "{", "return", "&", "DL", ";", "}", ""], "natrual_language": ["Return", "the", "DataLayout", "associated", "with", "the", "module", "this", "SCEV", "instance", "is", "operating", "on", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget116", "Func": "getDataLayout", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11395, "Length": 14} {"ground_truth": ["", "bool", "isTargetEHABICompatible", "(", ")", "const", "{", "return", "TargetTriple", ".", "isTargetEHABICompatible", "(", ")", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "supports", "the", "EHABI", "exception", "handling", "standard", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget118", "Func": "isTargetEHABICompatible", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11396, "Length": 14} {"ground_truth": ["", "bool", "splitFramePushPop", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", "->", "shouldSignReturnAddress", "(", ")", ")", "return", "true", ";", "return", "(", "getFramePointerReg", "(", ")", "==", "ARM", "::", "R7", "&&", "MF", ".", "getTarget", "(", ")", ".", "Options", ".", "DisableFramePointerElim", "(", "MF", ")", ")", "||", "isThumb1Only", "(", ")", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "frame", "setup", "is", "split", "into", "two", "separate", "pushes", "(", "first", "r0-r7", ",", "lr", "then", "r8-r11", ")", ",", "principally", "so", "that", "the", "frame", "pointer", "is", "adjacent", "to", "lr", "."], "TS_V_token": ["ARM", "ARM", "ARM::R7"], "File": "ARMSubtarget118", "Func": "splitFramePushPop", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11397, "Length": 57} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "TargetOptions", "&", "Options", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "Options", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "initializeEnvironment", "(", ")", ";", "resetSubtargetFeatures", "(", "CPU", ",", "FS", ")", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM"], "File": "ARMSubtarget11", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11398, "Length": 82} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "HasV4TOps", "(", "false", ")", ",", "HasV5TOps", "(", "false", ")", ",", "HasV5TEOps", "(", "false", ")", ",", "HasV6Ops", "(", "false", ")", ",", "HasV6T2Ops", "(", "false", ")", ",", "HasV7Ops", "(", "false", ")", ",", "HasVFPv2", "(", "false", ")", ",", "HasVFPv3", "(", "false", ")", ",", "HasVFPv4", "(", "false", ")", ",", "HasNEON", "(", "false", ")", ",", "UseNEONForSinglePrecisionFP", "(", "false", ")", ",", "SlowFPVMLx", "(", "false", ")", ",", "HasVMLxForwarding", "(", "false", ")", ",", "SlowFPBrcc", "(", "false", ")", ",", "InThumbMode", "(", "false", ")", ",", "HasThumb2", "(", "false", ")", ",", "IsMClass", "(", "false", ")", ",", "NoARM", "(", "false", ")", ",", "PostRAScheduler", "(", "false", ")", ",", "IsR9Reserved", "(", "ReserveR9", ")", ",", "UseMovt", "(", "false", ")", ",", "SupportsTailCall", "(", "false", ")", ",", "HasFP16", "(", "false", ")", ",", "HasD16", "(", "false", ")", ",", "HasHardwareDivide", "(", "false", ")", ",", "HasT2ExtractPack", "(", "false", ")", ",", "HasDataBarrier", "(", "false", ")", ",", "Pref32BitThumb", "(", "false", ")", ",", "AvoidCPSRPartialUpdate", "(", "false", ")", ",", "HasMPExtension", "(", "false", ")", ",", "FPOnlySP", "(", "false", ")", ",", "AllowsUnalignedMem", "(", "false", ")", ",", "Thumb2DSP", "(", "false", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "TargetTriple", "(", "TT", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "if", "(", "CPUString", ".", "empty", "(", ")", ")", "CPUString", "=", "\"generic\"", ";", "std", "::", "string", "ArchFS", "=", "ARM_MC", "::", "ParseARMTriple", "(", "TT", ")", ";", "if", "(", "!", "FS", ".", "empty", "(", ")", ")", "{", "if", "(", "!", "ArchFS", ".", "empty", "(", ")", ")", "ArchFS", "=", "ArchFS", "+", "\",\"", "+", "FS", ";", "else", "ArchFS", "=", "FS", ";", "}", "ParseSubtargetFeatures", "(", "CPUString", ",", "ArchFS", ")", ";", "if", "(", "!", "HasV6T2Ops", "&&", "hasThumb2", "(", ")", ")", "HasV4TOps", "=", "HasV5TOps", "=", "HasV5TEOps", "=", "HasV6Ops", "=", "HasV6T2Ops", "=", "true", ";", "InstrItins", "=", "getInstrItineraryForCPU", "(", "CPUString", ")", ";", "computeIssueWidth", "(", ")", ";", "if", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "!", "isTargetIOS", "(", ")", ")", "UseMovt", "=", "hasV6T2Ops", "(", ")", ";", "else", "{", "IsR9Reserved", "=", "ReserveR9", "|", "!", "HasV6Ops", ";", "UseMovt", "=", "DarwinUseMOVT", "&&", "hasV6T2Ops", "(", ")", ";", "SupportsTailCall", "=", "!", "getTargetTriple", "(", ")", ".", "isOSVersionLT", "(", "5", ",", "0", ")", ";", "}", "if", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", "PostRAScheduler", "=", "true", ";", "if", "(", "!", "StrictAlign", "&&", "hasV6Ops", "(", ")", "&&", "isTargetDarwin", "(", ")", ")", "AllowsUnalignedMem", "=", "true", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "\"generic\"", "ARM", "ARM", "\",\"", "\"eabi\"", "ARM", "8", "5", "0"], "File": "ARMSubtarget12", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11399, "Length": 428} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "Triple", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "ARMBaseTargetMachine", "&", "TM", ",", "bool", "IsLittle", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "ARMProcClass", "(", "None", ")", ",", "ARMArch", "(", "ARMv4t", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TM", "(", "TM", ")", ",", "FrameLowering", "(", "initializeFrameLowering", "(", "CPU", ",", "FS", ")", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ",", "*", "this", ")", "{", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget13", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11400, "Length": 152} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enableAtomicExpand", "(", ")", "const", "{", "return", "hasAnyDataBarrier", "(", ")", "&&", "!", "isThumb1Only", "(", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "subtarget", "should", "run", "the", "atomic", "expansion", "pass", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget13", "Func": "enableAtomicExpand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11401, "Length": 19} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enableMachineScheduler", "(", ")", "const", "{", "return", "getSchedModel", "(", ")", ".", "isOutOfOrder", "(", ")", "&&", "isSwift", "(", ")", ";", "}", ""], "natrual_language": ["Enable", "the", "MachineScheduler", "pass", "for", "all", "X86", "subtargets", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget13", "Func": "enableMachineScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11402, "Length": 22} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enablePostRAScheduler", "(", ")", "const", "{", "if", "(", "getSchedModel", "(", ")", ".", "isOutOfOrder", "(", ")", "&&", "isSwift", "(", ")", ")", "return", "false", ";", "return", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "subtarget", "should", "run", "a", "scheduler", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget13", "Func": "enablePostRAScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11403, "Length": 38} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "Triple", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "ARMBaseTargetMachine", "&", "TM", ",", "bool", "IsLittle", ",", "bool", "MinSize", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "UseMulOps", "(", "UseFusedMulOps", ")", ",", "CPUString", "(", "CPU", ")", ",", "OptMinSize", "(", "MinSize", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TM", "(", "TM", ")", ",", "FrameLowering", "(", "initializeFrameLowering", "(", "CPU", ",", "FS", ")", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ",", "*", "this", ")", "{", "CallLoweringInfo", ".", "reset", "(", "new", "ARMCallLowering", "(", "*", "getTargetLowering", "(", ")", ")", ")", ";", "Legalizer", ".", "reset", "(", "new", "ARMLegalizerInfo", "(", "*", "this", ")", ")", ";", "auto", "*", "RBI", "=", "new", "ARMRegisterBankInfo", "(", "*", "getRegisterInfo", "(", ")", ")", ";", "InstSelector", ".", "reset", "(", "createARMInstructionSelector", "(", "*", "static_cast", "<", "const", "ARMBaseTargetMachine", "*", ">", "(", "&", "TM", ")", ",", "*", "this", ",", "*", "RBI", ")", ")", ";", "RegBankInfo", ".", "reset", "(", "RBI", ")", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget14", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11404, "Length": 217} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enableMachineScheduler", "(", ")", "const", "{", "if", "(", "isMClass", "(", ")", "&&", "hasMinSize", "(", ")", ")", "return", "false", ";", "return", "useMachineScheduler", "(", ")", ";", "}", ""], "natrual_language": ["Enable", "the", "MachineScheduler", "pass", "for", "all", "X86", "subtargets", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget14", "Func": "enableMachineScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11405, "Length": 27} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "ignoreCSRForAllocationOrder", "(", "const", "MachineFunction", "&", "MF", ",", "unsigned", "PhysReg", ")", "const", "{", "return", "isThumb2", "(", ")", "&&", "MF", ".", "getFunction", "(", ")", ".", "hasMinSize", "(", ")", "&&", "ARM", "::", "GPRRegClass", ".", "contains", "(", "PhysReg", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "register", "allocator", "should", "use", "the", "allocation", "orders", "exactly", "as", "written", "in", "the", "tablegen", "descriptions", ",", "false", "if", "it", "should", "allocate", "the", "specified", "physical", "register", "later", "if", "is", "it", "callee-saved", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClass"], "File": "ARMSubtarget14", "Func": "ignoreCSRForAllocationOrder", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11406, "Length": 40} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "TargetOptions", "&", "Options", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "ARMProcClass", "(", "None", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "Options", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "initializeEnvironment", "(", ")", ";", "resetSubtargetFeatures", "(", "CPU", ",", "FS", ")", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM"], "File": "ARMSubtarget19", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11407, "Length": 87} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "TargetTriple", "(", "TT", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "initializeEnvironment", "(", ")", ";", "resetSubtargetFeatures", "(", "CPU", ",", "FS", ")", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM"], "File": "ARMSubtarget1", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11408, "Length": 72} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enablePostRAScheduler", "(", "CodeGenOpt", "::", "Level", "OptLevel", ",", "TargetSubtargetInfo", "::", "AntiDepBreakMode", "&", "Mode", ",", "RegClassVector", "&", "CriticalPathRCs", ")", "const", "{", "Mode", "=", "TargetSubtargetInfo", "::", "ANTIDEP_CRITICAL", ";", "CriticalPathRCs", ".", "clear", "(", ")", ";", "CriticalPathRCs", ".", "push_back", "(", "&", "ARM", "::", "GPRRegClass", ")", ";", "return", "PostRAScheduler", "&&", "OptLevel", ">=", "CodeGenOpt", "::", "Default", ";", "}", ""], "natrual_language": ["True", "if", "the", "subtarget", "should", "run", "a", "scheduler", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM::GPRRegClass"], "File": "ARMSubtarget1", "Func": "enablePostRAScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11409, "Length": 54} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "ARMBaseTargetMachine", "&", "TM", ",", "bool", "IsLittle", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "ARMProcClass", "(", "None", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TM", "(", "TM", ")", ",", "TSInfo", "(", "*", "TM", ".", "getDataLayout", "(", ")", ")", ",", "FrameLowering", "(", "initializeFrameLowering", "(", "CPU", ",", "FS", ")", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ",", "*", "this", ")", "{", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget23", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11410, "Length": 159} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "Triple", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "ARMBaseTargetMachine", "&", "TM", ",", "bool", "IsLittle", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "UseMulOps", "(", "UseFusedMulOps", ")", ",", "GenExecuteOnly", "(", "EnableExecuteOnly", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TM", "(", "TM", ")", ",", "FrameLowering", "(", "initializeFrameLowering", "(", "CPU", ",", "FS", ")", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ",", "*", "this", ")", ",", "GISel", "(", ")", "{", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget24", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11411, "Length": 146} {"ground_truth": ["", "const", "CallLowering", "*", "ARMSubtarget", "::", "getCallLowering", "(", ")", "const", "{", "assert", "(", "GISel", "&&", "\"Access to GlobalISel APIs not set\"", ")", ";", "return", "GISel", "->", "getCallLowering", "(", ")", ";", "}", ""], "natrual_language": ["Methods", "used", "by", "Global", "ISel", "."], "TS_V_token": ["ARM", "ARM", "\"Access to GlobalISel APIs not set\""], "File": "ARMSubtarget24", "Func": "getCallLowering", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11412, "Length": 25} {"ground_truth": ["", "const", "LegalizerInfo", "*", "ARMSubtarget", "::", "getLegalizerInfo", "(", ")", "const", "{", "assert", "(", "GISel", "&&", "\"Access to GlobalISel APIs not set\"", ")", ";", "return", "GISel", "->", "getLegalizerInfo", "(", ")", ";", "}", ""], "natrual_language": ["Expose", "LegalizerInfo", "so", "the", "clients", "can", "re-use", "."], "TS_V_token": ["ARM", "ARM", "\"Access to GlobalISel APIs not set\""], "File": "ARMSubtarget24", "Func": "getLegalizerInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11413, "Length": 25} {"ground_truth": ["", "const", "RegisterBankInfo", "*", "ARMSubtarget", "::", "getRegBankInfo", "(", ")", "const", "{", "assert", "(", "GISel", "&&", "\"Access to GlobalISel APIs not set\"", ")", ";", "return", "GISel", "->", "getRegBankInfo", "(", ")", ";", "}", ""], "natrual_language": ["If", "the", "information", "for", "the", "register", "banks", "is", "available", ",", "return", "it", "."], "TS_V_token": ["ARM", "ARM", "\"Access to GlobalISel APIs not set\""], "File": "ARMSubtarget24", "Func": "getRegBankInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11414, "Length": 25} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "Module", "&", "M", ",", "const", "std", "::", "string", "&", "FS", ",", "bool", "isThumb", ")", ":", "ARMArchVersion", "(", "V4T", ")", ",", "ARMFPUType", "(", "None", ")", ",", "IsThumb", "(", "isThumb", ")", ",", "ThumbMode", "(", "Thumb1", ")", ",", "UseThumbBacktraces", "(", "false", ")", ",", "IsR9Reserved", "(", "false", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "\"generic\"", ")", ",", "TargetType", "(", "isELF", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "CPUString", "=", "ParseSubtargetFeatures", "(", "FS", ",", "CPUString", ")", ";", "const", "std", "::", "string", "&", "TT", "=", "M", ".", "getTargetTriple", "(", ")", ";", "unsigned", "Len", "=", "TT", ".", "length", "(", ")", ";", "unsigned", "Idx", "=", "0", ";", "if", "(", "Len", ">=", "5", "&&", "TT", ".", "substr", "(", "0", ",", "4", ")", "==", "\"armv\"", ")", "Idx", "=", "4", ";", "else", "if", "(", "Len", ">=", "6", "&&", "TT", ".", "substr", "(", "0", ",", "6", ")", "==", "\"thumb\"", ")", "{", "IsThumb", "=", "true", ";", "if", "(", "Len", ">=", "7", "&&", "TT", "[", "5", "]", "==", "'v'", ")", "Idx", "=", "6", ";", "}", "if", "(", "Idx", ")", "{", "unsigned", "SubVer", "=", "TT", "[", "Idx", "]", ";", "if", "(", "SubVer", ">", "'4'", "&&", "SubVer", "<=", "'9'", ")", "{", "if", "(", "SubVer", ">=", "'7'", ")", "ARMArchVersion", "=", "V7A", ";", "else", "if", "(", "SubVer", "==", "'6'", ")", "ARMArchVersion", "=", "V6", ";", "else", "if", "(", "SubVer", "==", "'5'", ")", "{", "ARMArchVersion", "=", "V5T", ";", "if", "(", "Len", ">=", "Idx", "+", "3", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", "&&", "TT", "[", "Idx", "+", "2", "]", "==", "'e'", ")", "ARMArchVersion", "=", "V5TE", ";", "}", "}", "}", "if", "(", "Len", ">=", "10", ")", "{", "if", "(", "TT", ".", "find", "(", "\"-darwin\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetType", "=", "isDarwin", ";", "}", "else", "if", "(", "TT", ".", "empty", "(", ")", ")", "{", "TargetType", "=", "isDarwin", ";", "}", "if", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "isTargetDarwin", "(", ")", ")", "{", "UseThumbBacktraces", "=", "true", ";", "IsR9Reserved", "=", "true", ";", "}", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "4", "\"generic\"", "ARM", "0", "5", "0", "4", "\"armv\"", "4", "6", "0", "6", "\"thumb\"", "7", "5", "6", "ARM", "ARM", "ARM", "3", "1", "2", "ARM", "10", "\"-darwin\"", "\"eabi\"", "ARM", "8"], "File": "ARMSubtarget25", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11415, "Length": 346} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "TargetOptions", "&", "Options", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "ARMProcClass", "(", "None", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "Options", ")", ",", "TargetABI", "(", "ARM_ABI_UNKNOWN", ")", "{", "initializeEnvironment", "(", ")", ";", "resetSubtargetFeatures", "(", "CPU", ",", "FS", ")", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM"], "File": "ARMSubtarget28", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11416, "Length": 87} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "HasV4TOps", "(", "false", ")", ",", "HasV5TOps", "(", "false", ")", ",", "HasV5TEOps", "(", "false", ")", ",", "HasV6Ops", "(", "false", ")", ",", "HasV6T2Ops", "(", "false", ")", ",", "HasV7Ops", "(", "false", ")", ",", "HasVFPv2", "(", "false", ")", ",", "HasVFPv3", "(", "false", ")", ",", "HasVFPv4", "(", "false", ")", ",", "HasNEON", "(", "false", ")", ",", "UseNEONForSinglePrecisionFP", "(", "false", ")", ",", "SlowFPVMLx", "(", "false", ")", ",", "HasVMLxForwarding", "(", "false", ")", ",", "SlowFPBrcc", "(", "false", ")", ",", "InThumbMode", "(", "false", ")", ",", "HasThumb2", "(", "false", ")", ",", "IsMClass", "(", "false", ")", ",", "NoARM", "(", "false", ")", ",", "PostRAScheduler", "(", "false", ")", ",", "IsR9Reserved", "(", "ReserveR9", ")", ",", "UseMovt", "(", "false", ")", ",", "SupportsTailCall", "(", "false", ")", ",", "HasFP16", "(", "false", ")", ",", "HasD16", "(", "false", ")", ",", "HasHardwareDivide", "(", "false", ")", ",", "HasT2ExtractPack", "(", "false", ")", ",", "HasDataBarrier", "(", "false", ")", ",", "Pref32BitThumb", "(", "false", ")", ",", "AvoidCPSRPartialUpdate", "(", "false", ")", ",", "HasRAS", "(", "false", ")", ",", "HasMPExtension", "(", "false", ")", ",", "FPOnlySP", "(", "false", ")", ",", "AllowsUnalignedMem", "(", "false", ")", ",", "Thumb2DSP", "(", "false", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "TargetTriple", "(", "TT", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "if", "(", "CPUString", ".", "empty", "(", ")", ")", "CPUString", "=", "\"generic\"", ";", "std", "::", "string", "ArchFS", "=", "ARM_MC", "::", "ParseARMTriple", "(", "TT", ",", "CPUString", ")", ";", "if", "(", "!", "FS", ".", "empty", "(", ")", ")", "{", "if", "(", "!", "ArchFS", ".", "empty", "(", ")", ")", "ArchFS", "=", "ArchFS", "+", "\",\"", "+", "FS", ";", "else", "ArchFS", "=", "FS", ";", "}", "ParseSubtargetFeatures", "(", "CPUString", ",", "ArchFS", ")", ";", "if", "(", "!", "HasV6T2Ops", "&&", "hasThumb2", "(", ")", ")", "HasV4TOps", "=", "HasV5TOps", "=", "HasV5TEOps", "=", "HasV6Ops", "=", "HasV6T2Ops", "=", "true", ";", "InstrItins", "=", "getInstrItineraryForCPU", "(", "CPUString", ")", ";", "if", "(", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "||", "(", "isTargetIOS", "(", ")", "&&", "isMClass", "(", ")", ")", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "!", "isTargetIOS", "(", ")", ")", "UseMovt", "=", "hasV6T2Ops", "(", ")", ";", "else", "{", "IsR9Reserved", "=", "ReserveR9", "|", "!", "HasV6Ops", ";", "UseMovt", "=", "DarwinUseMOVT", "&&", "hasV6T2Ops", "(", ")", ";", "SupportsTailCall", "=", "!", "getTargetTriple", "(", ")", ".", "isOSVersionLT", "(", "5", ",", "0", ")", ";", "}", "if", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", "PostRAScheduler", "=", "true", ";", "if", "(", "!", "StrictAlign", "&&", "hasV6Ops", "(", ")", "&&", "isTargetDarwin", "(", ")", ")", "AllowsUnalignedMem", "=", "true", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "\"generic\"", "ARM", "ARM", "\",\"", "\"eabi\"", "ARM", "8", "5", "0"], "File": "ARMSubtarget29", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11417, "Length": 443} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "Triple", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "ARMBaseTargetMachine", "&", "TM", ",", "bool", "IsLittle", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "UseMulOps", "(", "UseFusedMulOps", ")", ",", "GenExecuteOnly", "(", "EnableExecuteOnly", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TM", "(", "TM", ")", ",", "FrameLowering", "(", "initializeFrameLowering", "(", "CPU", ",", "FS", ")", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ",", "*", "this", ")", "{", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget31", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11418, "Length": 142} {"ground_truth": ["", "unsigned", "getMaxInlineSizeThreshold", "(", ")", "const", "{", "return", "isThumb", "(", ")", "?", "0", ":", "64", ";", "}", ""], "natrual_language": ["Returns", "the", "maximum", "memset", "/", "memcpy", "size", "that", "still", "makes", "it", "profitable", "to", "inline", "the", "call", "."], "TS_V_token": ["ARM", "0", "64"], "File": "ARMSubtarget32", "Func": "getMaxInlineSizeThreshold", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11419, "Length": 16} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "FS", ",", "bool", "isThumb", ")", ":", "ARMArchVersion", "(", "V4T", ")", ",", "ARMFPUType", "(", "None", ")", ",", "UseNEONForSinglePrecisionFP", "(", "false", ")", ",", "IsThumb", "(", "isThumb", ")", ",", "ThumbMode", "(", "Thumb1", ")", ",", "IsR9Reserved", "(", "ReserveR9", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "\"generic\"", ")", ",", "TargetType", "(", "isELF", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "if", "(", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "CPUString", "=", "ParseSubtargetFeatures", "(", "FS", ",", "CPUString", ")", ";", "unsigned", "Len", "=", "TT", ".", "length", "(", ")", ";", "unsigned", "Idx", "=", "0", ";", "if", "(", "Len", ">=", "5", "&&", "TT", ".", "substr", "(", "0", ",", "4", ")", "==", "\"armv\"", ")", "Idx", "=", "4", ";", "else", "if", "(", "Len", ">=", "6", "&&", "TT", ".", "substr", "(", "0", ",", "5", ")", "==", "\"thumb\"", ")", "{", "IsThumb", "=", "true", ";", "if", "(", "Len", ">=", "7", "&&", "TT", "[", "5", "]", "==", "'v'", ")", "Idx", "=", "6", ";", "}", "if", "(", "Idx", ")", "{", "unsigned", "SubVer", "=", "TT", "[", "Idx", "]", ";", "if", "(", "SubVer", ">", "'4'", "&&", "SubVer", "<=", "'9'", ")", "{", "if", "(", "SubVer", ">=", "'7'", ")", "{", "ARMArchVersion", "=", "V7A", ";", "}", "else", "if", "(", "SubVer", "==", "'6'", ")", "{", "ARMArchVersion", "=", "V6", ";", "if", "(", "Len", ">=", "Idx", "+", "3", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", "&&", "TT", "[", "Idx", "+", "2", "]", "==", "'2'", ")", "ARMArchVersion", "=", "V6T2", ";", "}", "else", "if", "(", "SubVer", "==", "'5'", ")", "{", "ARMArchVersion", "=", "V5T", ";", "if", "(", "Len", ">=", "Idx", "+", "3", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", "&&", "TT", "[", "Idx", "+", "2", "]", "==", "'e'", ")", "ARMArchVersion", "=", "V5TE", ";", "}", "if", "(", "ARMArchVersion", ">=", "V6T2", ")", "ThumbMode", "=", "Thumb2", ";", "}", "}", "if", "(", "ARMArchVersion", "<", "V6T2", "&&", "ThumbMode", ">=", "Thumb2", ")", "ARMArchVersion", "=", "V6T2", ";", "if", "(", "Len", ">=", "10", ")", "{", "if", "(", "TT", ".", "find", "(", "\"-darwin\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetType", "=", "isDarwin", ";", "}", "if", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "isTargetDarwin", "(", ")", ")", "IsR9Reserved", "=", "ReserveR9", "|", "(", "ARMArchVersion", "<", "V6", ")", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "4", "\"generic\"", "ARM", "0", "5", "0", "4", "\"armv\"", "4", "6", "0", "5", "\"thumb\"", "7", "5", "6", "ARM", "ARM", "3", "1", "2", "ARM", "ARM", "3", "1", "2", "ARM", "ARM", "ARM", "ARM", "10", "\"-darwin\"", "\"eabi\"", "ARM", "8", "ARM"], "File": "ARMSubtarget34", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11420, "Length": 392} {"ground_truth": ["", "bool", "isTargetEHABICompatible", "(", ")", "const", "{", "return", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "Android", ")", "&&", "!", "isTargetDarwin", "(", ")", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "supports", "the", "EHABI", "exception", "handling", "standard", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget34", "Func": "isTargetEHABICompatible", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11421, "Length": 65} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "TargetMachine", "&", "TM", ",", "bool", "IsLittle", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "ARMProcClass", "(", "None", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TargetABI", "(", "ARM_ABI_UNKNOWN", ")", ",", "DL", "(", "computeDataLayout", "(", "initializeSubtargetDependencies", "(", "CPU", ",", "FS", ")", ")", ")", ",", "TSInfo", "(", "DL", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ")", ",", "FrameLowering", "(", "!", "isThumb1Only", "(", ")", "?", "new", "ARMFrameLowering", "(", "*", "this", ")", ":", "(", "ARMFrameLowering", "*", ")", "new", "Thumb1FrameLowering", "(", "*", "this", ")", ")", "{", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget35", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11422, "Length": 180} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "HasV4TOps", "(", "false", ")", ",", "HasV5TOps", "(", "false", ")", ",", "HasV5TEOps", "(", "false", ")", ",", "HasV6Ops", "(", "false", ")", ",", "HasV6T2Ops", "(", "false", ")", ",", "HasV7Ops", "(", "false", ")", ",", "HasVFPv2", "(", "false", ")", ",", "HasVFPv3", "(", "false", ")", ",", "HasVFPv4", "(", "false", ")", ",", "HasNEON", "(", "false", ")", ",", "UseNEONForSinglePrecisionFP", "(", "false", ")", ",", "UseMulOps", "(", "UseFusedMulOps", ")", ",", "SlowFPVMLx", "(", "false", ")", ",", "HasVMLxForwarding", "(", "false", ")", ",", "SlowFPBrcc", "(", "false", ")", ",", "InThumbMode", "(", "false", ")", ",", "HasThumb2", "(", "false", ")", ",", "IsMClass", "(", "false", ")", ",", "NoARM", "(", "false", ")", ",", "PostRAScheduler", "(", "false", ")", ",", "IsR9Reserved", "(", "ReserveR9", ")", ",", "UseMovt", "(", "false", ")", ",", "SupportsTailCall", "(", "false", ")", ",", "HasFP16", "(", "false", ")", ",", "HasD16", "(", "false", ")", ",", "HasHardwareDivide", "(", "false", ")", ",", "HasHardwareDivideInARM", "(", "false", ")", ",", "HasT2ExtractPack", "(", "false", ")", ",", "HasDataBarrier", "(", "false", ")", ",", "Pref32BitThumb", "(", "false", ")", ",", "AvoidCPSRPartialUpdate", "(", "false", ")", ",", "AvoidMOVsShifterOperand", "(", "false", ")", ",", "HasRAS", "(", "false", ")", ",", "HasMPExtension", "(", "false", ")", ",", "FPOnlySP", "(", "false", ")", ",", "AllowsUnalignedMem", "(", "false", ")", ",", "Thumb2DSP", "(", "false", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "TargetTriple", "(", "TT", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "if", "(", "CPUString", ".", "empty", "(", ")", ")", "CPUString", "=", "\"generic\"", ";", "std", "::", "string", "ArchFS", "=", "ARM_MC", "::", "ParseARMTriple", "(", "TT", ",", "CPUString", ")", ";", "if", "(", "!", "FS", ".", "empty", "(", ")", ")", "{", "if", "(", "!", "ArchFS", ".", "empty", "(", ")", ")", "ArchFS", "=", "ArchFS", "+", "\",\"", "+", "FS", ";", "else", "ArchFS", "=", "FS", ";", "}", "ParseSubtargetFeatures", "(", "CPUString", ",", "ArchFS", ")", ";", "if", "(", "!", "HasV6T2Ops", "&&", "hasThumb2", "(", ")", ")", "HasV4TOps", "=", "HasV5TOps", "=", "HasV5TEOps", "=", "HasV6Ops", "=", "HasV6T2Ops", "=", "true", ";", "SchedModel", "=", "getSchedModelForCPU", "(", "CPUString", ")", ";", "InstrItins", "=", "getInstrItineraryForCPU", "(", "CPUString", ")", ";", "if", "(", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "||", "(", "isTargetIOS", "(", ")", "&&", "isMClass", "(", ")", ")", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "!", "isTargetIOS", "(", ")", ")", "UseMovt", "=", "hasV6T2Ops", "(", ")", ";", "else", "{", "IsR9Reserved", "=", "ReserveR9", "|", "!", "HasV6Ops", ";", "UseMovt", "=", "DarwinUseMOVT", "&&", "hasV6T2Ops", "(", ")", ";", "SupportsTailCall", "=", "!", "getTargetTriple", "(", ")", ".", "isOSVersionLT", "(", "5", ",", "0", ")", ";", "}", "if", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", "PostRAScheduler", "=", "true", ";", "if", "(", "!", "StrictAlign", "&&", "hasV6Ops", "(", ")", "&&", "isTargetDarwin", "(", ")", ")", "AllowsUnalignedMem", "=", "true", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "\"generic\"", "ARM", "ARM", "\",\"", "\"eabi\"", "ARM", "8", "5", "0"], "File": "ARMSubtarget36", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11423, "Length": 465} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "Triple", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "ARMBaseTargetMachine", "&", "TM", ",", "bool", "IsLittle", ",", "bool", "MinSize", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "CPU", ",", "FS", ")", ",", "UseMulOps", "(", "UseFusedMulOps", ")", ",", "CPUString", "(", "CPU", ")", ",", "OptMinSize", "(", "MinSize", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TM", "(", "TM", ")", ",", "FrameLowering", "(", "initializeFrameLowering", "(", "CPU", ",", "FS", ")", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ",", "*", "this", ")", "{", "CallLoweringInfo", ".", "reset", "(", "new", "ARMCallLowering", "(", "*", "getTargetLowering", "(", ")", ")", ")", ";", "Legalizer", ".", "reset", "(", "new", "ARMLegalizerInfo", "(", "*", "this", ")", ")", ";", "auto", "*", "RBI", "=", "new", "ARMRegisterBankInfo", "(", "*", "getRegisterInfo", "(", ")", ")", ";", "InstSelector", ".", "reset", "(", "createARMInstructionSelector", "(", "*", "static_cast", "<", "const", "ARMBaseTargetMachine", "*", ">", "(", "&", "TM", ")", ",", "*", "this", ",", "*", "RBI", ")", ")", ";", "RegBankInfo", ".", "reset", "(", "RBI", ")", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget37", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11424, "Length": 219} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enablePostRAMachineScheduler", "(", ")", "const", "{", "if", "(", "!", "enableMachineScheduler", "(", ")", ")", "return", "false", ";", "if", "(", "disablePostRAScheduler", "(", ")", ")", "return", "false", ";", "return", "!", "isThumb1Only", "(", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "subtarget", "should", "run", "a", "machine", "scheduler", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget37", "Func": "enablePostRAMachineScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11425, "Length": 34} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enablePostRAScheduler", "(", ")", "const", "{", "if", "(", "enableMachineScheduler", "(", ")", ")", "return", "false", ";", "if", "(", "disablePostRAScheduler", "(", ")", ")", "return", "false", ";", "return", "!", "isThumb1Only", "(", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "subtarget", "should", "run", "a", "scheduler", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget37", "Func": "enablePostRAScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11426, "Length": 33} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enableSubRegLiveness", "(", ")", "const", "{", "return", "EnableSubRegLiveness", ";", "}", ""], "natrual_language": ["Enable", "tracking", "of", "subregister", "liveness", "in", "register", "allocator", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget37", "Func": "enableSubRegLiveness", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11427, "Length": 12} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "ARMBaseTargetMachine", "&", "TM", ",", "bool", "IsLittle", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "ARMProcClass", "(", "None", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TM", "(", "TM", ")", ",", "DL", "(", "computeDataLayout", "(", "initializeSubtargetDependencies", "(", "CPU", ",", "FS", ")", ")", ")", ",", "TSInfo", "(", "DL", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ")", ",", "FrameLowering", "(", "!", "isThumb1Only", "(", ")", "?", "new", "ARMFrameLowering", "(", "*", "this", ")", ":", "(", "ARMFrameLowering", "*", ")", "new", "Thumb1FrameLowering", "(", "*", "this", ")", ")", "{", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget40", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11428, "Length": 180} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "HasV4TOps", "(", "false", ")", ",", "HasV5TOps", "(", "false", ")", ",", "HasV5TEOps", "(", "false", ")", ",", "HasV6Ops", "(", "false", ")", ",", "HasV6T2Ops", "(", "false", ")", ",", "HasV7Ops", "(", "false", ")", ",", "HasVFPv2", "(", "false", ")", ",", "HasVFPv3", "(", "false", ")", ",", "HasVFPv4", "(", "false", ")", ",", "HasNEON", "(", "false", ")", ",", "UseNEONForSinglePrecisionFP", "(", "false", ")", ",", "UseMulOps", "(", "UseFusedMulOps", ")", ",", "SlowFPVMLx", "(", "false", ")", ",", "HasVMLxForwarding", "(", "false", ")", ",", "SlowFPBrcc", "(", "false", ")", ",", "InThumbMode", "(", "false", ")", ",", "HasThumb2", "(", "false", ")", ",", "IsMClass", "(", "false", ")", ",", "NoARM", "(", "false", ")", ",", "PostRAScheduler", "(", "false", ")", ",", "IsR9Reserved", "(", "ReserveR9", ")", ",", "UseMovt", "(", "false", ")", ",", "SupportsTailCall", "(", "false", ")", ",", "HasFP16", "(", "false", ")", ",", "HasD16", "(", "false", ")", ",", "HasHardwareDivide", "(", "false", ")", ",", "HasHardwareDivideInARM", "(", "false", ")", ",", "HasT2ExtractPack", "(", "false", ")", ",", "HasDataBarrier", "(", "false", ")", ",", "Pref32BitThumb", "(", "false", ")", ",", "AvoidCPSRPartialUpdate", "(", "false", ")", ",", "HasRAS", "(", "false", ")", ",", "HasMPExtension", "(", "false", ")", ",", "FPOnlySP", "(", "false", ")", ",", "AllowsUnalignedMem", "(", "false", ")", ",", "Thumb2DSP", "(", "false", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "TargetTriple", "(", "TT", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "if", "(", "CPUString", ".", "empty", "(", ")", ")", "CPUString", "=", "\"generic\"", ";", "std", "::", "string", "ArchFS", "=", "ARM_MC", "::", "ParseARMTriple", "(", "TT", ",", "CPUString", ")", ";", "if", "(", "!", "FS", ".", "empty", "(", ")", ")", "{", "if", "(", "!", "ArchFS", ".", "empty", "(", ")", ")", "ArchFS", "=", "ArchFS", "+", "\",\"", "+", "FS", ";", "else", "ArchFS", "=", "FS", ";", "}", "ParseSubtargetFeatures", "(", "CPUString", ",", "ArchFS", ")", ";", "if", "(", "!", "HasV6T2Ops", "&&", "hasThumb2", "(", ")", ")", "HasV4TOps", "=", "HasV5TOps", "=", "HasV5TEOps", "=", "HasV6Ops", "=", "HasV6T2Ops", "=", "true", ";", "SchedModel", "=", "getSchedModelForCPU", "(", "CPUString", ")", ";", "InstrItins", "=", "getInstrItineraryForCPU", "(", "CPUString", ")", ";", "if", "(", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "||", "(", "isTargetIOS", "(", ")", "&&", "isMClass", "(", ")", ")", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "!", "isTargetIOS", "(", ")", ")", "UseMovt", "=", "hasV6T2Ops", "(", ")", ";", "else", "{", "IsR9Reserved", "=", "ReserveR9", "|", "!", "HasV6Ops", ";", "UseMovt", "=", "DarwinUseMOVT", "&&", "hasV6T2Ops", "(", ")", ";", "SupportsTailCall", "=", "!", "getTargetTriple", "(", ")", ".", "isOSVersionLT", "(", "5", ",", "0", ")", ";", "}", "if", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", "PostRAScheduler", "=", "true", ";", "if", "(", "!", "StrictAlign", "&&", "hasV6Ops", "(", ")", "&&", "isTargetDarwin", "(", ")", ")", "AllowsUnalignedMem", "=", "true", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "\"generic\"", "ARM", "ARM", "\",\"", "\"eabi\"", "ARM", "8", "5", "0"], "File": "ARMSubtarget42", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11429, "Length": 460} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enableMachinePipeliner", "(", ")", "const", "{", "return", "getSchedModel", "(", ")", ".", "hasInstrSchedModel", "(", ")", "&&", "useMachinePipeliner", "(", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "subtarget", "should", "run", "MachinePipeliner", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget45", "Func": "enableMachinePipeliner", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11430, "Length": 22} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enableSubRegLiveness", "(", ")", "const", "{", "if", "(", "EnableSubRegLiveness", ".", "getNumOccurrences", "(", ")", ")", "return", "EnableSubRegLiveness", ";", "return", "hasMVEIntegerOps", "(", ")", ";", "}", ""], "natrual_language": ["Enable", "tracking", "of", "subregister", "liveness", "in", "register", "allocator", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget45", "Func": "enableSubRegLiveness", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11431, "Length": 25} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "useDFAforSMS", "(", ")", "const", "{", "return", "false", ";", "}", ""], "natrual_language": ["Default", "to", "DFA", "for", "resource", "management", ",", "return", "false", "when", "target", "will", "use", "ProcResource", "in", "InstrSchedModel", "instead", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget45", "Func": "useDFAforSMS", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11432, "Length": 12} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "FS", ",", "bool", "isT", ")", ":", "ARMArchVersion", "(", "V4", ")", ",", "ARMFPUType", "(", "None", ")", ",", "UseNEONForSinglePrecisionFP", "(", "UseNEONFP", ")", ",", "IsThumb", "(", "isT", ")", ",", "ThumbMode", "(", "Thumb1", ")", ",", "PostRAScheduler", "(", "false", ")", ",", "IsR9Reserved", "(", "ReserveR9", ")", ",", "UseMovt", "(", "UseMOVT", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "\"generic\"", ")", ",", "TargetType", "(", "isELF", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "if", "(", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "CPUString", "=", "ParseSubtargetFeatures", "(", "FS", ",", "CPUString", ")", ";", "if", "(", "CPUString", "==", "\"generic\"", "&&", "(", "FS", ".", "empty", "(", ")", "||", "FS", "==", "\"generic\"", ")", ")", "ARMArchVersion", "=", "V4T", ";", "unsigned", "Len", "=", "TT", ".", "length", "(", ")", ";", "unsigned", "Idx", "=", "0", ";", "if", "(", "Len", ">=", "5", "&&", "TT", ".", "substr", "(", "0", ",", "4", ")", "==", "\"armv\"", ")", "Idx", "=", "4", ";", "else", "if", "(", "Len", ">=", "6", "&&", "TT", ".", "substr", "(", "0", ",", "5", ")", "==", "\"thumb\"", ")", "{", "IsThumb", "=", "true", ";", "if", "(", "Len", ">=", "7", "&&", "TT", "[", "5", "]", "==", "'v'", ")", "Idx", "=", "6", ";", "}", "if", "(", "Idx", ")", "{", "unsigned", "SubVer", "=", "TT", "[", "Idx", "]", ";", "if", "(", "SubVer", ">=", "'7'", "&&", "SubVer", "<=", "'9'", ")", "{", "ARMArchVersion", "=", "V7A", ";", "}", "else", "if", "(", "SubVer", "==", "'6'", ")", "{", "ARMArchVersion", "=", "V6", ";", "if", "(", "Len", ">=", "Idx", "+", "3", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", "&&", "TT", "[", "Idx", "+", "2", "]", "==", "'2'", ")", "ARMArchVersion", "=", "V6T2", ";", "}", "else", "if", "(", "SubVer", "==", "'5'", ")", "{", "ARMArchVersion", "=", "V5T", ";", "if", "(", "Len", ">=", "Idx", "+", "3", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", "&&", "TT", "[", "Idx", "+", "2", "]", "==", "'e'", ")", "ARMArchVersion", "=", "V5TE", ";", "}", "else", "if", "(", "SubVer", "==", "'4'", ")", "{", "if", "(", "Len", ">=", "Idx", "+", "2", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", ")", "ARMArchVersion", "=", "V4T", ";", "else", "ARMArchVersion", "=", "V4", ";", "}", "}", "if", "(", "ARMArchVersion", ">=", "V6T2", ")", "ThumbMode", "=", "Thumb2", ";", "else", "if", "(", "ThumbMode", ">=", "Thumb2", ")", "ARMArchVersion", "=", "V6T2", ";", "if", "(", "Len", ">=", "10", ")", "{", "if", "(", "TT", ".", "find", "(", "\"-darwin\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetType", "=", "isDarwin", ";", "}", "if", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "isTargetDarwin", "(", ")", ")", "IsR9Reserved", "=", "ReserveR9", "|", "(", "ARMArchVersion", "<", "V6", ")", ";", "if", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", "PostRAScheduler", "=", "true", ";", "if", "(", "CPUString", "==", "\"cortex-a8\"", ")", "{", "if", "(", "UseNEONFP", ".", "getPosition", "(", ")", "==", "0", ")", "UseNEONForSinglePrecisionFP", "=", "true", ";", "}", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "4", "\"generic\"", "ARM", "\"generic\"", "\"generic\"", "ARM", "0", "5", "0", "4", "\"armv\"", "4", "6", "0", "5", "\"thumb\"", "7", "5", "6", "ARM", "ARM", "3", "1", "2", "ARM", "ARM", "3", "1", "2", "ARM", "2", "1", "ARM", "ARM", "ARM", "ARM", "10", "\"-darwin\"", "\"eabi\"", "ARM", "8", "ARM", "\"cortex-a8\"", "0"], "File": "ARMSubtarget48", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11433, "Length": 485} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "Triple", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "ARMBaseTargetMachine", "&", "TM", ",", "bool", "IsLittle", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "ARMProcClass", "(", "None", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TM", "(", "TM", ")", ",", "FrameLowering", "(", "initializeFrameLowering", "(", "CPU", ",", "FS", ")", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ",", "*", "this", ")", "{", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget49", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11434, "Length": 147} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "Triple", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "ARMBaseTargetMachine", "&", "TM", ",", "bool", "IsLittle", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "UseMulOps", "(", "UseFusedMulOps", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TM", "(", "TM", ")", ",", "FrameLowering", "(", "initializeFrameLowering", "(", "CPU", ",", "FS", ")", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ",", "*", "this", ")", "{", "assert", "(", "(", "isThumb", "(", ")", "||", "hasARMOps", "(", ")", ")", "&&", "\"Target must either be thumb or support ARM operations!\"", ")", ";", "GISelAccessor", "*", "GISel", "=", "new", "GISelAccessor", "(", ")", ";", "ARMGISelActualAccessor", "*", "GISel", "=", "new", "ARMGISelActualAccessor", "(", ")", ";", "GISel", "->", "CallLoweringInfo", ".", "reset", "(", "new", "ARMCallLowering", "(", "*", "getTargetLowering", "(", ")", ")", ")", ";", "GISel", "->", "Legalizer", ".", "reset", "(", "new", "ARMLegalizerInfo", "(", "*", "this", ")", ")", ";", "auto", "*", "RBI", "=", "new", "ARMRegisterBankInfo", "(", "*", "getRegisterInfo", "(", ")", ")", ";", "GISel", "->", "InstSelector", ".", "reset", "(", "createARMInstructionSelector", "(", "*", "static_cast", "<", "const", "ARMBaseTargetMachine", "*", ">", "(", "&", "TM", ")", ",", "*", "this", ",", "*", "RBI", ")", ")", ";", "GISel", "->", "RegBankInfo", ".", "reset", "(", "RBI", ")", ";", "setGISelAccessor", "(", "*", "GISel", ")", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "\"Target must either be thumb or support ARM operations!\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget51", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11435, "Length": 256} {"ground_truth": ["", "const", "CallLowering", "*", "getCallLowering", "(", ")", "const", "override", "{", "return", "CallLoweringInfo", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Methods", "used", "by", "Global", "ISel", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget51", "Func": "getCallLowering", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11436, "Length": 17} {"ground_truth": ["", "const", "LegalizerInfo", "*", "getLegalizerInfo", "(", ")", "const", "override", "{", "return", "Legalizer", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Expose", "LegalizerInfo", "so", "the", "clients", "can", "re-use", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget51", "Func": "getLegalizerInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11437, "Length": 17} {"ground_truth": ["", "const", "RegisterBankInfo", "*", "getRegBankInfo", "(", ")", "const", "override", "{", "return", "RegBankInfo", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["If", "the", "information", "for", "the", "register", "banks", "is", "available", ",", "return", "it", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget51", "Func": "getRegBankInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11438, "Length": 17} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enableAtomicExpand", "(", ")", "const", "{", "return", "hasAnyDataBarrier", "(", ")", "&&", "(", "!", "isThumb", "(", ")", "||", "hasV8MBaselineOps", "(", ")", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "subtarget", "should", "run", "the", "atomic", "expansion", "pass", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget52", "Func": "enableAtomicExpand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11439, "Length": 25} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "HasV4TOps", "(", "false", ")", ",", "HasV5TOps", "(", "false", ")", ",", "HasV5TEOps", "(", "false", ")", ",", "HasV6Ops", "(", "false", ")", ",", "HasV6T2Ops", "(", "false", ")", ",", "HasV7Ops", "(", "false", ")", ",", "HasVFPv2", "(", "false", ")", ",", "HasVFPv3", "(", "false", ")", ",", "HasVFPv4", "(", "false", ")", ",", "HasNEON", "(", "false", ")", ",", "HasNEONVFPv4", "(", "false", ")", ",", "UseNEONForSinglePrecisionFP", "(", "false", ")", ",", "SlowFPVMLx", "(", "false", ")", ",", "HasVMLxForwarding", "(", "false", ")", ",", "SlowFPBrcc", "(", "false", ")", ",", "InThumbMode", "(", "false", ")", ",", "HasThumb2", "(", "false", ")", ",", "IsMClass", "(", "false", ")", ",", "NoARM", "(", "false", ")", ",", "PostRAScheduler", "(", "false", ")", ",", "IsR9Reserved", "(", "ReserveR9", ")", ",", "UseMovt", "(", "false", ")", ",", "SupportsTailCall", "(", "false", ")", ",", "HasFP16", "(", "false", ")", ",", "HasD16", "(", "false", ")", ",", "HasHardwareDivide", "(", "false", ")", ",", "HasT2ExtractPack", "(", "false", ")", ",", "HasDataBarrier", "(", "false", ")", ",", "Pref32BitThumb", "(", "false", ")", ",", "AvoidCPSRPartialUpdate", "(", "false", ")", ",", "HasMPExtension", "(", "false", ")", ",", "FPOnlySP", "(", "false", ")", ",", "AllowsUnalignedMem", "(", "false", ")", ",", "Thumb2DSP", "(", "false", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "TargetTriple", "(", "TT", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "if", "(", "CPUString", ".", "empty", "(", ")", ")", "CPUString", "=", "\"generic\"", ";", "std", "::", "string", "ArchFS", "=", "ARM_MC", "::", "ParseARMTriple", "(", "TT", ")", ";", "if", "(", "!", "FS", ".", "empty", "(", ")", ")", "{", "if", "(", "!", "ArchFS", ".", "empty", "(", ")", ")", "ArchFS", "=", "ArchFS", "+", "\",\"", "+", "FS", ";", "else", "ArchFS", "=", "FS", ";", "}", "ParseSubtargetFeatures", "(", "CPUString", ",", "ArchFS", ")", ";", "if", "(", "!", "HasV6T2Ops", "&&", "hasThumb2", "(", ")", ")", "HasV4TOps", "=", "HasV5TOps", "=", "HasV5TEOps", "=", "HasV6Ops", "=", "HasV6T2Ops", "=", "true", ";", "InstrItins", "=", "getInstrItineraryForCPU", "(", "CPUString", ")", ";", "computeIssueWidth", "(", ")", ";", "if", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "!", "isTargetIOS", "(", ")", ")", "UseMovt", "=", "hasV6T2Ops", "(", ")", ";", "else", "{", "IsR9Reserved", "=", "ReserveR9", "|", "!", "HasV6Ops", ";", "UseMovt", "=", "DarwinUseMOVT", "&&", "hasV6T2Ops", "(", ")", ";", "const", "Triple", "&", "T", "=", "getTargetTriple", "(", ")", ";", "SupportsTailCall", "=", "!", "T", ".", "isOSVersionLT", "(", "5", ",", "0", ")", ";", "}", "if", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", "PostRAScheduler", "=", "true", ";", "if", "(", "!", "StrictAlign", "&&", "hasV6Ops", "(", ")", "&&", "isTargetDarwin", "(", ")", ")", "AllowsUnalignedMem", "=", "true", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "\"generic\"", "ARM", "ARM", "\",\"", "\"eabi\"", "ARM", "8", "5", "0"], "File": "ARMSubtarget54", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11440, "Length": 440} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "bool", "IsLittle", ",", "const", "TargetOptions", "&", "Options", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "ARMProcClass", "(", "None", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "Options", ")", ",", "TargetABI", "(", "ARM_ABI_UNKNOWN", ")", "{", "initializeEnvironment", "(", ")", ";", "resetSubtargetFeatures", "(", "CPU", ",", "FS", ")", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM"], "File": "ARMSubtarget56", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11441, "Length": 95} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "Module", "&", "M", ",", "const", "std", "::", "string", "&", "FS", ",", "bool", "thumb", ")", ":", "ARMArchVersion", "(", "V4T", ")", ",", "HasVFP2", "(", "false", ")", ",", "IsThumb", "(", "thumb", ")", ",", "UseThumbBacktraces", "(", "false", ")", ",", "IsR9Reserved", "(", "false", ")", ",", "stackAlignment", "(", "4", ")", ",", "TargetType", "(", "isELF", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "std", "::", "string", "CPU", "=", "\"generic\"", ";", "ParseSubtargetFeatures", "(", "FS", ",", "CPU", ")", ";", "const", "std", "::", "string", "&", "TT", "=", "M", ".", "getTargetTriple", "(", ")", ";", "unsigned", "Len", "=", "TT", ".", "length", "(", ")", ";", "unsigned", "Idx", "=", "0", ";", "if", "(", "Len", ">=", "5", "&&", "TT", ".", "substr", "(", "0", ",", "4", ")", "==", "\"armv\"", ")", "Idx", "=", "4", ";", "else", "if", "(", "Len", ">=", "6", "&&", "TT", ".", "substr", "(", "0", ",", "6", ")", "==", "\"thumb\"", ")", "{", "IsThumb", "=", "true", ";", "if", "(", "Len", ">=", "7", "&&", "TT", "[", "5", "]", "==", "'v'", ")", "Idx", "=", "6", ";", "}", "if", "(", "Idx", ")", "{", "unsigned", "SubVer", "=", "TT", "[", "Idx", "]", ";", "if", "(", "SubVer", ">", "'4'", "&&", "SubVer", "<=", "'9'", ")", "{", "if", "(", "SubVer", ">=", "'6'", ")", "ARMArchVersion", "=", "V6", ";", "else", "if", "(", "SubVer", "==", "'5'", ")", "{", "ARMArchVersion", "=", "V5T", ";", "if", "(", "Len", ">=", "Idx", "+", "3", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", "&&", "TT", "[", "Idx", "+", "2", "]", "==", "'e'", ")", "ARMArchVersion", "=", "V5TE", ";", "}", "}", "}", "if", "(", "Len", ">=", "10", ")", "{", "if", "(", "TT", ".", "find", "(", "\"-darwin\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetType", "=", "isDarwin", ";", "}", "else", "if", "(", "TT", ".", "empty", "(", ")", ")", "{", "TargetType", "=", "isDarwin", ";", "}", "if", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "isTargetDarwin", "(", ")", ")", "{", "UseThumbBacktraces", "=", "true", ";", "IsR9Reserved", "=", "true", ";", "}", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "4", "ARM", "\"generic\"", "0", "5", "0", "4", "\"armv\"", "4", "6", "0", "6", "\"thumb\"", "7", "5", "6", "ARM", "ARM", "3", "1", "2", "ARM", "10", "\"-darwin\"", "\"eabi\"", "ARM", "8"], "File": "ARMSubtarget57", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11442, "Length": 330} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "useFastISel", "(", ")", "const", "{", "return", "TM", ".", "Options", ".", "EnableFastISel", "&&", "(", "(", "isTargetMachO", "(", ")", "&&", "!", "isThumb1Only", "(", ")", ")", "||", "(", "isTargetLinux", "(", ")", "&&", "!", "isThumb", "(", ")", ")", "||", "(", "isTargetNaCl", "(", ")", "&&", "!", "isThumb", "(", ")", ")", ")", ";", "}", ""], "natrual_language": ["True", "if", "fast-isel", "is", "used", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget59", "Func": "useFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11443, "Length": 51} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enablePostRAScheduler", "(", ")", "const", "{", "return", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "subtarget", "should", "run", "a", "scheduler", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget60", "Func": "enablePostRAScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11444, "Length": 21} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "Triple", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "ARMBaseTargetMachine", "&", "TM", ",", "bool", "IsLittle", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "UseMulOps", "(", "UseFusedMulOps", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TM", "(", "TM", ")", ",", "FrameLowering", "(", "initializeFrameLowering", "(", "CPU", ",", "FS", ")", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ",", "*", "this", ")", "{", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget68", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11445, "Length": 137} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "isGVIndirectSymbol", "(", "const", "GlobalValue", "*", "GV", ")", "const", "{", "if", "(", "!", "TM", ".", "shouldAssumeDSOLocal", "(", "*", "GV", "->", "getParent", "(", ")", ",", "GV", ")", ")", "return", "true", ";", "if", "(", "isTargetDarwin", "(", ")", "&&", "TM", ".", "isPositionIndependent", "(", ")", "&&", "(", "GV", "->", "isDeclarationForLinker", "(", ")", "||", "GV", "->", "hasCommonLinkage", "(", ")", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["True", "if", "the", "GV", "will", "be", "accessed", "via", "an", "indirect", "symbol", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget68", "Func": "isGVIndirectSymbol", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11446, "Length": 65} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "TargetMachine", "&", "TM", ",", "bool", "IsLittle", ",", "const", "TargetOptions", "&", "Options", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "ARMProcClass", "(", "None", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "Options", ")", ",", "TargetABI", "(", "ARM_ABI_UNKNOWN", ")", ",", "DL", "(", "computeDataLayout", "(", "initializeSubtargetDependencies", "(", "CPU", ",", "FS", ")", ")", ")", ",", "TSInfo", "(", "DL", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ")", ",", "FrameLowering", "(", "!", "isThumb1Only", "(", ")", "?", "new", "ARMFrameLowering", "(", "*", "this", ")", ":", "(", "ARMFrameLowering", "*", ")", "new", "Thumb1FrameLowering", "(", "*", "this", ")", ")", "{", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget71", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11447, "Length": 182} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "HasV4TOps", "(", "false", ")", ",", "HasV5TOps", "(", "false", ")", ",", "HasV5TEOps", "(", "false", ")", ",", "HasV6Ops", "(", "false", ")", ",", "HasV6T2Ops", "(", "false", ")", ",", "HasV7Ops", "(", "false", ")", ",", "HasVFPv2", "(", "false", ")", ",", "HasVFPv3", "(", "false", ")", ",", "HasNEON", "(", "false", ")", ",", "UseNEONForSinglePrecisionFP", "(", "false", ")", ",", "SlowFPVMLx", "(", "false", ")", ",", "HasVMLxForwarding", "(", "false", ")", ",", "SlowFPBrcc", "(", "false", ")", ",", "InThumbMode", "(", "false", ")", ",", "InNaClMode", "(", "false", ")", ",", "HasThumb2", "(", "false", ")", ",", "IsMClass", "(", "false", ")", ",", "NoARM", "(", "false", ")", ",", "PostRAScheduler", "(", "false", ")", ",", "IsR9Reserved", "(", "ReserveR9", ")", ",", "UseMovt", "(", "false", ")", ",", "SupportsTailCall", "(", "false", ")", ",", "HasFP16", "(", "false", ")", ",", "HasD16", "(", "false", ")", ",", "HasHardwareDivide", "(", "false", ")", ",", "HasT2ExtractPack", "(", "false", ")", ",", "HasDataBarrier", "(", "false", ")", ",", "Pref32BitThumb", "(", "false", ")", ",", "AvoidCPSRPartialUpdate", "(", "false", ")", ",", "HasMPExtension", "(", "false", ")", ",", "FPOnlySP", "(", "false", ")", ",", "AllowsUnalignedMem", "(", "false", ")", ",", "Thumb2DSP", "(", "false", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "TargetTriple", "(", "TT", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "if", "(", "CPUString", ".", "empty", "(", ")", ")", "CPUString", "=", "\"generic\"", ";", "std", "::", "string", "ArchFS", "=", "ARM_MC", "::", "ParseARMTriple", "(", "TT", ")", ";", "if", "(", "!", "FS", ".", "empty", "(", ")", ")", "{", "if", "(", "!", "ArchFS", ".", "empty", "(", ")", ")", "ArchFS", "=", "ArchFS", "+", "\",\"", "+", "FS", ";", "else", "ArchFS", "=", "FS", ";", "}", "ParseSubtargetFeatures", "(", "CPUString", ",", "ArchFS", ")", ";", "if", "(", "!", "HasV6T2Ops", "&&", "hasThumb2", "(", ")", ")", "HasV4TOps", "=", "HasV5TOps", "=", "HasV5TEOps", "=", "HasV6Ops", "=", "HasV6T2Ops", "=", "true", ";", "InstrItins", "=", "getInstrItineraryForCPU", "(", "CPUString", ")", ";", "computeIssueWidth", "(", ")", ";", "if", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "!", "isTargetDarwin", "(", ")", ")", "UseMovt", "=", "hasV6T2Ops", "(", ")", ";", "else", "{", "IsR9Reserved", "=", "ReserveR9", "|", "!", "HasV6Ops", ";", "UseMovt", "=", "DarwinUseMOVT", "&&", "hasV6T2Ops", "(", ")", ";", "const", "Triple", "&", "T", "=", "getTargetTriple", "(", ")", ";", "SupportsTailCall", "=", "T", ".", "getOS", "(", ")", "==", "Triple", "::", "IOS", "&&", "!", "T", ".", "isOSVersionLT", "(", "5", ",", "0", ")", ";", "}", "if", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", "PostRAScheduler", "=", "true", ";", "if", "(", "!", "StrictAlign", "&&", "hasV6Ops", "(", ")", "&&", "isTargetDarwin", "(", ")", ")", "AllowsUnalignedMem", "=", "true", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "\"generic\"", "ARM", "ARM", "\",\"", "\"eabi\"", "ARM", "8", "5", "0"], "File": "ARMSubtarget74", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11448, "Length": 445} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "HasV4TOps", "(", "false", ")", ",", "HasV5TOps", "(", "false", ")", ",", "HasV5TEOps", "(", "false", ")", ",", "HasV6Ops", "(", "false", ")", ",", "HasV6T2Ops", "(", "false", ")", ",", "HasV7Ops", "(", "false", ")", ",", "HasVFPv2", "(", "false", ")", ",", "HasVFPv3", "(", "false", ")", ",", "HasNEON", "(", "false", ")", ",", "UseNEONForSinglePrecisionFP", "(", "false", ")", ",", "SlowFPVMLx", "(", "false", ")", ",", "HasVMLxForwarding", "(", "false", ")", ",", "SlowFPBrcc", "(", "false", ")", ",", "InThumbMode", "(", "false", ")", ",", "HasThumb2", "(", "false", ")", ",", "IsMClass", "(", "false", ")", ",", "NoARM", "(", "false", ")", ",", "PostRAScheduler", "(", "false", ")", ",", "IsR9Reserved", "(", "ReserveR9", ")", ",", "UseMovt", "(", "false", ")", ",", "SupportsTailCall", "(", "false", ")", ",", "HasFP16", "(", "false", ")", ",", "HasD16", "(", "false", ")", ",", "HasHardwareDivide", "(", "false", ")", ",", "HasT2ExtractPack", "(", "false", ")", ",", "HasDataBarrier", "(", "false", ")", ",", "Pref32BitThumb", "(", "false", ")", ",", "AvoidCPSRPartialUpdate", "(", "false", ")", ",", "HasMPExtension", "(", "false", ")", ",", "FPOnlySP", "(", "false", ")", ",", "AllowsUnalignedMem", "(", "false", ")", ",", "Thumb2DSP", "(", "false", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "TargetTriple", "(", "TT", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "if", "(", "CPUString", ".", "empty", "(", ")", ")", "CPUString", "=", "\"generic\"", ";", "std", "::", "string", "ArchFS", "=", "ARM_MC", "::", "ParseARMTriple", "(", "TT", ")", ";", "if", "(", "!", "FS", ".", "empty", "(", ")", ")", "{", "if", "(", "!", "ArchFS", ".", "empty", "(", ")", ")", "ArchFS", "=", "ArchFS", "+", "\",\"", "+", "FS", ";", "else", "ArchFS", "=", "FS", ";", "}", "ParseSubtargetFeatures", "(", "CPUString", ",", "ArchFS", ")", ";", "if", "(", "!", "HasV6T2Ops", "&&", "hasThumb2", "(", ")", ")", "HasV4TOps", "=", "HasV5TOps", "=", "HasV5TEOps", "=", "HasV6Ops", "=", "HasV6T2Ops", "=", "true", ";", "InstrItins", "=", "getInstrItineraryForCPU", "(", "CPUString", ")", ";", "computeIssueWidth", "(", ")", ";", "if", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "!", "isTargetDarwin", "(", ")", ")", "UseMovt", "=", "hasV6T2Ops", "(", ")", ";", "else", "{", "IsR9Reserved", "=", "ReserveR9", "|", "!", "HasV6Ops", ";", "UseMovt", "=", "DarwinUseMOVT", "&&", "hasV6T2Ops", "(", ")", ";", "const", "Triple", "&", "T", "=", "getTargetTriple", "(", ")", ";", "SupportsTailCall", "=", "T", ".", "getOS", "(", ")", "==", "Triple", "::", "IOS", "&&", "!", "T", ".", "isOSVersionLT", "(", "5", ",", "0", ")", ";", "}", "if", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", "PostRAScheduler", "=", "true", ";", "if", "(", "!", "StrictAlign", "&&", "hasV6Ops", "(", ")", "&&", "isTargetDarwin", "(", ")", ")", "AllowsUnalignedMem", "=", "true", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "\"generic\"", "ARM", "ARM", "\",\"", "\"eabi\"", "ARM", "8", "5", "0"], "File": "ARMSubtarget77", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11449, "Length": 440} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "FS", ",", "bool", "isT", ")", ":", "ARMArchVersion", "(", "V4", ")", ",", "ARMFPUType", "(", "None", ")", ",", "UseNEONForSinglePrecisionFP", "(", "UseNEONFP", ")", ",", "IsThumb", "(", "isT", ")", ",", "ThumbMode", "(", "Thumb1", ")", ",", "PostRAScheduler", "(", "false", ")", ",", "IsR9Reserved", "(", "ReserveR9", ")", ",", "UseMovt", "(", "UseMOVT", ")", ",", "HasFP16", "(", "false", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "\"generic\"", ")", ",", "TargetType", "(", "isELF", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "if", "(", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "CPUString", "=", "ParseSubtargetFeatures", "(", "FS", ",", "CPUString", ")", ";", "if", "(", "CPUString", "==", "\"generic\"", "&&", "(", "FS", ".", "empty", "(", ")", "||", "FS", "==", "\"generic\"", ")", ")", "ARMArchVersion", "=", "V4T", ";", "unsigned", "Len", "=", "TT", ".", "length", "(", ")", ";", "unsigned", "Idx", "=", "0", ";", "if", "(", "Len", ">=", "5", "&&", "TT", ".", "substr", "(", "0", ",", "4", ")", "==", "\"armv\"", ")", "Idx", "=", "4", ";", "else", "if", "(", "Len", ">=", "6", "&&", "TT", ".", "substr", "(", "0", ",", "5", ")", "==", "\"thumb\"", ")", "{", "IsThumb", "=", "true", ";", "if", "(", "Len", ">=", "7", "&&", "TT", "[", "5", "]", "==", "'v'", ")", "Idx", "=", "6", ";", "}", "if", "(", "Idx", ")", "{", "unsigned", "SubVer", "=", "TT", "[", "Idx", "]", ";", "if", "(", "SubVer", ">=", "'7'", "&&", "SubVer", "<=", "'9'", ")", "{", "ARMArchVersion", "=", "V7A", ";", "}", "else", "if", "(", "SubVer", "==", "'6'", ")", "{", "ARMArchVersion", "=", "V6", ";", "if", "(", "Len", ">=", "Idx", "+", "3", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", "&&", "TT", "[", "Idx", "+", "2", "]", "==", "'2'", ")", "ARMArchVersion", "=", "V6T2", ";", "}", "else", "if", "(", "SubVer", "==", "'5'", ")", "{", "ARMArchVersion", "=", "V5T", ";", "if", "(", "Len", ">=", "Idx", "+", "3", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", "&&", "TT", "[", "Idx", "+", "2", "]", "==", "'e'", ")", "ARMArchVersion", "=", "V5TE", ";", "}", "else", "if", "(", "SubVer", "==", "'4'", ")", "{", "if", "(", "Len", ">=", "Idx", "+", "2", "&&", "TT", "[", "Idx", "+", "1", "]", "==", "'t'", ")", "ARMArchVersion", "=", "V4T", ";", "else", "ARMArchVersion", "=", "V4", ";", "}", "}", "if", "(", "ARMArchVersion", ">=", "V6T2", ")", "ThumbMode", "=", "Thumb2", ";", "else", "if", "(", "ThumbMode", ">=", "Thumb2", ")", "ARMArchVersion", "=", "V6T2", ";", "if", "(", "Len", ">=", "10", ")", "{", "if", "(", "TT", ".", "find", "(", "\"-darwin\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetType", "=", "isDarwin", ";", "}", "if", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "isTargetDarwin", "(", ")", ")", "IsR9Reserved", "=", "ReserveR9", "|", "(", "ARMArchVersion", "<", "V6", ")", ";", "if", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", "PostRAScheduler", "=", "true", ";", "if", "(", "CPUString", "==", "\"cortex-a8\"", ")", "{", "if", "(", "UseNEONFP", ".", "getPosition", "(", ")", "==", "0", ")", "UseNEONForSinglePrecisionFP", "=", "true", ";", "}", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "4", "\"generic\"", "ARM", "\"generic\"", "\"generic\"", "ARM", "0", "5", "0", "4", "\"armv\"", "4", "6", "0", "5", "\"thumb\"", "7", "5", "6", "ARM", "ARM", "3", "1", "2", "ARM", "ARM", "3", "1", "2", "ARM", "2", "1", "ARM", "ARM", "ARM", "ARM", "10", "\"-darwin\"", "\"eabi\"", "ARM", "8", "ARM", "\"cortex-a8\"", "0"], "File": "ARMSubtarget79", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11450, "Length": 490} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "Triple", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "ARMBaseTargetMachine", "&", "TM", ",", "bool", "IsLittle", ",", "bool", "MinSize", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "UseMulOps", "(", "UseFusedMulOps", ")", ",", "ReservedGPRegisters", "(", "ARM", "::", "GPRRegClass", ".", "getNumRegs", "(", ")", ")", ",", "CPUString", "(", "CPU", ")", ",", "OptMinSize", "(", "MinSize", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TM", "(", "TM", ")", ",", "FrameLowering", "(", "initializeFrameLowering", "(", "CPU", ",", "FS", ")", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ",", "*", "this", ")", "{", "CallLoweringInfo", ".", "reset", "(", "new", "ARMCallLowering", "(", "*", "getTargetLowering", "(", ")", ")", ")", ";", "Legalizer", ".", "reset", "(", "new", "ARMLegalizerInfo", "(", "*", "this", ")", ")", ";", "auto", "*", "RBI", "=", "new", "ARMRegisterBankInfo", "(", "*", "getRegisterInfo", "(", ")", ")", ";", "InstSelector", ".", "reset", "(", "createARMInstructionSelector", "(", "*", "static_cast", "<", "const", "ARMBaseTargetMachine", "*", ">", "(", "&", "TM", ")", ",", "*", "this", ",", "*", "RBI", ")", ")", ";", "RegBankInfo", ".", "reset", "(", "RBI", ")", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::GPRRegClass", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget94", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11451, "Length": 228} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "ARMProcFamily", "(", "Others", ")", ",", "HasV4TOps", "(", "false", ")", ",", "HasV5TOps", "(", "false", ")", ",", "HasV5TEOps", "(", "false", ")", ",", "HasV6Ops", "(", "false", ")", ",", "HasV6T2Ops", "(", "false", ")", ",", "HasV7Ops", "(", "false", ")", ",", "HasVFPv2", "(", "false", ")", ",", "HasVFPv3", "(", "false", ")", ",", "HasVFPv4", "(", "false", ")", ",", "HasNEON", "(", "false", ")", ",", "HasNEON2", "(", "false", ")", ",", "UseNEONForSinglePrecisionFP", "(", "false", ")", ",", "SlowFPVMLx", "(", "false", ")", ",", "HasVMLxForwarding", "(", "false", ")", ",", "SlowFPBrcc", "(", "false", ")", ",", "InThumbMode", "(", "false", ")", ",", "HasThumb2", "(", "false", ")", ",", "IsMClass", "(", "false", ")", ",", "NoARM", "(", "false", ")", ",", "PostRAScheduler", "(", "false", ")", ",", "IsR9Reserved", "(", "ReserveR9", ")", ",", "UseMovt", "(", "false", ")", ",", "SupportsTailCall", "(", "false", ")", ",", "HasFP16", "(", "false", ")", ",", "HasD16", "(", "false", ")", ",", "HasHardwareDivide", "(", "false", ")", ",", "HasT2ExtractPack", "(", "false", ")", ",", "HasDataBarrier", "(", "false", ")", ",", "Pref32BitThumb", "(", "false", ")", ",", "AvoidCPSRPartialUpdate", "(", "false", ")", ",", "HasMPExtension", "(", "false", ")", ",", "FPOnlySP", "(", "false", ")", ",", "AllowsUnalignedMem", "(", "false", ")", ",", "Thumb2DSP", "(", "false", ")", ",", "stackAlignment", "(", "4", ")", ",", "CPUString", "(", "CPU", ")", ",", "TargetTriple", "(", "TT", ")", ",", "TargetABI", "(", "ARM_ABI_APCS", ")", "{", "if", "(", "CPUString", ".", "empty", "(", ")", ")", "CPUString", "=", "\"generic\"", ";", "std", "::", "string", "ArchFS", "=", "ARM_MC", "::", "ParseARMTriple", "(", "TT", ")", ";", "if", "(", "!", "FS", ".", "empty", "(", ")", ")", "{", "if", "(", "!", "ArchFS", ".", "empty", "(", ")", ")", "ArchFS", "=", "ArchFS", "+", "\",\"", "+", "FS", ";", "else", "ArchFS", "=", "FS", ";", "}", "ParseSubtargetFeatures", "(", "CPUString", ",", "ArchFS", ")", ";", "if", "(", "!", "HasV6T2Ops", "&&", "hasThumb2", "(", ")", ")", "HasV4TOps", "=", "HasV5TOps", "=", "HasV5TEOps", "=", "HasV6Ops", "=", "HasV6T2Ops", "=", "true", ";", "InstrItins", "=", "getInstrItineraryForCPU", "(", "CPUString", ")", ";", "computeIssueWidth", "(", ")", ";", "if", "(", "TT", ".", "find", "(", "\"eabi\"", ")", "!=", "std", "::", "string", "::", "npos", ")", "TargetABI", "=", "ARM_ABI_AAPCS", ";", "if", "(", "isAAPCS_ABI", "(", ")", ")", "stackAlignment", "=", "8", ";", "if", "(", "!", "isTargetIOS", "(", ")", ")", "UseMovt", "=", "hasV6T2Ops", "(", ")", ";", "else", "{", "IsR9Reserved", "=", "ReserveR9", "|", "!", "HasV6Ops", ";", "UseMovt", "=", "DarwinUseMOVT", "&&", "hasV6T2Ops", "(", ")", ";", "SupportsTailCall", "=", "!", "getTargetTriple", "(", ")", ".", "isOSVersionLT", "(", "5", ",", "0", ")", ";", "}", "if", "(", "!", "isThumb", "(", ")", "||", "hasThumb2", "(", ")", ")", "PostRAScheduler", "=", "true", ";", "if", "(", "!", "StrictAlign", "&&", "hasV6Ops", "(", ")", "&&", "isTargetDarwin", "(", ")", ")", "AllowsUnalignedMem", "=", "true", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "4", "ARM", "\"generic\"", "ARM", "ARM", "\",\"", "\"eabi\"", "ARM", "8", "5", "0"], "File": "ARMSubtarget9", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11452, "Length": 433} {"ground_truth": ["", "ARMSubtarget", "::", "ARMSubtarget", "(", "const", "Triple", "&", "TT", ",", "const", "std", "::", "string", "&", "CPU", ",", "const", "std", "::", "string", "&", "FS", ",", "const", "ARMBaseTargetMachine", "&", "TM", ",", "bool", "IsLittle", ")", ":", "ARMGenSubtargetInfo", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "UseMulOps", "(", "UseFusedMulOps", ")", ",", "CPUString", "(", "CPU", ")", ",", "IsLittle", "(", "IsLittle", ")", ",", "TargetTriple", "(", "TT", ")", ",", "Options", "(", "TM", ".", "Options", ")", ",", "TM", "(", "TM", ")", ",", "FrameLowering", "(", "initializeFrameLowering", "(", "CPU", ",", "FS", ")", ")", ",", "InstrInfo", "(", "isThumb1Only", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb1InstrInfo", "(", "*", "this", ")", ":", "!", "isThumb", "(", ")", "?", "(", "ARMBaseInstrInfo", "*", ")", "new", "ARMInstrInfo", "(", "*", "this", ")", ":", "(", "ARMBaseInstrInfo", "*", ")", "new", "Thumb2InstrInfo", "(", "*", "this", ")", ")", ",", "TLInfo", "(", "TM", ",", "*", "this", ")", "{", "CallLoweringInfo", ".", "reset", "(", "new", "ARMCallLowering", "(", "*", "getTargetLowering", "(", ")", ")", ")", ";", "Legalizer", ".", "reset", "(", "new", "ARMLegalizerInfo", "(", "*", "this", ")", ")", ";", "auto", "*", "RBI", "=", "new", "ARMRegisterBankInfo", "(", "*", "getRegisterInfo", "(", ")", ")", ";", "InstSelector", ".", "reset", "(", "createARMInstructionSelector", "(", "*", "static_cast", "<", "const", "ARMBaseTargetMachine", "*", ">", "(", "&", "TM", ")", ",", "*", "this", ",", "*", "RBI", ")", ")", ";", "RegBankInfo", ".", "reset", "(", "RBI", ")", ";", "}", ""], "natrual_language": ["This", "constructor", "initializes", "the", "data", "members", "to", "match", "that", "of", "the", "specified", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMSubtarget", "Func": "ARMSubtarget", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11453, "Length": 209} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enableAtomicExpand", "(", ")", "const", "{", "return", "hasAnyDataBarrier", "(", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "subtarget", "should", "run", "the", "atomic", "expansion", "pass", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget", "Func": "enableAtomicExpand", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11454, "Length": 14} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enableMachineScheduler", "(", ")", "const", "{", "return", "useMachineScheduler", "(", ")", ";", "}", ""], "natrual_language": ["Enable", "the", "MachineScheduler", "pass", "for", "all", "X86", "subtargets", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget", "Func": "enableMachineScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11455, "Length": 14} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "enablePostRAScheduler", "(", ")", "const", "{", "if", "(", "disablePostRAScheduler", "(", ")", ")", "return", "false", ";", "return", "!", "isThumb1Only", "(", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "subtarget", "should", "run", "a", "scheduler", "after", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget", "Func": "enablePostRAScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11456, "Length": 24} {"ground_truth": ["", "const", "CallLowering", "*", "ARMSubtarget", "::", "getCallLowering", "(", ")", "const", "{", "return", "CallLoweringInfo", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Methods", "used", "by", "Global", "ISel", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget", "Func": "getCallLowering", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11457, "Length": 18} {"ground_truth": ["", "const", "LegalizerInfo", "*", "ARMSubtarget", "::", "getLegalizerInfo", "(", ")", "const", "{", "return", "Legalizer", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Expose", "LegalizerInfo", "so", "the", "clients", "can", "re-use", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget", "Func": "getLegalizerInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11458, "Length": 18} {"ground_truth": ["", "unsigned", "getPrefLoopAlignment", "(", ")", "const", "{", "return", "PrefLoopAlignment", ";", "}", ""], "natrual_language": ["Return", "the", "preferred", "loop", "alignment", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget", "Func": "getPrefLoopAlignment", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11459, "Length": 10} {"ground_truth": ["", "const", "RegisterBankInfo", "*", "ARMSubtarget", "::", "getRegBankInfo", "(", ")", "const", "{", "return", "RegBankInfo", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["If", "the", "information", "for", "the", "register", "banks", "is", "available", ",", "return", "it", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget", "Func": "getRegBankInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11460, "Length": 18} {"ground_truth": ["", "ARMSubtarget", "&", "ARMSubtarget", "::", "initializeSubtargetDependencies", "(", "StringRef", "CPU", ",", "StringRef", "FS", ")", "{", "initializeEnvironment", "(", ")", ";", "initSubtargetFeatures", "(", "CPU", ",", "FS", ")", ";", "return", "*", "this", ";", "}", ""], "natrual_language": ["initializeSubtargetDependencies", "-", "Initializes", "using", "a", "CPU", ",", "a", "TuneCPU", ",", "and", "feature", "string", "so", "that", "we", "can", "use", "initializer", "lists", "for", "subtarget", "initialization", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMSubtarget", "Func": "initializeSubtargetDependencies", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11461, "Length": 29} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "isGVIndirectSymbol", "(", "const", "GlobalValue", "*", "GV", ")", "const", "{", "if", "(", "!", "TM", ".", "shouldAssumeDSOLocal", "(", "*", "GV", "->", "getParent", "(", ")", ",", "GV", ")", ")", "return", "true", ";", "if", "(", "isTargetMachO", "(", ")", "&&", "TM", ".", "isPositionIndependent", "(", ")", "&&", "(", "GV", "->", "isDeclarationForLinker", "(", ")", "||", "GV", "->", "hasCommonLinkage", "(", ")", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["True", "if", "the", "GV", "will", "be", "accessed", "via", "an", "indirect", "symbol", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget", "Func": "isGVIndirectSymbol", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11462, "Length": 65} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "isGVInGOT", "(", "const", "GlobalValue", "*", "GV", ")", "const", "{", "return", "isTargetELF", "(", ")", "&&", "TM", ".", "isPositionIndependent", "(", ")", "&&", "!", "TM", ".", "shouldAssumeDSOLocal", "(", "*", "GV", "->", "getParent", "(", ")", ",", "GV", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "constant", "pool", "modifier", "needed", "to", "access", "the", "GV", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget", "Func": "isGVInGOT", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11463, "Length": 39} {"ground_truth": ["", "bool", "useAA", "(", ")", "const", "override", "{", "return", "UseAA", ";", "}", ""], "natrual_language": ["Enable", "use", "of", "alias", "analysis", "during", "code", "generation", "(", "during", "MI", "scheduling", ",", "DAGCombine", ",", "etc", ".", ")", "."], "TS_V_token": ["ARM"], "File": "ARMSubtarget", "Func": "useAA", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11464, "Length": 11} {"ground_truth": ["", "bool", "ARMSubtarget", "::", "useFastISel", "(", ")", "const", "{", "if", "(", "ForceFastISel", ")", "return", "true", ";", "if", "(", "!", "hasV6Ops", "(", ")", ")", "return", "false", ";", "return", "TM", ".", "Options", ".", "EnableFastISel", "&&", "(", "(", "isTargetMachO", "(", ")", "&&", "!", "isThumb1Only", "(", ")", ")", "||", "(", "isTargetLinux", "(", ")", "&&", "!", "isThumb", "(", ")", ")", "||", "(", "isTargetNaCl", "(", ")", "&&", "!", "isThumb", "(", ")", ")", ")", ";", "}", ""], "natrual_language": ["True", "if", "fast-isel", "is", "used", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMSubtarget", "Func": "useFastISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11465, "Length": 68} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addInstSelector", "(", ")", "{", "addPass", "(", "createARMISelDag", "(", "getARMTargetMachine", "(", ")", ",", "getOptLevel", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["addInstSelector", "-", "This", "method", "should", "install", "an", "instruction", "selector", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine (2)1", "Func": "addInstSelector", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11466, "Length": 25} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "TM", "->", "Options", ".", "ThreadModel", "==", "ThreadModel", "::", "Single", ")", "addPass", "(", "createLowerAtomicPass", "(", ")", ")", ";", "else", "addPass", "(", "createAtomicExpandPass", "(", "TM", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", "-", "1", ",", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "const", "auto", "&", "ST", "=", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "return", "ST", ".", "hasAnyDataBarrier", "(", ")", "&&", "!", "ST", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createInterleavedAccessPass", "(", "TM", ")", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM"], "File": "ARMTargetMachine (2)1", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11467, "Length": 128} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "createUnpackMachineBundles", "(", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "return", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "isThumb2", "(", ")", ";", "}", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine (2)1", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11468, "Length": 74} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", "||", "EnableGlobalMerge", "==", "cl", "::", "BOU_TRUE", ")", "{", "bool", "OnlyOptimizeForSize", "=", "(", "TM", "->", "getOptLevel", "(", ")", "<", "CodeGenOpt", "::", "Aggressive", ")", "&&", "(", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", ";", "bool", "MergeExternalByDefault", "=", "!", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSBinFormatMachO", "(", ")", ";", "addPass", "(", "createGlobalMergePass", "(", "TM", ",", "127", ",", "OnlyOptimizeForSize", ",", "MergeExternalByDefault", ")", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "127"], "File": "ARMTargetMachine (2)1", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11469, "Length": 90} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createMLxExpansionPass", "(", ")", ")", ";", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "!", "DisableA15SDOptimization", ")", "addPass", "(", "createA15SDOptimizerPass", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine (2)1", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11470, "Length": 51} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "addPass", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "return", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "restrictIT", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createIfConverter", "(", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "return", "!", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "}", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::DPRRegClass", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine (2)1", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11471, "Length": 139} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "RM", ",", "CM", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "Subtarget", ".", "isTargetHardFloat", "(", ")", "?", "FloatABI", "::", "Hard", ":", "FloatABI", "::", "Soft", ";", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "Subtarget", ".", "isTargetGNUAEABI", "(", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine (2)1", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11472, "Length": 195} {"ground_truth": ["", "TargetPassConfig", "*", "ARMBaseTargetMachine", "::", "createPassConfig", "(", "PassManagerBase", "&", "PM", ")", "{", "return", "new", "ARMPassConfig", "(", "this", ",", "PM", ")", ";", "}", ""], "natrual_language": ["Create", "a", "pass", "configuration", "object", "to", "be", "used", "by", "addPassToEmitX", "methods", "for", "generating", "a", "pipeline", "of", "CodeGen", "passes", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine (2)1", "Func": "createPassConfig", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11473, "Length": 21} {"ground_truth": ["", "const", "ARMSubtarget", "*", "ARMBaseTargetMachine", "::", "getSubtargetImpl", "(", "const", "Function", "&", "F", ")", "const", "{", "Attribute", "CPUAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-cpu\"", ")", ";", "Attribute", "FSAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-features\"", ")", ";", "std", "::", "string", "CPU", "=", "!", "CPUAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "CPUAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetCPU", ";", "std", "::", "string", "FS", "=", "!", "FSAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "FSAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetFS", ";", "bool", "SoftFloat", "=", "F", ".", "hasFnAttribute", "(", "\"use-soft-float\"", ")", "&&", "F", ".", "getFnAttribute", "(", "\"use-soft-float\"", ")", ".", "getValueAsString", "(", ")", "==", "\"true\"", ";", "if", "(", "SoftFloat", ")", "FS", "+=", "FS", ".", "empty", "(", ")", "?", "\"+soft-float\"", ":", "\",+soft-float\"", ";", "auto", "&", "I", "=", "SubtargetMap", "[", "CPU", "+", "FS", "]", ";", "if", "(", "!", "I", ")", "{", "resetTargetOptions", "(", "F", ")", ";", "I", "=", "llvm", "::", "make_unique", "<", "ARMSubtarget", ">", "(", "TargetTriple", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ";", "}", "return", "I", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"target-cpu\"", "\"target-features\"", "\"use-soft-float\"", "\"use-soft-float\"", "\"true\"", "\"+soft-float\"", "\",+soft-float\"", "ARM"], "File": "ARMTargetMachine (2)1", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11474, "Length": 179} {"ground_truth": ["", "TargetIRAnalysis", "ARMBaseTargetMachine", "::", "getTargetIRAnalysis", "(", ")", "{", "return", "TargetIRAnalysis", "(", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "return", "TargetTransformInfo", "(", "ARMTTIImpl", "(", "this", ",", "F", ")", ")", ";", "}", ")", ";", "}", ""], "natrual_language": ["Get", "a", "TargetIRAnalysis", "appropriate", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine (2)1", "Func": "getTargetIRAnalysis", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11475, "Length": 35} {"ground_truth": ["", "TargetLoweringObjectFile", "*", "getObjFileLowering", "(", ")", "const", "override", "{", "return", "TLOF", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Return", "information", "about", "object", "file", "lowering", "."], "TS_V_token": ["ARM"], "File": "ARMTargetMachine (2)", "Func": "getObjFileLowering", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11476, "Length": 16} {"ground_truth": ["", "bool", "isLittleEndian", "(", ")", "const", "{", "return", "isLittle", ";", "}", ""], "natrual_language": ["Tests", "whether", "the", "target", "triple", "is", "little", "endian", "."], "TS_V_token": ["ARM"], "File": "ARMTargetMachine (2)", "Func": "isLittleEndian", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11477, "Length": 10} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addInstSelector", "(", ")", "{", "addPass", "(", "createARMISelDag", "(", "getARMTargetMachine", "(", ")", ",", "getOptLevel", "(", ")", ")", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "getARMSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "isTargetELF", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", "&&", "TM", "->", "Options", ".", "EnableFastISel", ")", "addPass", "(", "createARMGlobalBaseRegPass", "(", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["addInstSelector", "-", "This", "method", "should", "install", "an", "instruction", "selector", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine100", "Func": "addInstSelector", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11478, "Length": 63} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "prefers32BitThumb", "(", ")", ")", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "&", "UnpackMachineBundlesID", ")", ";", "}", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine100", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11479, "Length": 54} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", ")", "addPass", "(", "createGlobalMergePass", "(", "TM", "->", "getTargetLowering", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine100", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11480, "Length": 37} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "getARMSubtarget", "(", ")", ".", "isLikeA9", "(", ")", ")", "addPass", "(", "createMLxExpansionPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "getARMSubtarget", "(", ")", ".", "isCortexA15", "(", ")", "&&", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", "&&", "!", "DisableA15SDOptimization", ")", "{", "addPass", "(", "createA15SDOptimizerPass", "(", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine100", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11481, "Length": 101} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "{", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "printAndVerify", "(", "\"After ARM load / store optimizer\"", ")", ";", "}", "if", "(", "(", "DisableA15SDOptimization", "||", "!", "getARMSubtarget", "(", ")", ".", "isCortexA15", "(", ")", ")", "&&", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", ")", "addPass", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "addPass", "(", "&", "IfConverterID", ")", ";", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"After ARM load / store optimizer\"", "ARM", "ARM", "ARM::DPRRegClass", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine100", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11482, "Length": 135} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ")", ":", "LLVMTargetMachine", "(", "T", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "RM", ",", "CM", ",", "OL", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "JITInfo", "(", ")", ",", "InstrItins", "(", "Subtarget", ".", "getInstrItineraryData", "(", ")", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine100", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11483, "Length": 101} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "TM", "->", "Options", ".", "ThreadModel", "==", "ThreadModel", "::", "Single", ")", "addPass", "(", "createLowerAtomicPass", "(", ")", ")", ";", "else", "addPass", "(", "createAtomicExpandPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", "1", ",", "false", ",", "false", ",", "true", ",", "true", ",", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "const", "auto", "&", "ST", "=", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "return", "ST", ".", "hasAnyDataBarrier", "(", ")", "&&", "!", "ST", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "if", "(", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "addPass", "(", "createARMParallelDSPPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createInterleavedAccessPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM", "ARM"], "File": "ARMTargetMachine101", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11484, "Length": 150} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "addPass", "(", "new", "ARMExecutionDomainFix", "(", ")", ")", ";", "addPass", "(", "createBreakFalseDeps", "(", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "return", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "restrictIT", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createIfConverter", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "!", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "}", "addPass", "(", "createMVEVPTBlockPass", "(", ")", ")", ";", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine101", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11485, "Length": 146} {"ground_truth": ["", "const", "ARMSubtarget", "*", "ARMBaseTargetMachine", "::", "getSubtargetImpl", "(", "const", "Function", "&", "F", ")", "const", "{", "Attribute", "CPUAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-cpu\"", ")", ";", "Attribute", "FSAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-features\"", ")", ";", "std", "::", "string", "CPU", "=", "!", "CPUAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "CPUAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetCPU", ";", "std", "::", "string", "FS", "=", "!", "FSAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "FSAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetFS", ";", "bool", "SoftFloat", "=", "F", ".", "getFnAttribute", "(", "\"use-soft-float\"", ")", ".", "getValueAsString", "(", ")", "==", "\"true\"", ";", "if", "(", "SoftFloat", ")", "FS", "+=", "FS", ".", "empty", "(", ")", "?", "\"+soft-float\"", ":", "\",+soft-float\"", ";", "std", "::", "string", "Key", "=", "CPU", "+", "FS", ";", "if", "(", "F", ".", "hasMinSize", "(", ")", ")", "Key", "+=", "\"+minsize\"", ";", "auto", "&", "I", "=", "SubtargetMap", "[", "Key", "]", ";", "if", "(", "!", "I", ")", "{", "resetTargetOptions", "(", "F", ")", ";", "I", "=", "llvm", "::", "make_unique", "<", "ARMSubtarget", ">", "(", "TargetTriple", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ",", "F", ".", "hasMinSize", "(", ")", ")", ";", "if", "(", "!", "I", "->", "isThumb", "(", ")", "&&", "!", "I", "->", "hasARMOps", "(", ")", ")", "F", ".", "getContext", "(", ")", ".", "emitError", "(", "\"Function '\"", "+", "F", ".", "getName", "(", ")", "+", "\"' uses ARM \"", "\"instructions, but the target does not support ARM mode execution.\"", ")", ";", "}", "return", "I", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"target-cpu\"", "\"target-features\"", "\"use-soft-float\"", "\"true\"", "\"+soft-float\"", "\",+soft-float\"", "\"+minsize\"", "ARM", "ARM", "\"Function '\"", "\"' uses ARM \"", "\"instructions, but the target does not support ARM mode execution.\""], "File": "ARMTargetMachine101", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11486, "Length": 233} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "TM", "->", "Options", ".", "ThreadModel", "==", "ThreadModel", "::", "Single", ")", "addPass", "(", "createLowerAtomicPass", "(", ")", ")", ";", "else", "addPass", "(", "createAtomicExpandPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", "1", ",", "false", ",", "false", ",", "true", ",", "true", ",", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "const", "auto", "&", "ST", "=", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "return", "ST", ".", "hasAnyDataBarrier", "(", ")", "&&", "!", "ST", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "if", "(", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "addPass", "(", "createARMParallelDSPPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createInterleavedAccessPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSWindows", "(", ")", ")", "addPass", "(", "createCFGuardCheckPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM", "ARM"], "File": "ARMTargetMachine102", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11487, "Length": 169} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Optional", "<", "Reloc", "::", "Model", ">", "RM", ",", "Optional", "<", "CodeModel", "::", "Model", ">", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "getEffectiveRelocModel", "(", "TT", ",", "RM", ")", ",", "getEffectiveCodeModel", "(", "CM", ",", "CodeModel", "::", "Small", ")", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "{", "if", "(", "isTargetHardFloat", "(", ")", ")", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Hard", ";", "else", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", ")", "&&", "!", "(", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetTriple", ".", "isOSDarwin", "(", ")", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "if", "(", "TT", ".", "isOSBinFormatMachO", "(", ")", ")", "{", "this", "->", "Options", ".", "TrapUnreachable", "=", "true", ";", "this", "->", "Options", ".", "NoTrapAfterNoreturn", "=", "true", ";", "}", "setSupportsDebugEntryValues", "(", "true", ")", ";", "initAsmInfo", "(", ")", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine102", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11488, "Length": 294} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "TM", "->", "Options", ".", "ThreadModel", "==", "ThreadModel", "::", "Single", ")", "addPass", "(", "createLowerAtomicPass", "(", ")", ")", ";", "else", "addPass", "(", "createAtomicExpandPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", "SimplifyCFGOptions", "(", ")", ".", "hoistCommonInsts", "(", "true", ")", ".", "sinkCommonInsts", "(", "true", ")", ",", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "const", "auto", "&", "ST", "=", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "return", "ST", ".", "hasAnyDataBarrier", "(", ")", "&&", "!", "ST", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createMVEGatherScatterLoweringPass", "(", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "if", "(", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "addPass", "(", "createARMParallelDSPPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createInterleavedAccessPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSWindows", "(", ")", ")", "addPass", "(", "createCFGuardCheckPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine103", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11489, "Length": 180} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "createUnpackMachineBundles", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", ";", "}", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine103", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11490, "Length": 63} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass2", "(", ")", "{", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "addPass", "(", "createARMLowOverheadLoopsPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSWindows", "(", ")", ")", "addPass", "(", "createCFGuardLongjmpPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["Targets", "may", "add", "passes", "immediately", "before", "machine", "code", "is", "emitted", "in", "this", "callback", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine103", "Func": "addPreEmitPass2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11491, "Length": 41} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createMVEVPTOptimisationsPass", "(", ")", ")", ";", "addPass", "(", "createMLxExpansionPass", "(", ")", ")", ";", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "!", "DisableA15SDOptimization", ")", "addPass", "(", "createA15SDOptimizerPass", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine103", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11492, "Length": 58} {"ground_truth": ["", "const", "ARMSubtarget", "*", "ARMBaseTargetMachine", "::", "getSubtargetImpl", "(", "const", "Function", "&", "F", ")", "const", "{", "Attribute", "CPUAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-cpu\"", ")", ";", "Attribute", "FSAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-features\"", ")", ";", "std", "::", "string", "CPU", "=", "CPUAttr", ".", "isValid", "(", ")", "?", "CPUAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetCPU", ";", "std", "::", "string", "FS", "=", "FSAttr", ".", "isValid", "(", ")", "?", "FSAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetFS", ";", "bool", "SoftFloat", "=", "F", ".", "getFnAttribute", "(", "\"use-soft-float\"", ")", ".", "getValueAsString", "(", ")", "==", "\"true\"", ";", "if", "(", "SoftFloat", ")", "FS", "+=", "FS", ".", "empty", "(", ")", "?", "\"+soft-float\"", ":", "\",+soft-float\"", ";", "std", "::", "string", "Key", "=", "CPU", "+", "FS", ";", "if", "(", "F", ".", "hasMinSize", "(", ")", ")", "Key", "+=", "\"+minsize\"", ";", "auto", "&", "I", "=", "SubtargetMap", "[", "Key", "]", ";", "if", "(", "!", "I", ")", "{", "resetTargetOptions", "(", "F", ")", ";", "I", "=", "std", "::", "make_unique", "<", "ARMSubtarget", ">", "(", "TargetTriple", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ",", "F", ".", "hasMinSize", "(", ")", ")", ";", "if", "(", "!", "I", "->", "isThumb", "(", ")", "&&", "!", "I", "->", "hasARMOps", "(", ")", ")", "F", ".", "getContext", "(", ")", ".", "emitError", "(", "\"Function '\"", "+", "F", ".", "getName", "(", ")", "+", "\"' uses ARM \"", "\"instructions, but the target does not support ARM mode execution.\"", ")", ";", "}", "return", "I", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"target-cpu\"", "\"target-features\"", "\"use-soft-float\"", "\"true\"", "\"+soft-float\"", "\",+soft-float\"", "\"+minsize\"", "ARM", "ARM", "\"Function '\"", "\"' uses ARM \"", "\"instructions, but the target does not support ARM mode execution.\""], "File": "ARMTargetMachine103", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11493, "Length": 225} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass2", "(", ")", "{", "addPass", "(", "createARMBranchTargetsPass", "(", ")", ")", ";", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "addPass", "(", "createARMLowOverheadLoopsPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSWindows", "(", ")", ")", "{", "addPass", "(", "createCFGuardLongjmpPass", "(", ")", ")", ";", "addPass", "(", "createEHContGuardCatchretPass", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["Targets", "may", "add", "passes", "immediately", "before", "machine", "code", "is", "emitted", "in", "this", "callback", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine104", "Func": "addPreEmitPass2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11494, "Length": 57} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "addPass", "(", "new", "ARMExecutionDomainFix", "(", ")", ")", ";", "addPass", "(", "createBreakFalseDeps", "(", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "return", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "hasMinSize", "(", ")", "||", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "restrictIT", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createIfConverter", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "!", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "}", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "&", "PostMachineSchedulerID", ")", ";", "addPass", "(", "&", "PostRASchedulerID", ")", ";", "}", "addPass", "(", "createMVEVPTBlockPass", "(", ")", ")", ";", "addPass", "(", "createARMIndirectThunks", "(", ")", ")", ";", "addPass", "(", "createARMSLSHardeningPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine104", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11495, "Length": 200} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "{", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "printAndVerify", "(", "\"After ARM load / store optimizer\"", ")", ";", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", ")", "addPass", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "addPass", "(", "&", "IfConverterID", ")", ";", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"After ARM load / store optimizer\"", "ARM", "ARM::DPRRegClass", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine106", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11496, "Length": 122} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ")", ":", "LLVMTargetMachine", "(", "T", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "RM", ",", "CM", ",", "OL", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "Options", ")", ",", "JITInfo", "(", ")", ",", "InstrItins", "(", "Subtarget", ".", "getInstrItineraryData", "(", ")", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine106", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11497, "Length": 103} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Optional", "<", "Reloc", "::", "Model", ">", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "getEffectiveRelocModel", "(", "TT", ",", "RM", ")", ",", "CM", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "Subtarget", ".", "isTargetHardFloat", "(", ")", "?", "FloatABI", "::", "Hard", ":", "FloatABI", "::", "Soft", ";", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "Subtarget", ".", "isTargetGNUAEABI", "(", ")", "||", "Subtarget", ".", "isTargetMuslAEABI", "(", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine107", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11498, "Length": 209} {"ground_truth": ["", "const", "ARMSubtarget", "*", "ARMBaseTargetMachine", "::", "getSubtargetImpl", "(", "const", "Function", "&", "F", ")", "const", "{", "Attribute", "CPUAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-cpu\"", ")", ";", "Attribute", "FSAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-features\"", ")", ";", "std", "::", "string", "CPU", "=", "!", "CPUAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "CPUAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetCPU", ";", "std", "::", "string", "FS", "=", "!", "FSAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "FSAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetFS", ";", "bool", "SoftFloat", "=", "F", ".", "getFnAttribute", "(", "\"use-soft-float\"", ")", ".", "getValueAsString", "(", ")", "==", "\"true\"", ";", "if", "(", "SoftFloat", ")", "FS", "+=", "FS", ".", "empty", "(", ")", "?", "\"+soft-float\"", ":", "\",+soft-float\"", ";", "auto", "&", "I", "=", "SubtargetMap", "[", "CPU", "+", "FS", "]", ";", "if", "(", "!", "I", ")", "{", "resetTargetOptions", "(", "F", ")", ";", "I", "=", "llvm", "::", "make_unique", "<", "ARMSubtarget", ">", "(", "TargetTriple", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ";", "}", "return", "I", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"target-cpu\"", "\"target-features\"", "\"use-soft-float\"", "\"true\"", "\"+soft-float\"", "\",+soft-float\"", "ARM"], "File": "ARMTargetMachine107", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11499, "Length": 172} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "addPass", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "return", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "restrictIT", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createIfConverter", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "!", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "}", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::DPRRegClass", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine108", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11500, "Length": 135} {"ground_truth": ["", "const", "ARMSubtarget", "*", "ARMBaseTargetMachine", "::", "getSubtargetImpl", "(", "const", "Function", "&", "F", ")", "const", "{", "Attribute", "CPUAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-cpu\"", ")", ";", "Attribute", "FSAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-features\"", ")", ";", "std", "::", "string", "CPU", "=", "!", "CPUAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "CPUAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetCPU", ";", "std", "::", "string", "FS", "=", "!", "FSAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "FSAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetFS", ";", "bool", "SoftFloat", "=", "F", ".", "getFnAttribute", "(", "\"use-soft-float\"", ")", ".", "getValueAsString", "(", ")", "==", "\"true\"", ";", "if", "(", "SoftFloat", ")", "FS", "+=", "FS", ".", "empty", "(", ")", "?", "\"+soft-float\"", ":", "\",+soft-float\"", ";", "auto", "&", "I", "=", "SubtargetMap", "[", "CPU", "+", "FS", "]", ";", "if", "(", "!", "I", ")", "{", "resetTargetOptions", "(", "F", ")", ";", "I", "=", "llvm", "::", "make_unique", "<", "ARMSubtarget", ">", "(", "TargetTriple", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ";", "GISelAccessor", "*", "GISel", "=", "new", "GISelAccessor", "(", ")", ";", "ARMGISelActualAccessor", "*", "GISel", "=", "new", "ARMGISelActualAccessor", "(", ")", ";", "GISel", "->", "CallLoweringInfo", ".", "reset", "(", "new", "ARMCallLowering", "(", "*", "I", "->", "getTargetLowering", "(", ")", ")", ")", ";", "GISel", "->", "Legalizer", ".", "reset", "(", "new", "ARMLegalizerInfo", "(", "*", "I", ")", ")", ";", "auto", "*", "RBI", "=", "new", "ARMRegisterBankInfo", "(", "*", "I", "->", "getRegisterInfo", "(", ")", ")", ";", "GISel", "->", "InstSelector", ".", "reset", "(", "new", "ARMInstructionSelector", "(", "*", "I", ",", "*", "RBI", ")", ")", ";", "GISel", "->", "RegBankInfo", ".", "reset", "(", "RBI", ")", ";", "I", "->", "setGISelAccessor", "(", "*", "GISel", ")", ";", "}", "return", "I", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"target-cpu\"", "\"target-features\"", "\"use-soft-float\"", "\"true\"", "\"+soft-float\"", "\",+soft-float\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine108", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11501, "Length": 271} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addInstSelector", "(", ")", "{", "PM", ".", "add", "(", "createARMISelDag", "(", "getARMTargetMachine", "(", ")", ",", "getOptLevel", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["addInstSelector", "-", "This", "method", "should", "install", "an", "instruction", "selector", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine109", "Func": "addInstSelector", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11502, "Length": 27} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "prefers32BitThumb", "(", ")", ")", "PM", ".", "add", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "UnpackMachineBundlesID", ")", ";", "}", "PM", ".", "add", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine109", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11503, "Length": 57} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", ")", "PM", ".", "add", "(", "createGlobalMergePass", "(", "TM", "->", "getTargetLowering", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine109", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11504, "Length": 39} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "getARMSubtarget", "(", ")", ".", "isCortexA9", "(", ")", ")", "PM", ".", "add", "(", "createMLxExpansionPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine109", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11505, "Length": 67} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "if", "(", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", ")", "PM", ".", "add", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "PM", ".", "add", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "addPass", "(", "IfConverterID", ")", ";", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "PM", ".", "add", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM::DPRRegClass", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine109", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11506, "Length": 122} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "TM", "->", "Options", ".", "ThreadModel", "==", "ThreadModel", "::", "Single", ")", "addPass", "(", "createLowerAtomicPass", "(", ")", ")", ";", "else", "addPass", "(", "createAtomicExpandPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", "1", ",", "false", ",", "false", ",", "true", ",", "true", ",", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "const", "auto", "&", "ST", "=", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "return", "ST", ".", "hasAnyDataBarrier", "(", ")", "&&", "!", "ST", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createMVEGatherScatterLoweringPass", "(", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "if", "(", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "addPass", "(", "createARMParallelDSPPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createInterleavedAccessPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSWindows", "(", ")", ")", "addPass", "(", "createCFGuardCheckPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM", "ARM"], "File": "ARMTargetMachine10", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11507, "Length": 176} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "createUnpackMachineBundles", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", ";", "}", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "addPass", "(", "createARMLowOverheadLoopsPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSWindows", "(", ")", ")", "addPass", "(", "createCFGuardLongjmpPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine10", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11508, "Length": 96} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", "||", "EnableGlobalMerge", "==", "cl", "::", "BOU_TRUE", ")", "{", "bool", "OnlyOptimizeForSize", "=", "(", "TM", "->", "getOptLevel", "(", ")", "<", "CodeGenOpt", "::", "Aggressive", ")", "&&", "(", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", ";", "bool", "MergeExternalByDefault", "=", "!", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSBinFormatMachO", "(", ")", ";", "addPass", "(", "createGlobalMergePass", "(", "TM", ",", "127", ",", "OnlyOptimizeForSize", ",", "MergeExternalByDefault", ")", ")", ";", "}", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createHardwareLoopsPass", "(", ")", ")", ";", "addPass", "(", "createMVETailPredicationPass", "(", ")", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "127"], "File": "ARMTargetMachine10", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11509, "Length": 118} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "addPass", "(", "new", "ARMExecutionDomainFix", "(", ")", ")", ";", "addPass", "(", "createBreakFalseDeps", "(", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "return", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "restrictIT", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createIfConverter", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "!", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "}", "addPass", "(", "createMVEVPTBlockPass", "(", ")", ")", ";", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "&", "PostMachineSchedulerID", ")", ";", "addPass", "(", "&", "PostRASchedulerID", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine10", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11510, "Length": 170} {"ground_truth": ["", "const", "ARMSubtarget", "*", "ARMBaseTargetMachine", "::", "getSubtargetImpl", "(", "const", "Function", "&", "F", ")", "const", "{", "Attribute", "CPUAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-cpu\"", ")", ";", "Attribute", "FSAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-features\"", ")", ";", "std", "::", "string", "CPU", "=", "!", "CPUAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "CPUAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetCPU", ";", "std", "::", "string", "FS", "=", "!", "FSAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "FSAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetFS", ";", "bool", "SoftFloat", "=", "F", ".", "getFnAttribute", "(", "\"use-soft-float\"", ")", ".", "getValueAsString", "(", ")", "==", "\"true\"", ";", "if", "(", "SoftFloat", ")", "FS", "+=", "FS", ".", "empty", "(", ")", "?", "\"+soft-float\"", ":", "\",+soft-float\"", ";", "std", "::", "string", "Key", "=", "CPU", "+", "FS", ";", "if", "(", "F", ".", "hasMinSize", "(", ")", ")", "Key", "+=", "\"+minsize\"", ";", "auto", "&", "I", "=", "SubtargetMap", "[", "Key", "]", ";", "if", "(", "!", "I", ")", "{", "resetTargetOptions", "(", "F", ")", ";", "I", "=", "std", "::", "make_unique", "<", "ARMSubtarget", ">", "(", "TargetTriple", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ",", "F", ".", "hasMinSize", "(", ")", ")", ";", "if", "(", "!", "I", "->", "isThumb", "(", ")", "&&", "!", "I", "->", "hasARMOps", "(", ")", ")", "F", ".", "getContext", "(", ")", ".", "emitError", "(", "\"Function '\"", "+", "F", ".", "getName", "(", ")", "+", "\"' uses ARM \"", "\"instructions, but the target does not support ARM mode execution.\"", ")", ";", "}", "return", "I", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"target-cpu\"", "\"target-features\"", "\"use-soft-float\"", "\"true\"", "\"+soft-float\"", "\",+soft-float\"", "\"+minsize\"", "ARM", "ARM", "\"Function '\"", "\"' uses ARM \"", "\"instructions, but the target does not support ARM mode execution.\""], "File": "ARMTargetMachine10", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11511, "Length": 233} {"ground_truth": ["", "bool", "isMachineVerifierClean", "(", ")", "const", "override", "{", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "is", "expected", "to", "pass", "all", "machine", "verifier", "checks", "."], "TS_V_token": ["ARM"], "File": "ARMTargetMachine10", "Func": "isMachineVerifierClean", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11512, "Length": 11} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "{", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "printAndVerify", "(", "\"After ARM load / store optimizer\"", ")", ";", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", ")", "PM", ".", "add", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "PM", ".", "add", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "addPass", "(", "IfConverterID", ")", ";", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "PM", ".", "add", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"After ARM load / store optimizer\"", "ARM", "ARM::DPRRegClass", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine11", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11513, "Length": 129} {"ground_truth": ["", "virtual", "const", "ARMFrameInfo", "*", "getFrameInfo", "(", ")", "const", "{", "return", "&", "FrameInfo", ";", "}", ""], "natrual_language": ["getFrameInfo", "-", "Return", "the", "frame", "info", "object", "for", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine11", "Func": "getFrameInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11514, "Length": 14} {"ground_truth": ["", "virtual", "const", "InstrItineraryData", "getInstrItineraryData", "(", ")", "const", "{", "return", "InstrItins", ";", "}", ""], "natrual_language": ["getInstrItineraryData", "-", "Returns", "instruction", "itinerary", "data", "for", "the", "target", "or", "specific", "subtarget", "."], "TS_V_token": ["ARM"], "File": "ARMTargetMachine11", "Func": "getInstrItineraryData", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11515, "Length": 12} {"ground_truth": ["", "const", "ARMSubtarget", "*", "getSubtargetImpl", "(", ")", "const", "override", "{", "return", "&", "Subtarget", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine12", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11516, "Length": 14} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "TM", "->", "Options", ".", "ThreadModel", "==", "ThreadModel", "::", "Single", ")", "addPass", "(", "createLowerAtomicPass", "(", ")", ")", ";", "else", "addPass", "(", "createAtomicExpandPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", "-", "1", ",", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "const", "auto", "&", "ST", "=", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "return", "ST", ".", "hasAnyDataBarrier", "(", ")", "&&", "!", "ST", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createInterleavedAccessPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM"], "File": "ARMTargetMachine14", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11517, "Length": 126} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "addPass", "(", "new", "ARMExecutionDepsFix", "(", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "return", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "restrictIT", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createIfConverter", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "!", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "}", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine14", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11518, "Length": 132} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Optional", "<", "Reloc", "::", "Model", ">", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "getEffectiveRelocModel", "(", "TT", ",", "RM", ")", ",", "CM", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "Subtarget", ".", "isTargetHardFloat", "(", ")", "?", "FloatABI", "::", "Hard", ":", "FloatABI", "::", "Soft", ";", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "Subtarget", ".", "isTargetGNUAEABI", "(", ")", "||", "Subtarget", ".", "isTargetMuslAEABI", "(", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "initAsmInfo", "(", ")", ";", "if", "(", "!", "Subtarget", ".", "isThumb", "(", ")", "&&", "!", "Subtarget", ".", "hasARMOps", "(", ")", ")", "report_fatal_error", "(", "\"CPU: '\"", "+", "Subtarget", ".", "getCPUString", "(", ")", "+", "\"' does not \"", "\"support ARM mode execution!\"", ")", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"CPU: '\"", "\"' does not \"", "\"support ARM mode execution!\""], "File": "ARMTargetMachine14", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11519, "Length": 243} {"ground_truth": ["", "ScheduleDAGInstrs", "*", "createMachineScheduler", "(", "MachineSchedContext", "*", "C", ")", "const", "override", "{", "ScheduleDAGMILive", "*", "DAG", "=", "createGenericSchedLive", "(", "C", ")", ";", "return", "DAG", ";", "}", ""], "natrual_language": ["Create", "an", "instance", "of", "ScheduleDAGInstrs", "to", "be", "run", "within", "the", "standard", "MachineScheduler", "pass", "for", "this", "function", "and", "target", "at", "the", "current", "optimization", "level", "."], "TS_V_token": ["ARM"], "File": "ARMTargetMachine14", "Func": "createMachineScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11520, "Length": 24} {"ground_truth": ["", "ScheduleDAGInstrs", "*", "createPostMachineScheduler", "(", "MachineSchedContext", "*", "C", ")", "const", "override", "{", "ScheduleDAGMI", "*", "DAG", "=", "createGenericSchedPostRA", "(", "C", ")", ";", "return", "DAG", ";", "}", ""], "natrual_language": ["Similar", "to", "createMachineScheduler", "but", "used", "when", "postRA", "machine", "scheduling", "is", "enabled", "."], "TS_V_token": ["ARM"], "File": "ARMTargetMachine14", "Func": "createPostMachineScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11521, "Length": 24} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM Execution Dependency Fix\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Execution Dependency Fix\""], "File": "ARMTargetMachine14", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11522, "Length": 11} {"ground_truth": ["", "const", "ARMSubtarget", "*", "ARMBaseTargetMachine", "::", "getSubtargetImpl", "(", "const", "Function", "&", "F", ")", "const", "{", "Attribute", "CPUAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-cpu\"", ")", ";", "Attribute", "FSAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-features\"", ")", ";", "std", "::", "string", "CPU", "=", "!", "CPUAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "CPUAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetCPU", ";", "std", "::", "string", "FS", "=", "!", "FSAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "FSAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetFS", ";", "bool", "SoftFloat", "=", "F", ".", "getFnAttribute", "(", "\"use-soft-float\"", ")", ".", "getValueAsString", "(", ")", "==", "\"true\"", ";", "if", "(", "SoftFloat", ")", "FS", "+=", "FS", ".", "empty", "(", ")", "?", "\"+soft-float\"", ":", "\",+soft-float\"", ";", "auto", "&", "I", "=", "SubtargetMap", "[", "CPU", "+", "FS", "]", ";", "if", "(", "!", "I", ")", "{", "resetTargetOptions", "(", "F", ")", ";", "I", "=", "llvm", "::", "make_unique", "<", "ARMSubtarget", ">", "(", "TargetTriple", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ";", "GISelAccessor", "*", "GISel", "=", "new", "GISelAccessor", "(", ")", ";", "ARMGISelActualAccessor", "*", "GISel", "=", "new", "ARMGISelActualAccessor", "(", ")", ";", "GISel", "->", "CallLoweringInfo", ".", "reset", "(", "new", "ARMCallLowering", "(", "*", "I", "->", "getTargetLowering", "(", ")", ")", ")", ";", "GISel", "->", "Legalizer", ".", "reset", "(", "new", "ARMLegalizerInfo", "(", "*", "I", ")", ")", ";", "auto", "*", "RBI", "=", "new", "ARMRegisterBankInfo", "(", "*", "I", "->", "getRegisterInfo", "(", ")", ")", ";", "GISel", "->", "InstSelector", ".", "reset", "(", "createARMInstructionSelector", "(", "*", "this", ",", "*", "I", ",", "*", "RBI", ")", ")", ";", "GISel", "->", "RegBankInfo", ".", "reset", "(", "RBI", ")", ";", "I", "->", "setGISelAccessor", "(", "*", "GISel", ")", ";", "}", "return", "I", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"target-cpu\"", "\"target-features\"", "\"use-soft-float\"", "\"true\"", "\"+soft-float\"", "\",+soft-float\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine14", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11523, "Length": 273} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addInstSelector", "(", ")", "{", "addPass", "(", "createARMISelDag", "(", "getARMTargetMachine", "(", ")", ",", "getOptLevel", "(", ")", ")", ")", ";", "if", "(", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSBinFormatELF", "(", ")", "&&", "TM", "->", "Options", ".", "EnableFastISel", ")", "addPass", "(", "createARMGlobalBaseRegPass", "(", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["addInstSelector", "-", "This", "method", "should", "install", "an", "instruction", "selector", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine15", "Func": "addInstSelector", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11524, "Length": 50} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "RM", ",", "CM", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "Subtarget", ".", "isTargetHardFloat", "(", ")", "?", "FloatABI", "::", "Hard", ":", "FloatABI", "::", "Soft", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine15", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11525, "Length": 146} {"ground_truth": ["", "const", "ARMInstrInfo", "*", "getInstrInfo", "(", ")", "const", "override", "{", "return", "&", "InstrInfo", ";", "}", ""], "natrual_language": ["TargetInstrInfo", "getter", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine15", "Func": "getInstrInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11526, "Length": 14} {"ground_truth": ["", "const", "ARMRegisterInfo", "*", "getRegisterInfo", "(", ")", "const", "override", "{", "return", "&", "InstrInfo", ".", "getRegisterInfo", "(", ")", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine15", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11527, "Length": 18} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addInstSelector", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "PM", ".", "add", "(", "createARMISelDag", "(", "*", "this", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["addInstSelector", "-", "This", "method", "should", "install", "an", "instruction", "selector", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine16", "Func": "addInstSelector", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11528, "Length": 30} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreEmitPass", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "!", "DisableLdStOpti", "&&", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "!", "DisableIfConversion", "&&", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createIfConverterPass", "(", ")", ")", ";", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", ")", "{", "PM", ".", "add", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "PM", ".", "add", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "}", "PM", ".", "add", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine16", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11529, "Length": 110} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreRegAlloc", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "Subtarget", ".", "hasNEON", "(", ")", ")", "PM", ".", "add", "(", "createNEONPreAllocPass", "(", ")", ")", ";", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "!", "DisableLdStOpti", "&&", "!", "Subtarget", ".", "isThumb", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine16", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11530, "Length": 64} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "FS", ",", "bool", "isThumb", ")", ":", "LLVMTargetMachine", "(", "T", ",", "TT", ")", ",", "Subtarget", "(", "TT", ",", "FS", ",", "isThumb", ")", ",", "FrameInfo", "(", "Subtarget", ")", ",", "JITInfo", "(", ")", ",", "InstrItins", "(", "Subtarget", ".", "getInstrItineraryData", "(", ")", ")", "{", "DefRelocModel", "=", "getRelocationModel", "(", ")", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine16", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11531, "Length": 68} {"ground_truth": ["", "const", "ARMSubtarget", "*", "getSubtargetImpl", "(", ")", "const", "{", "return", "&", "Subtarget", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine16", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11532, "Length": 13} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "getARMSubtarget", "(", ")", ".", "isLikeA9", "(", ")", ")", "addPass", "(", "createMLxExpansionPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine17", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11533, "Length": 63} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "createUnpackMachineBundles", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", ";", "}", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "addPass", "(", "createARMLowOverheadLoopsPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine18", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11534, "Length": 77} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", "||", "EnableGlobalMerge", "==", "cl", "::", "BOU_TRUE", ")", "{", "bool", "OnlyOptimizeForSize", "=", "(", "TM", "->", "getOptLevel", "(", ")", "<", "CodeGenOpt", "::", "Aggressive", ")", "&&", "(", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", ";", "bool", "MergeExternalByDefault", "=", "!", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSBinFormatMachO", "(", ")", ";", "addPass", "(", "createGlobalMergePass", "(", "TM", ",", "127", ",", "OnlyOptimizeForSize", ",", "MergeExternalByDefault", ")", ")", ";", "}", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createHardwareLoopsPass", "(", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "127"], "File": "ARMTargetMachine18", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11535, "Length": 109} {"ground_truth": ["", "virtual", "const", "ARMFrameInfo", "*", "getFrameInfo", "(", ")", "const", "{", "return", "FrameInfo", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["getFrameInfo", "-", "Return", "the", "frame", "info", "object", "for", "the", "current", "function", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine19", "Func": "getFrameInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11536, "Length": 17} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addCodeGenPrepare", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createTypePromotionPass", "(", ")", ")", ";", "TargetPassConfig", "::", "addCodeGenPrepare", "(", ")", ";", "}", ""], "natrual_language": ["Add", "pass", "to", "prepare", "the", "LLVM", "IR", "for", "code", "generation", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine1", "Func": "addCodeGenPrepare", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11537, "Length": 31} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addGlobalInstructionSelect", "(", ")", "{", "addPass", "(", "new", "InstructionSelect", "(", "getOptLevel", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["This", "method", "should", "install", "a", "(", "global", ")", "instruction", "selector", "pass", ",", "which", "converts", "possibly", "generic", "instructions", "to", "fully", "target-specific", "instructions", ",", "thereby", "constraining", "all", "generic", "virtual", "registers", "to", "register", "classes", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine1", "Func": "addGlobalInstructionSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11538, "Length": 22} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "TM", "->", "Options", ".", "ThreadModel", "==", "ThreadModel", "::", "Single", ")", "addPass", "(", "createLowerAtomicPass", "(", ")", ")", ";", "else", "addPass", "(", "createAtomicExpandPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", "SimplifyCFGOptions", "(", ")", ".", "hoistCommonInsts", "(", "true", ")", ".", "sinkCommonInsts", "(", "true", ")", ",", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "const", "auto", "&", "ST", "=", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "return", "ST", ".", "hasAnyDataBarrier", "(", ")", "&&", "!", "ST", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createMVEGatherScatterLoweringPass", "(", ")", ")", ";", "addPass", "(", "createMVELaneInterleavingPass", "(", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "if", "(", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "addPass", "(", "createARMParallelDSPPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createInterleavedAccessPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSWindows", "(", ")", ")", "addPass", "(", "createCFGuardCheckPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine1", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11539, "Length": 187} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addIRTranslator", "(", ")", "{", "addPass", "(", "new", "IRTranslator", "(", "getOptLevel", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["This", "method", "should", "install", "an", "IR", "translator", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "with", "possibly", "generic", "opcodes", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine1", "Func": "addIRTranslator", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11540, "Length": 22} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "createUnpackMachineBundles", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", ";", "}", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createARMBlockPlacementPass", "(", ")", ")", ";", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine1", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11541, "Length": 72} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass2", "(", ")", "{", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "addPass", "(", "createARMLowOverheadLoopsPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSWindows", "(", ")", ")", "{", "addPass", "(", "createCFGuardLongjmpPass", "(", ")", ")", ";", "addPass", "(", "createEHContGuardCatchretPass", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["Targets", "may", "add", "passes", "immediately", "before", "machine", "code", "is", "emitted", "in", "this", "callback", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine1", "Func": "addPreEmitPass2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11542, "Length": 50} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", "||", "EnableGlobalMerge", "==", "cl", "::", "BOU_TRUE", ")", "{", "bool", "OnlyOptimizeForSize", "=", "(", "TM", "->", "getOptLevel", "(", ")", "<", "CodeGenOpt", "::", "Aggressive", ")", "&&", "(", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", ";", "bool", "MergeExternalByDefault", "=", "!", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSBinFormatMachO", "(", ")", ";", "addPass", "(", "createGlobalMergePass", "(", "TM", ",", "127", ",", "OnlyOptimizeForSize", ",", "MergeExternalByDefault", ")", ")", ";", "}", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createHardwareLoopsPass", "(", ")", ")", ";", "addPass", "(", "createMVETailPredicationPass", "(", ")", ")", ";", "addPass", "(", "createBarrierNoopPass", "(", ")", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "127"], "File": "ARMTargetMachine1", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11543, "Length": 125} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createMVETPAndVPTOptimisationsPass", "(", ")", ")", ";", "addPass", "(", "createMLxExpansionPass", "(", ")", ")", ";", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "!", "DisableA15SDOptimization", ")", "addPass", "(", "createA15SDOptimizerPass", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine1", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11544, "Length": 58} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "addPass", "(", "new", "ARMExecutionDomainFix", "(", ")", ")", ";", "addPass", "(", "createBreakFalseDeps", "(", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "return", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "hasMinSize", "(", ")", "||", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "restrictIT", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createIfConverter", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "!", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "}", "addPass", "(", "createMVEVPTBlockPass", "(", ")", ")", ";", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "&", "PostMachineSchedulerID", ")", ";", "addPass", "(", "&", "PostRASchedulerID", ")", ";", "}", "addPass", "(", "createARMIndirectThunks", "(", ")", ")", ";", "addPass", "(", "createARMSLSHardeningPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine1", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11545, "Length": 200} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Optional", "<", "Reloc", "::", "Model", ">", "RM", ",", "Optional", "<", "CodeModel", "::", "Model", ">", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "getEffectiveRelocModel", "(", "TT", ",", "RM", ")", ",", "getEffectiveCodeModel", "(", "CM", ",", "CodeModel", "::", "Small", ")", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "{", "if", "(", "isTargetHardFloat", "(", ")", ")", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Hard", ";", "else", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", ")", "&&", "!", "(", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetTriple", ".", "isOSDarwin", "(", ")", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "if", "(", "TT", ".", "isOSBinFormatMachO", "(", ")", ")", "{", "this", "->", "Options", ".", "TrapUnreachable", "=", "true", ";", "this", "->", "Options", ".", "NoTrapAfterNoreturn", "=", "true", ";", "}", "setSupportsDebugEntryValues", "(", "true", ")", ";", "initAsmInfo", "(", ")", ";", "setMachineOutliner", "(", "true", ")", ";", "setSupportsDefaultOutlining", "(", "true", ")", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine1", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11546, "Length": 304} {"ground_truth": ["", "std", "::", "unique_ptr", "<", "CSEConfigBase", ">", "ARMPassConfig", "::", "getCSEConfig", "(", ")", "const", "{", "return", "getStandardCSEConfigForOpt", "(", "TM", "->", "getOptLevel", "(", ")", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "CSEConfig", "object", "to", "use", "for", "the", "current", "optimization", "level", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine1", "Func": "getCSEConfig", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11547, "Length": 24} {"ground_truth": ["", "const", "ARMSubtarget", "*", "ARMBaseTargetMachine", "::", "getSubtargetImpl", "(", "const", "Function", "&", "F", ")", "const", "{", "Attribute", "CPUAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-cpu\"", ")", ";", "Attribute", "FSAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-features\"", ")", ";", "std", "::", "string", "CPU", "=", "CPUAttr", ".", "isValid", "(", ")", "?", "CPUAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetCPU", ";", "std", "::", "string", "FS", "=", "FSAttr", ".", "isValid", "(", ")", "?", "FSAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetFS", ";", "bool", "SoftFloat", "=", "F", ".", "getFnAttribute", "(", "\"use-soft-float\"", ")", ".", "getValueAsBool", "(", ")", ";", "if", "(", "SoftFloat", ")", "FS", "+=", "FS", ".", "empty", "(", ")", "?", "\"+soft-float\"", ":", "\",+soft-float\"", ";", "std", "::", "string", "Key", "=", "CPU", "+", "FS", ";", "if", "(", "F", ".", "hasMinSize", "(", ")", ")", "Key", "+=", "\"+minsize\"", ";", "auto", "&", "I", "=", "SubtargetMap", "[", "Key", "]", ";", "if", "(", "!", "I", ")", "{", "resetTargetOptions", "(", "F", ")", ";", "I", "=", "std", "::", "make_unique", "<", "ARMSubtarget", ">", "(", "TargetTriple", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ",", "F", ".", "hasMinSize", "(", ")", ")", ";", "if", "(", "!", "I", "->", "isThumb", "(", ")", "&&", "!", "I", "->", "hasARMOps", "(", ")", ")", "F", ".", "getContext", "(", ")", ".", "emitError", "(", "\"Function '\"", "+", "F", ".", "getName", "(", ")", "+", "\"' uses ARM \"", "\"instructions, but the target does not support ARM mode execution.\"", ")", ";", "}", "return", "I", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"target-cpu\"", "\"target-features\"", "\"use-soft-float\"", "\"+soft-float\"", "\",+soft-float\"", "\"+minsize\"", "ARM", "ARM", "\"Function '\"", "\"' uses ARM \"", "\"instructions, but the target does not support ARM mode execution.\""], "File": "ARMTargetMachine1", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11548, "Length": 223} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Optional", "<", "Reloc", "::", "Model", ">", "RM", ",", "Optional", "<", "CodeModel", "::", "Model", ">", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "getEffectiveRelocModel", "(", "TT", ",", "RM", ")", ",", "getEffectiveCodeModel", "(", "CM", ")", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "{", "if", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABIHF", "||", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetABI", "==", "ARMBaseTargetMachine", "::", "ARM_ABI_AAPCS16", ")", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Hard", ";", "else", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", ")", "&&", "!", "(", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetTriple", ".", "isOSDarwin", "(", ")", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "initAsmInfo", "(", ")", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine22", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11549, "Length": 297} {"ground_truth": ["", "virtual", "const", "DataLayout", "*", "getDataLayout", "(", ")", "const", "{", "return", "&", "DL", ";", "}", ""], "natrual_language": ["Return", "the", "DataLayout", "associated", "with", "the", "module", "this", "SCEV", "instance", "is", "operating", "on", "."], "TS_V_token": ["ARM"], "File": "ARMTargetMachine22", "Func": "getDataLayout", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11550, "Length": 14} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addInstSelector", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "PM", ".", "add", "(", "createARMISelDag", "(", "*", "this", ",", "OptLevel", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["addInstSelector", "-", "This", "method", "should", "install", "an", "instruction", "selector", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine23", "Func": "addInstSelector", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11551, "Length": 32} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreEmitPass", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "&&", "!", "Subtarget", ".", "prefers32BitThumb", "(", ")", ")", "PM", ".", "add", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "PM", ".", "add", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine23", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11552, "Length": 52} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreISel", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", ")", "PM", ".", "add", "(", "createARMGlobalMergePass", "(", "getTargetLowering", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine23", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11553, "Length": 39} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreRegAlloc", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "Subtarget", ".", "hasNEON", "(", ")", ")", "PM", ".", "add", "(", "createNEONPreAllocPass", "(", ")", ")", ";", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine23", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11554, "Length": 61} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreSched2", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "if", "(", "Subtarget", ".", "hasNEON", "(", ")", ")", "PM", ".", "add", "(", "createNEONMoveFixPass", "(", ")", ")", ";", "}", "PM", ".", "add", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createIfConverterPass", "(", ")", ")", ";", "}", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", ")", "PM", ".", "add", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine23", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11555, "Length": 118} {"ground_truth": ["", "static", "MCAsmInfo", "*", "createMCAsmInfo", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ")", "{", "Triple", "TheTriple", "(", "TT", ")", ";", "switch", "(", "TheTriple", ".", "getOS", "(", ")", ")", "{", "case", "Triple", "::", "Darwin", ":", "return", "new", "ARMMCAsmInfoDarwin", "(", ")", ";", "default", ":", "return", "new", "ARMELFMCAsmInfo", "(", ")", ";", "}", "}", ""], "natrual_language": ["createMCAsmInfo", "-", "Create", "a", "MCAsmInfo", "implementation", "for", "the", "specified", "target", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine23", "Func": "createMCAsmInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11556, "Length": 50} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Optional", "<", "Reloc", "::", "Model", ">", "RM", ",", "Optional", "<", "CodeModel", "::", "Model", ">", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "getEffectiveRelocModel", "(", "TT", ",", "RM", ")", ",", "getEffectiveCodeModel", "(", "CM", ")", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "{", "if", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABIHF", "||", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetABI", "==", "ARMBaseTargetMachine", "::", "ARM_ABI_AAPCS16", ")", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Hard", ";", "else", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", ")", "&&", "!", "(", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetTriple", ".", "isOSDarwin", "(", ")", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "if", "(", "TT", ".", "isOSBinFormatMachO", "(", ")", ")", "this", "->", "Options", ".", "TrapUnreachable", "=", "true", ";", "initAsmInfo", "(", ")", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine24", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11557, "Length": 313} {"ground_truth": ["", "bool", "targetSchedulesPostRAScheduling", "(", ")", "const", "override", "{", "return", "true", ";", "}", ""], "natrual_language": ["True", "if", "subtarget", "inserts", "the", "final", "scheduling", "pass", "on", "its", "own", "."], "TS_V_token": ["ARM"], "File": "ARMTargetMachine24", "Func": "targetSchedulesPostRAScheduling", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11558, "Length": 11} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "TM", "->", "Options", ".", "ThreadModel", "==", "ThreadModel", "::", "Single", ")", "addPass", "(", "createLowerAtomicPass", "(", ")", ")", ";", "else", "addPass", "(", "createAtomicExpandPass", "(", "TM", ")", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "getARMSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "hasAnyDataBarrier", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine25", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11559, "Length": 88} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "prefers32BitThumb", "(", ")", ")", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "&", "UnpackMachineBundlesID", ")", ";", "}", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine25", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11560, "Length": 58} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createGlobalMergePass", "(", "TM", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine25", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11561, "Length": 31} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "getARMSubtarget", "(", ")", ".", "isCortexA9", "(", ")", ")", "addPass", "(", "createMLxExpansionPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "getARMSubtarget", "(", ")", ".", "isCortexA15", "(", ")", "&&", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", "&&", "!", "DisableA15SDOptimization", ")", "{", "addPass", "(", "createA15SDOptimizerPass", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine25", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11562, "Length": 89} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "if", "(", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", ")", "addPass", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "restrictIT", "(", ")", "&&", "!", "getARMSubtarget", "(", ")", ".", "prefers32BitThumb", "(", ")", ")", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "&", "IfConverterID", ")", ";", "}", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::DPRRegClass", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine25", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11563, "Length": 129} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "RM", ",", "CM", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "Triple", "(", "TT", ")", ",", "CPU", ",", "Options", ")", ")", ",", "DL", "(", "computeDataLayout", "(", "Triple", "(", "TT", ")", ",", "TargetABI", ",", "isLittle", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "Triple", "(", "getTargetTriple", "(", ")", ")", ")", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "Subtarget", ".", "isTargetHardFloat", "(", ")", "?", "FloatABI", "::", "Hard", ":", "FloatABI", "::", "Soft", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine25", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11564, "Length": 154} {"ground_truth": ["", "const", "ARMSubtarget", "*", "ARMBaseTargetMachine", "::", "getSubtargetImpl", "(", "const", "Function", "&", "F", ")", "const", "{", "AttributeSet", "FnAttrs", "=", "F", ".", "getAttributes", "(", ")", ";", "Attribute", "CPUAttr", "=", "FnAttrs", ".", "getAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "\"target-cpu\"", ")", ";", "Attribute", "FSAttr", "=", "FnAttrs", ".", "getAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "\"target-features\"", ")", ";", "std", "::", "string", "CPU", "=", "!", "CPUAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "CPUAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetCPU", ";", "std", "::", "string", "FS", "=", "!", "FSAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "FSAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetFS", ";", "Attribute", "SFAttr", "=", "FnAttrs", ".", "getAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "\"use-soft-float\"", ")", ";", "bool", "SoftFloat", "=", "!", "SFAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "SFAttr", ".", "getValueAsString", "(", ")", "==", "\"true\"", ":", "Options", ".", "UseSoftFloat", ";", "auto", "&", "I", "=", "SubtargetMap", "[", "CPU", "+", "FS", "+", "(", "SoftFloat", "?", "\"use-soft-float=true\"", ":", "\"use-soft-float=false\"", ")", "]", ";", "if", "(", "!", "I", ")", "{", "resetTargetOptions", "(", "F", ")", ";", "I", "=", "llvm", "::", "make_unique", "<", "ARMSubtarget", ">", "(", "TargetTriple", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ";", "}", "return", "I", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"target-cpu\"", "\"target-features\"", "\"use-soft-float\"", "\"true\"", "\"use-soft-float=true\"", "\"use-soft-float=false\"", "ARM"], "File": "ARMTargetMachine25", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11565, "Length": 204} {"ground_truth": ["", "TargetIRAnalysis", "ARMBaseTargetMachine", "::", "getTargetIRAnalysis", "(", ")", "{", "return", "TargetIRAnalysis", "(", "[", "this", "]", "(", "Function", "&", "F", ")", "{", "return", "TargetTransformInfo", "(", "ARMTTIImpl", "(", "this", ",", "F", ")", ")", ";", "}", ")", ";", "}", ""], "natrual_language": ["Get", "a", "TargetIRAnalysis", "appropriate", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine25", "Func": "getTargetIRAnalysis", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11566, "Length": 34} {"ground_truth": ["", "bool", "ARMTargetMachine", "::", "addInstSelector", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "PM", ".", "add", "(", "createARMISelDag", "(", "*", "this", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["addInstSelector", "-", "This", "method", "should", "install", "an", "instruction", "selector", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine26", "Func": "addInstSelector", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11567, "Length": 30} {"ground_truth": ["", "bool", "ARMTargetMachine", "::", "addPreEmitPass", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "!", "DisableLdStOpti", "&&", "!", "Subtarget", ".", "isThumb", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "!", "DisableIfConversion", "&&", "!", "Subtarget", ".", "isThumb", "(", ")", ")", "PM", ".", "add", "(", "createIfConverterPass", "(", ")", ")", ";", "PM", ".", "add", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine26", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11568, "Length": 82} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "getARMSubtarget", "(", ")", ".", "isCortexA9", "(", ")", ")", "addPass", "(", "createMLxExpansionPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "getARMSubtarget", "(", ")", ".", "isCortexA15", "(", ")", "&&", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", "&&", "!", "DisableA15SDOptimization", ")", "{", "addPass", "(", "createA15SDOptimizerPass", "(", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine27", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11569, "Length": 101} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "{", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "printAndVerify", "(", "\"After ARM load / store optimizer\"", ")", ";", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", ")", "addPass", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "restrictIT", "(", ")", "&&", "!", "getARMSubtarget", "(", ")", ".", "prefers32BitThumb", "(", ")", ")", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "&", "IfConverterID", ")", ";", "}", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"After ARM load / store optimizer\"", "ARM", "ARM::DPRRegClass", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine27", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11570, "Length": 150} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ")", ":", "LLVMTargetMachine", "(", "T", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "RM", ",", "CM", ",", "OL", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "Options", ")", ",", "JITInfo", "(", ")", ",", "InstrItins", "(", "Subtarget", ".", "getInstrItineraryData", "(", ")", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "Subtarget", ".", "isTargetHardFloat", "(", ")", "?", "FloatABI", "::", "Hard", ":", "FloatABI", "::", "Soft", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine27", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11571, "Length": 113} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "getARMSubtarget", "(", ")", ".", "isCortexA9", "(", ")", ")", "addPass", "(", "createMLxExpansionPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine28", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11572, "Length": 63} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addInstSelector", "(", ")", "{", "addPass", "(", "createARMISelDag", "(", "getARMTargetMachine", "(", ")", ",", "getOptLevel", "(", ")", ")", ")", ";", "if", "(", "Triple", "(", "TM", "->", "getTargetTriple", "(", ")", ")", ".", "isOSBinFormatELF", "(", ")", "&&", "TM", "->", "Options", ".", "EnableFastISel", ")", "addPass", "(", "createARMGlobalBaseRegPass", "(", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["addInstSelector", "-", "This", "method", "should", "install", "an", "instruction", "selector", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine29", "Func": "addInstSelector", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11573, "Length": 53} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "addPass", "(", "&", "UnpackMachineBundlesID", ")", ";", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine29", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11574, "Length": 45} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "(", "TM", "->", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", "&&", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", "||", "EnableGlobalMerge", "==", "cl", "::", "BOU_TRUE", ")", "addPass", "(", "createGlobalMergePass", "(", "TM", ",", "127", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "127"], "File": "ARMTargetMachine29", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11575, "Length": 47} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "addPass", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "restrictIT", "(", ")", ")", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "addPass", "(", "&", "IfConverterID", ")", ";", "}", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::DPRRegClass", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine29", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11576, "Length": 102} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "RM", ",", "CM", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "Triple", "(", "TT", ")", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "Triple", "(", "getTargetTriple", "(", ")", ")", ")", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "Subtarget", ".", "isTargetHardFloat", "(", ")", "?", "FloatABI", "::", "Hard", ":", "FloatABI", "::", "Soft", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine29", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11577, "Length": 150} {"ground_truth": ["", "const", "ARMSubtarget", "*", "ARMBaseTargetMachine", "::", "getSubtargetImpl", "(", "const", "Function", "&", "F", ")", "const", "{", "Attribute", "CPUAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-cpu\"", ")", ";", "Attribute", "FSAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-features\"", ")", ";", "std", "::", "string", "CPU", "=", "!", "CPUAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "CPUAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetCPU", ";", "std", "::", "string", "FS", "=", "!", "FSAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "FSAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetFS", ";", "Attribute", "SFAttr", "=", "F", ".", "getFnAttribute", "(", "\"use-soft-float\"", ")", ";", "bool", "SoftFloat", "=", "!", "SFAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "SFAttr", ".", "getValueAsString", "(", ")", "==", "\"true\"", ":", "Options", ".", "UseSoftFloat", ";", "auto", "&", "I", "=", "SubtargetMap", "[", "CPU", "+", "FS", "+", "(", "SoftFloat", "?", "\"use-soft-float=true\"", ":", "\"use-soft-float=false\"", ")", "]", ";", "if", "(", "!", "I", ")", "{", "resetTargetOptions", "(", "F", ")", ";", "I", "=", "llvm", "::", "make_unique", "<", "ARMSubtarget", ">", "(", "TargetTriple", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ";", "}", "return", "I", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"target-cpu\"", "\"target-features\"", "\"use-soft-float\"", "\"true\"", "\"use-soft-float=true\"", "\"use-soft-float=false\"", "ARM"], "File": "ARMTargetMachine29", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11578, "Length": 183} {"ground_truth": ["", "virtual", "const", "ARMBaseInstrInfo", "*", "getInstrInfo", "(", ")", "const", "{", "return", "InstrInfo", ";", "}", ""], "natrual_language": ["TargetInstrInfo", "getter", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine32", "Func": "getInstrInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11579, "Length": 13} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreRegAlloc", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "ExpandMLx", "&&", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "Subtarget", ".", "hasVFP2", "(", ")", ")", "PM", ".", "add", "(", "createMLxExpansionPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine34", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11580, "Length": 69} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "std", "::", "string", "&", "TT", ",", "const", "std", "::", "string", "&", "FS", ",", "bool", "isThumb", ")", ":", "LLVMTargetMachine", "(", "T", ",", "TT", ")", ",", "Subtarget", "(", "TT", ",", "FS", ",", "isThumb", ")", ",", "JITInfo", "(", ")", ",", "InstrItins", "(", "Subtarget", ".", "getInstrItineraryData", "(", ")", ")", "{", "DefRelocModel", "=", "getRelocationModel", "(", ")", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine34", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11581, "Length": 63} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "addPass", "(", "createAtomicExpandLoadLinkedPass", "(", "TM", ")", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "getARMSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "hasAnyDataBarrier", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine35", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11582, "Length": 68} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "prefers32BitThumb", "(", ")", ")", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "&", "UnpackMachineBundlesID", ")", ";", "}", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine35", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11583, "Length": 61} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "getARMSubtarget", "(", ")", ".", "isCortexA9", "(", ")", ")", "addPass", "(", "createMLxExpansionPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "getARMSubtarget", "(", ")", ".", "isCortexA15", "(", ")", "&&", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", "&&", "!", "DisableA15SDOptimization", ")", "{", "addPass", "(", "createA15SDOptimizerPass", "(", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine35", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11584, "Length": 92} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "printAndVerify", "(", "\"After ARM load / store optimizer\"", ")", ";", "if", "(", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", ")", "addPass", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "restrictIT", "(", ")", "&&", "!", "getARMSubtarget", "(", ")", ".", "prefers32BitThumb", "(", ")", ")", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "&", "IfConverterID", ")", ";", "}", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"After ARM load / store optimizer\"", "ARM", "ARM::DPRRegClass", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine35", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11585, "Length": 137} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "RM", ",", "CM", ",", "OL", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ",", "Options", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "Subtarget", ".", "isTargetHardFloat", "(", ")", "?", "FloatABI", "::", "Hard", ":", "FloatABI", "::", "Soft", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine35", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11586, "Length": 108} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "RM", ",", "CM", ",", "OL", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "Subtarget", ".", "isTargetHardFloat", "(", ")", "?", "FloatABI", "::", "Hard", ":", "FloatABI", "::", "Soft", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine36", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11587, "Length": 111} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "TM", "->", "isPagerando", "(", ")", ")", "addPass", "(", "createARMPagerandoOptimizerPass", "(", ")", ")", ";", "addPass", "(", "createMLxExpansionPass", "(", ")", ")", ";", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "!", "DisableA15SDOptimization", ")", "addPass", "(", "createA15SDOptimizerPass", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine3", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11588, "Length": 66} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "TM", "->", "Options", ".", "ThreadModel", "==", "ThreadModel", "::", "Single", ")", "addPass", "(", "createLowerAtomicPass", "(", ")", ")", ";", "else", "addPass", "(", "createAtomicExpandPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", "SimplifyCFGOptions", "(", ")", ".", "hoistCommonInsts", "(", "true", ")", ".", "sinkCommonInsts", "(", "true", ")", ",", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "const", "auto", "&", "ST", "=", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "return", "ST", ".", "hasAnyDataBarrier", "(", ")", "&&", "!", "ST", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createMVEGatherScatterLoweringPass", "(", ")", ")", ";", "addPass", "(", "createMVELaneInterleavingPass", "(", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "if", "(", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "addPass", "(", "createARMParallelDSPPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createInterleavedAccessPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSWindows", "(", ")", ")", "addPass", "(", "createCFGuardCheckPass", "(", ")", ")", ";", "if", "(", "TM", "->", "Options", ".", "JMCInstrument", ")", "addPass", "(", "createJMCInstrumenterPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine41", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11589, "Length": 202} {"ground_truth": ["", "TargetTransformInfo", "ARMBaseTargetMachine", "::", "getTargetTransformInfo", "(", "const", "Function", "&", "F", ")", "const", "{", "return", "TargetTransformInfo", "(", "ARMTTIImpl", "(", "this", ",", "F", ")", ")", ";", "}", ""], "natrual_language": ["Get", "a", "TargetTransformInfo", "implementation", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine41", "Func": "getTargetTransformInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11590, "Length": 24} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Optional", "<", "Reloc", "::", "Model", ">", "RM", ",", "Optional", "<", "CodeModel", "::", "Model", ">", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "getEffectiveRelocModel", "(", "TT", ",", "RM", ")", ",", "getEffectiveCodeModel", "(", "CM", ")", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "{", "if", "(", "isTargetHardFloat", "(", ")", ")", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Hard", ";", "else", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", ")", "&&", "!", "(", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetTriple", ".", "isOSDarwin", "(", ")", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "if", "(", "TT", ".", "isOSBinFormatMachO", "(", ")", ")", "{", "this", "->", "Options", ".", "TrapUnreachable", "=", "true", ";", "this", "->", "Options", ".", "NoTrapAfterNoreturn", "=", "true", ";", "}", "initAsmInfo", "(", ")", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine42", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11591, "Length": 285} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "getARMSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "hasAnyDataBarrier", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "addPass", "(", "createAtomicExpandLoadLinkedPass", "(", "TM", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createGlobalMergePass", "(", "TM", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine45", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11592, "Length": 64} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "RM", ",", "CM", ",", "OL", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "isLittle", ",", "Options", ")", ",", "JITInfo", "(", ")", ",", "InstrItins", "(", "Subtarget", ".", "getInstrItineraryData", "(", ")", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "Subtarget", ".", "isTargetHardFloat", "(", ")", "?", "FloatABI", "::", "Hard", ":", "FloatABI", "::", "Soft", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine45", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11593, "Length": 118} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "isTargetNaCl", "(", ")", ")", "{", "addPass", "(", "createInsertDivideCheckPass", "(", ")", ")", ";", "}", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine46", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11594, "Length": 33} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "prefers32BitThumb", "(", ")", ")", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "&", "UnpackMachineBundlesID", ")", ";", "}", "if", "(", "FlagSfiDisableCP", ")", "{", "assert", "(", "getARMSubtarget", "(", ")", ".", "useMovt", "(", ")", ")", ";", "}", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "if", "(", "getARMSubtarget", "(", ")", ".", "isTargetNaCl", "(", ")", ")", "{", "addPass", "(", "createARMNaClRewritePass", "(", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine46", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11595, "Length": 90} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", "&&", "!", "getARMSubtarget", "(", ")", ".", "isTargetNaCl", "(", ")", ")", "addPass", "(", "createGlobalMergePass", "(", "TM", "->", "getTargetLowering", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine46", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11596, "Length": 46} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass2", "(", ")", "{", "addPass", "(", "createARMFixCortexA57AES1742098Pass", "(", ")", ")", ";", "addPass", "(", "createARMBranchTargetsPass", "(", ")", ")", ";", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "addPass", "(", "createARMLowOverheadLoopsPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSWindows", "(", ")", ")", "{", "addPass", "(", "createCFGuardLongjmpPass", "(", ")", ")", ";", "addPass", "(", "createEHContGuardCatchretPass", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["Targets", "may", "add", "passes", "immediately", "before", "machine", "code", "is", "emitted", "in", "this", "callback", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine47", "Func": "addPreEmitPass2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11597, "Length": 64} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "addPass", "(", "&", "MachinePipelinerID", ")", ";", "addPass", "(", "createMVETPAndVPTOptimisationsPass", "(", ")", ")", ";", "addPass", "(", "createMLxExpansionPass", "(", ")", ")", ";", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "!", "DisableA15SDOptimization", ")", "addPass", "(", "createA15SDOptimizerPass", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine47", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11598, "Length": 74} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Optional", "<", "Reloc", "::", "Model", ">", "RM", ",", "Optional", "<", "CodeModel", "::", "Model", ">", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "getEffectiveRelocModel", "(", "TT", ",", "RM", ")", ",", "getEffectiveCodeModel", "(", "CM", ",", "CodeModel", "::", "Small", ")", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "{", "if", "(", "isTargetHardFloat", "(", ")", ")", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Hard", ";", "else", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", ")", "&&", "!", "(", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetTriple", ".", "isOSDarwin", "(", ")", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "if", "(", "TT", ".", "isOSBinFormatMachO", "(", ")", ")", "{", "this", "->", "Options", ".", "TrapUnreachable", "=", "true", ";", "this", "->", "Options", ".", "NoTrapAfterNoreturn", "=", "true", ";", "}", "setSupportsDebugEntryValues", "(", "true", ")", ";", "initAsmInfo", "(", ")", ";", "setMachineOutliner", "(", "true", ")", ";", "setSupportsDefaultOutlining", "(", "false", ")", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine48", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11599, "Length": 304} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "addPass", "(", "new", "ARMExecutionDomainFix", "(", ")", ")", ";", "addPass", "(", "createBreakFalseDeps", "(", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "return", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "hasMinSize", "(", ")", "||", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "restrictIT", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createIfConverter", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "!", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "}", "addPass", "(", "createMVEVPTBlockPass", "(", ")", ")", ";", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "&", "PostMachineSchedulerID", ")", ";", "addPass", "(", "&", "PostRASchedulerID", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine49", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11600, "Length": 186} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", "||", "EnableGlobalMerge", "==", "cl", "::", "BOU_TRUE", ")", "{", "bool", "OnlyOptimizeForSize", "=", "(", "TM", "->", "getOptLevel", "(", ")", "<", "CodeGenOpt", "::", "Aggressive", ")", "&&", "(", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", ";", "addPass", "(", "createGlobalMergePass", "(", "TM", ",", "127", ",", "OnlyOptimizeForSize", ")", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "127"], "File": "ARMTargetMachine4", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11601, "Length": 74} {"ground_truth": ["", "const", "ARMSubtarget", "*", "ARMBaseTargetMachine", "::", "getSubtargetImpl", "(", "const", "Function", "&", "F", ")", "const", "{", "Attribute", "CPUAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-cpu\"", ")", ";", "Attribute", "FSAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-features\"", ")", ";", "std", "::", "string", "CPU", "=", "!", "CPUAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "CPUAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetCPU", ";", "std", "::", "string", "FS", "=", "!", "FSAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "FSAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetFS", ";", "bool", "SoftFloat", "=", "F", ".", "getFnAttribute", "(", "\"use-soft-float\"", ")", ".", "getValueAsString", "(", ")", "==", "\"true\"", ";", "if", "(", "SoftFloat", ")", "FS", "+=", "FS", ".", "empty", "(", ")", "?", "\"+soft-float\"", ":", "\",+soft-float\"", ";", "std", "::", "string", "Key", "=", "CPU", "+", "FS", ";", "if", "(", "F", ".", "optForMinSize", "(", ")", ")", "Key", "+=", "\"+minsize\"", ";", "auto", "&", "I", "=", "SubtargetMap", "[", "Key", "]", ";", "if", "(", "!", "I", ")", "{", "resetTargetOptions", "(", "F", ")", ";", "I", "=", "llvm", "::", "make_unique", "<", "ARMSubtarget", ">", "(", "TargetTriple", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ",", "F", ".", "optForMinSize", "(", ")", ")", ";", "if", "(", "!", "I", "->", "isThumb", "(", ")", "&&", "!", "I", "->", "hasARMOps", "(", ")", ")", "F", ".", "getContext", "(", ")", ".", "emitError", "(", "\"Function '\"", "+", "F", ".", "getName", "(", ")", "+", "\"' uses ARM \"", "\"instructions, but the target does not support ARM mode execution.\"", ")", ";", "}", "return", "I", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"target-cpu\"", "\"target-features\"", "\"use-soft-float\"", "\"true\"", "\"+soft-float\"", "\",+soft-float\"", "\"+minsize\"", "ARM", "ARM", "\"Function '\"", "\"' uses ARM \"", "\"instructions, but the target does not support ARM mode execution.\""], "File": "ARMTargetMachine50", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11602, "Length": 233} {"ground_truth": ["", "virtual", "const", "ARMBaseInstrInfo", "*", "getInstrInfo", "(", ")", "const", "{", "llvm_unreachable", "(", "\"getInstrInfo not implemented\"", ")", ";", "}", ""], "natrual_language": ["TargetInstrInfo", "getter", "."], "TS_V_token": ["ARM", "ARM", "\"getInstrInfo not implemented\""], "File": "ARMTargetMachine51", "Func": "getInstrInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11603, "Length": 15} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "TM", "->", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", ")", "addPass", "(", "createGlobalMergePass", "(", "TM", ",", "127", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "127"], "File": "ARMTargetMachine52", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11604, "Length": 33} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "TM", "->", "Options", ".", "ThreadModel", "==", "ThreadModel", "::", "Single", ")", "addPass", "(", "createLowerAtomicPass", "(", ")", ")", ";", "else", "addPass", "(", "createAtomicExpandPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", "1", ",", "false", ",", "false", ",", "true", ",", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "const", "auto", "&", "ST", "=", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "return", "ST", ".", "hasAnyDataBarrier", "(", ")", "&&", "!", "ST", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createInterleavedAccessPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM"], "File": "ARMTargetMachine55", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11605, "Length": 131} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Optional", "<", "Reloc", "::", "Model", ">", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "getEffectiveRelocModel", "(", "TT", ",", "RM", ")", ",", "CM", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "{", "if", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABIHF", "||", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetABI", "==", "ARMBaseTargetMachine", "::", "ARM_ABI_AAPCS16", ")", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Hard", ";", "else", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", ")", "&&", "!", "(", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetTriple", ".", "isOSDarwin", "(", ")", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "initAsmInfo", "(", ")", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine58", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11606, "Length": 291} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Optional", "<", "Reloc", "::", "Model", ">", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "getEffectiveRelocModel", "(", "TT", ",", "RM", ")", ",", "CM", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "Subtarget", ".", "isTargetHardFloat", "(", ")", "?", "FloatABI", "::", "Hard", ":", "FloatABI", "::", "Soft", ";", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "Subtarget", ".", "isTargetGNUAEABI", "(", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine59", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11607, "Length": 203} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", ")", "addPass", "(", "createGlobalMergePass", "(", "TM", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine5", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11608, "Length": 33} {"ground_truth": ["", "const", "DataLayout", "*", "getDataLayout", "(", ")", "const", "override", "{", "return", "getSubtargetImpl", "(", ")", "->", "getDataLayout", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "DataLayout", "associated", "with", "the", "module", "this", "SCEV", "instance", "is", "operating", "on", "."], "TS_V_token": ["ARM"], "File": "ARMTargetMachine5", "Func": "getDataLayout", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11609, "Length": 19} {"ground_truth": ["", "const", "ARMBaseInstrInfo", "*", "getInstrInfo", "(", ")", "const", "override", "{", "return", "getSubtargetImpl", "(", ")", "->", "getInstrInfo", "(", ")", ";", "}", ""], "natrual_language": ["TargetInstrInfo", "getter", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine5", "Func": "getInstrInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11610, "Length": 19} {"ground_truth": ["", "const", "InstrItineraryData", "*", "getInstrItineraryData", "(", ")", "const", "override", "{", "return", "&", "getSubtargetImpl", "(", ")", "->", "getInstrItineraryData", "(", ")", ";", "}", ""], "natrual_language": ["getInstrItineraryData", "-", "Returns", "instruction", "itinerary", "data", "for", "the", "target", "or", "specific", "subtarget", "."], "TS_V_token": ["ARM"], "File": "ARMTargetMachine5", "Func": "getInstrItineraryData", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11611, "Length": 20} {"ground_truth": ["", "const", "ARMBaseRegisterInfo", "*", "getRegisterInfo", "(", ")", "const", "override", "{", "return", "getSubtargetImpl", "(", ")", "->", "getRegisterInfo", "(", ")", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine5", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11612, "Length": 19} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addInstSelector", "(", "PassManagerBase", "&", "PM", ")", "{", "PM", ".", "add", "(", "createARMISelDag", "(", "*", "this", ",", "getOptLevel", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["addInstSelector", "-", "This", "method", "should", "install", "an", "instruction", "selector", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine61", "Func": "addInstSelector", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11613, "Length": 29} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreEmitPass", "(", "PassManagerBase", "&", "PM", ")", "{", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", ")", "{", "if", "(", "!", "Subtarget", ".", "prefers32BitThumb", "(", ")", ")", "PM", ".", "add", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "PM", ".", "add", "(", "createUnpackMachineBundlesPass", "(", ")", ")", ";", "}", "PM", ".", "add", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine61", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11614, "Length": 60} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreISel", "(", "PassManagerBase", "&", "PM", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", ")", "PM", ".", "add", "(", "createGlobalMergePass", "(", "getTargetLowering", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine61", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11615, "Length": 38} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreRegAlloc", "(", "PassManagerBase", "&", "PM", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "Subtarget", ".", "isCortexA9", "(", ")", ")", "PM", ".", "add", "(", "createMLxExpansionPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine61", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11616, "Length": 66} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreSched2", "(", "PassManagerBase", "&", "PM", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "if", "(", "Subtarget", ".", "hasNEON", "(", ")", ")", "PM", ".", "add", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "PM", ".", "add", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createIfConverterPass", "(", ")", ")", ";", "}", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", ")", "PM", ".", "add", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::DPRRegClass", "ARM"], "File": "ARMTargetMachine61", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11617, "Length": 121} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addInstSelector", "(", ")", "{", "PM", "->", "add", "(", "createARMISelDag", "(", "getARMTargetMachine", "(", ")", ",", "getOptLevel", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["addInstSelector", "-", "This", "method", "should", "install", "an", "instruction", "selector", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine62", "Func": "addInstSelector", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11618, "Length": 27} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "prefers32BitThumb", "(", ")", ")", "PM", "->", "add", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "UnpackMachineBundlesID", ")", ";", "}", "PM", "->", "add", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine62", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11619, "Length": 57} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", ")", "PM", "->", "add", "(", "createGlobalMergePass", "(", "TM", "->", "getTargetLowering", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine62", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11620, "Length": 39} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreRegAlloc", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "PM", "->", "add", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "getARMSubtarget", "(", ")", ".", "isCortexA9", "(", ")", ")", "PM", "->", "add", "(", "createMLxExpansionPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine62", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11621, "Length": 67} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "{", "PM", "->", "add", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "printAndVerify", "(", "\"After ARM load / store optimizer\"", ")", ";", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", ")", "PM", "->", "add", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "PM", "->", "add", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "addPass", "(", "IfConverterID", ")", ";", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "PM", "->", "add", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"After ARM load / store optimizer\"", "ARM", "ARM::DPRRegClass", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine62", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11622, "Length": 129} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "createUnpackMachineBundles", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", ";", "}", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "addPass", "(", "createARMALFWriterPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine66", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11623, "Length": 77} {"ground_truth": ["", "const", "ARMSubtarget", "*", "ARMBaseTargetMachine", "::", "getSubtargetImpl", "(", "const", "Function", "&", "F", ")", "const", "{", "Attribute", "CPUAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-cpu\"", ")", ";", "Attribute", "FSAttr", "=", "F", ".", "getFnAttribute", "(", "\"target-features\"", ")", ";", "std", "::", "string", "CPU", "=", "!", "CPUAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "CPUAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetCPU", ";", "std", "::", "string", "FS", "=", "!", "FSAttr", ".", "hasAttribute", "(", "Attribute", "::", "None", ")", "?", "FSAttr", ".", "getValueAsString", "(", ")", ".", "str", "(", ")", ":", "TargetFS", ";", "bool", "SoftFloat", "=", "F", ".", "getFnAttribute", "(", "\"use-soft-float\"", ")", ".", "getValueAsString", "(", ")", "==", "\"true\"", ";", "if", "(", "SoftFloat", ")", "FS", "+=", "FS", ".", "empty", "(", ")", "?", "\"+soft-float\"", ":", "\",+soft-float\"", ";", "auto", "&", "I", "=", "SubtargetMap", "[", "CPU", "+", "FS", "]", ";", "if", "(", "!", "I", ")", "{", "resetTargetOptions", "(", "F", ")", ";", "I", "=", "llvm", "::", "make_unique", "<", "ARMSubtarget", ">", "(", "TargetTriple", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ";", "GISelAccessor", "*", "GISel", "=", "new", "GISelAccessor", "(", ")", ";", "ARMGISelActualAccessor", "*", "GISel", "=", "new", "ARMGISelActualAccessor", "(", ")", ";", "GISel", "->", "CallLoweringInfo", ".", "reset", "(", "new", "ARMCallLowering", "(", "*", "I", "->", "getTargetLowering", "(", ")", ")", ")", ";", "GISel", "->", "Legalizer", ".", "reset", "(", "new", "ARMLegalizerInfo", "(", ")", ")", ";", "auto", "*", "RBI", "=", "new", "ARMRegisterBankInfo", "(", "*", "I", "->", "getRegisterInfo", "(", ")", ")", ";", "GISel", "->", "InstSelector", ".", "reset", "(", "new", "ARMInstructionSelector", "(", "*", "I", ",", "*", "RBI", ")", ")", ";", "GISel", "->", "RegBankInfo", ".", "reset", "(", "RBI", ")", ";", "I", "->", "setGISelAccessor", "(", "*", "GISel", ")", ";", "}", "return", "I", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"target-cpu\"", "\"target-features\"", "\"use-soft-float\"", "\"true\"", "\"+soft-float\"", "\",+soft-float\"", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine66", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11624, "Length": 269} {"ground_truth": ["", "bool", "ARMTargetMachine", "::", "addInstSelector", "(", "PassManagerBase", "&", "PM", ",", "bool", "Fast", ")", "{", "PM", ".", "add", "(", "createARMISelDag", "(", "*", "this", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["addInstSelector", "-", "This", "method", "should", "install", "an", "instruction", "selector", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine68", "Func": "addInstSelector", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11625, "Length": 28} {"ground_truth": ["", "bool", "ARMTargetMachine", "::", "addPreEmitPass", "(", "PassManagerBase", "&", "PM", ",", "bool", "Fast", ")", "{", "if", "(", "!", "Fast", "&&", "!", "DisableLdStOpti", "&&", "!", "Subtarget", ".", "isThumb", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "if", "(", "!", "Fast", "&&", "!", "DisableIfConversion", "&&", "!", "Subtarget", ".", "isThumb", "(", ")", ")", "PM", ".", "add", "(", "createIfConverterPass", "(", ")", ")", ";", "PM", ".", "add", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine68", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11626, "Length": 74} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Optional", "<", "Reloc", "::", "Model", ">", "RM", ",", "Optional", "<", "CodeModel", "::", "Model", ">", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "getEffectiveRelocModel", "(", "TT", ",", "RM", ")", ",", "getEffectiveCodeModel", "(", "CM", ")", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "{", "if", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "EABIHF", "||", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetABI", "==", "ARMBaseTargetMachine", "::", "ARM_ABI_AAPCS16", ")", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Hard", ";", "else", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", ")", "&&", "!", "(", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetTriple", ".", "isOSDarwin", "(", ")", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "if", "(", "TT", ".", "isOSBinFormatMachO", "(", ")", ")", "{", "this", "->", "Options", ".", "TrapUnreachable", "=", "true", ";", "this", "->", "Options", ".", "NoTrapAfterNoreturn", "=", "true", ";", "}", "initAsmInfo", "(", ")", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine70", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11627, "Length": 323} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "addPass", "(", "&", "UnpackMachineBundlesID", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine72", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11628, "Length": 55} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "RM", ",", "CM", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "Triple", "(", "TT", ")", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "Triple", "(", "getTargetTriple", "(", ")", ")", ")", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ",", "*", "this", ",", "isLittle", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "this", "->", "Options", ".", "FloatABIType", "=", "Subtarget", ".", "isTargetHardFloat", "(", ")", "?", "FloatABI", "::", "Hard", ":", "FloatABI", "::", "Soft", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine73", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11629, "Length": 139} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreEmitPass", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createIfConverterPass", "(", ")", ")", ";", "}", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", ")", "{", "PM", ".", "add", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "PM", ".", "add", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "}", "PM", ".", "add", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine7", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11630, "Length": 84} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreSched2", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "if", "(", "Subtarget", ".", "hasNEON", "(", ")", ")", "PM", ".", "add", "(", "createNEONMoveFixPass", "(", ")", ")", ";", "}", "PM", ".", "add", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine7", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11631, "Length": 73} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "{", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "printAndVerify", "(", "\"After ARM load / store optimizer\"", ")", ";", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "hasNEON", "(", ")", ")", "addPass", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isThumb1Only", "(", ")", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "hasV8Ops", "(", ")", "&&", "!", "getARMSubtarget", "(", ")", ".", "prefers32BitThumb", "(", ")", ")", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "&", "IfConverterID", ")", ";", "}", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\"After ARM load / store optimizer\"", "ARM", "ARM::DPRRegClass", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine84", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11632, "Length": 150} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreISel", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", ")", "PM", ".", "add", "(", "createARMGlobalMergePass", "(", "getTargetLowering", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine87", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11633, "Length": 41} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreRegAlloc", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", "true", ")", ")", ";", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "Subtarget", ".", "isCortexA9", "(", ")", ")", "PM", ".", "add", "(", "createMLxExpansionPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "register", "allocation", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine87", "Func": "addPreRegAlloc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11634, "Length": 67} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreSched2", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "if", "(", "Subtarget", ".", "hasNEON", "(", ")", ")", "PM", ".", "add", "(", "createExecutionDependencyFixPass", "(", "&", "ARM", "::", "DPRRegClass", ")", ")", ";", "}", "PM", ".", "add", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createIfConverterPass", "(", ")", ")", ";", "}", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", ")", "PM", ".", "add", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::DPRRegClass", "ARM"], "File": "ARMTargetMachine87", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11635, "Length": 122} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ")", ":", "LLVMTargetMachine", "(", "T", ",", "TT", ",", "CPU", ",", "FS", ",", "RM", ",", "CM", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "JITInfo", "(", ")", ",", "InstrItins", "(", "Subtarget", ".", "getInstrItineraryData", "(", ")", ")", "{", "if", "(", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine87", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11636, "Length": 81} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "prefers32BitThumb", "(", ")", ")", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "&", "UnpackMachineBundlesID", ")", ";", "}", "if", "(", "getARMSubtarget", "(", ")", ".", "useConstIslands", "(", ")", ")", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "if", "(", "getARMSubtarget", "(", ")", ".", "isTargetNaCl", "(", ")", ")", "{", "addPass", "(", "createARMNaClRewritePass", "(", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine88", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11637, "Length": 83} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", "&&", "!", "getARMSubtarget", "(", ")", ".", "isTargetNaCl", "(", ")", ")", "addPass", "(", "createGlobalMergePass", "(", "TM", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine88", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11638, "Length": 42} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreEmitPass", "(", "PassManagerBase", "&", "PM", ")", "{", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", "&&", "!", "Subtarget", ".", "prefers32BitThumb", "(", ")", ")", "PM", ".", "add", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "PM", ".", "add", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine89", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11639, "Length": 47} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "Reloc", "::", "Model", "RM", ",", "CodeModel", "::", "Model", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ")", ":", "LLVMTargetMachine", "(", "T", ",", "TT", ",", "CPU", ",", "FS", ",", "RM", ",", "CM", ",", "OL", ")", ",", "Subtarget", "(", "TT", ",", "CPU", ",", "FS", ")", ",", "JITInfo", "(", ")", ",", "InstrItins", "(", "Subtarget", ".", "getInstrItineraryData", "(", ")", ")", "{", "if", "(", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine89", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11640, "Length": 88} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "isTargetNaCl", "(", ")", ")", "addPass", "(", "createInsertDivideCheckPass", "(", ")", ")", ";", "if", "(", "TM", "->", "Options", ".", "ThreadModel", "==", "ThreadModel", "::", "Single", ")", "addPass", "(", "createLowerAtomicPass", "(", ")", ")", ";", "else", "addPass", "(", "createAtomicExpandPass", "(", "TM", ")", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "getARMSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "hasAnyDataBarrier", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine90", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11641, "Length": 105} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "addPass", "(", "&", "UnpackMachineBundlesID", ")", ";", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "if", "(", "getARMSubtarget", "(", ")", ".", "useConstIslands", "(", ")", ")", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "if", "(", "getARMSubtarget", "(", ")", ".", "isTargetNaCl", "(", ")", ")", "{", "addPass", "(", "createARMNaClRewritePass", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine90", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11642, "Length": 74} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isTargetNaCl", "(", ")", "&&", "(", "(", "TM", "->", "getOptLevel", "(", ")", "==", "CodeGenOpt", "::", "Aggressive", "&&", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", "||", "EnableGlobalMerge", "==", "cl", "::", "BOU_TRUE", ")", ")", "addPass", "(", "createGlobalMergePass", "(", "TM", ",", "127", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "ARM", "127"], "File": "ARMTargetMachine90", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11643, "Length": 58} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreEmitPass", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createIfConverterPass", "(", ")", ")", ";", "if", "(", "Subtarget", ".", "hasNEON", "(", ")", ")", "PM", ".", "add", "(", "createNEONMoveFixPass", "(", ")", ")", ";", "}", "if", "(", "Subtarget", ".", "isThumb2", "(", ")", ")", "{", "PM", ".", "add", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "PM", ".", "add", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "}", "PM", ".", "add", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine91", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11644, "Length": 101} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreSched2", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "!", "Subtarget", ".", "isThumb1Only", "(", ")", ")", "PM", ".", "add", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "PM", ".", "add", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine91", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11645, "Length": 52} {"ground_truth": ["", "static", "const", "MCAsmInfo", "*", "createMCAsmInfo", "(", "const", "Target", "&", "T", ",", "StringRef", "TT", ")", "{", "Triple", "TheTriple", "(", "TT", ")", ";", "switch", "(", "TheTriple", ".", "getOS", "(", ")", ")", "{", "case", "Triple", "::", "Darwin", ":", "return", "new", "ARMMCAsmInfoDarwin", "(", ")", ";", "default", ":", "return", "new", "ARMELFMCAsmInfo", "(", ")", ";", "}", "}", ""], "natrual_language": ["createMCAsmInfo", "-", "Create", "a", "MCAsmInfo", "implementation", "for", "the", "specified", "target", "triple", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine91", "Func": "createMCAsmInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11646, "Length": 51} {"ground_truth": ["", "bool", "ARMBaseTargetMachine", "::", "addPreISel", "(", "PassManagerBase", "&", "PM", ",", "CodeGenOpt", "::", "Level", "OptLevel", ")", "{", "if", "(", "OptLevel", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", ")", "PM", ".", "add", "(", "createGlobalMergePass", "(", "getTargetLowering", "(", ")", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine94", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11647, "Length": 41} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "isTargetNaCl", "(", ")", ")", "addPass", "(", "createInsertDivideCheckPass", "(", ")", ")", ";", "addPass", "(", "createAtomicExpandLoadLinkedPass", "(", "TM", ")", ")", ";", "const", "ARMSubtarget", "*", "Subtarget", "=", "&", "getARMSubtarget", "(", ")", ";", "if", "(", "Subtarget", "->", "hasAnyDataBarrier", "(", ")", "&&", "!", "Subtarget", "->", "isThumb1Only", "(", ")", ")", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine97", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11648, "Length": 85} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "if", "(", "getARMSubtarget", "(", ")", ".", "isThumb2", "(", ")", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "prefers32BitThumb", "(", ")", ")", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "&", "UnpackMachineBundlesID", ")", ";", "}", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "if", "(", "getARMSubtarget", "(", ")", ".", "useConstIslands", "(", ")", ")", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "if", "(", "getARMSubtarget", "(", ")", ".", "isTargetNaCl", "(", ")", ")", "{", "addPass", "(", "createARMNaClRewritePass", "(", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine97", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11649, "Length": 90} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "!", "getARMSubtarget", "(", ")", ".", "isTargetNaCl", "(", ")", "&&", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createGlobalMergePass", "(", "TM", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine97", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11650, "Length": 40} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addCodeGenPrepare", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createARMCodeGenPreparePass", "(", ")", ")", ";", "TargetPassConfig", "::", "addCodeGenPrepare", "(", ")", ";", "}", ""], "natrual_language": ["Add", "pass", "to", "prepare", "the", "LLVM", "IR", "for", "code", "generation", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine", "Func": "addCodeGenPrepare", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11651, "Length": 31} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addGlobalInstructionSelect", "(", ")", "{", "addPass", "(", "new", "InstructionSelect", "(", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["This", "method", "should", "install", "a", "(", "global", ")", "instruction", "selector", "pass", ",", "which", "converts", "possibly", "generic", "instructions", "to", "fully", "target-specific", "instructions", ",", "thereby", "constraining", "all", "generic", "virtual", "registers", "to", "register", "classes", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine", "Func": "addGlobalInstructionSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11652, "Length": 19} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addIRPasses", "(", ")", "{", "if", "(", "TM", "->", "Options", ".", "ThreadModel", "==", "ThreadModel", "::", "Single", ")", "addPass", "(", "createLowerAtomicPass", "(", ")", ")", ";", "else", "addPass", "(", "createAtomicExpandPass", "(", ")", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableAtomicTidy", ")", "addPass", "(", "createCFGSimplificationPass", "(", "1", ",", "false", ",", "false", ",", "true", ",", "true", ",", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "const", "auto", "&", "ST", "=", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "return", "ST", ".", "hasAnyDataBarrier", "(", ")", "&&", "!", "ST", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "TargetPassConfig", "::", "addIRPasses", "(", ")", ";", "if", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createInterleavedAccessPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["Add", "common", "target", "configurable", "passes", "that", "perform", "LLVM", "IR", "to", "IR", "transforms", "following", "machine", "independent", "optimization", "."], "TS_V_token": ["ARM", "ARM", "1", "ARM"], "File": "ARMTargetMachine", "Func": "addIRPasses", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11653, "Length": 133} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addIRTranslator", "(", ")", "{", "addPass", "(", "new", "IRTranslator", "(", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["This", "method", "should", "install", "an", "IR", "translator", "pass", ",", "which", "converts", "from", "LLVM", "code", "to", "machine", "instructions", "with", "possibly", "generic", "opcodes", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine", "Func": "addIRTranslator", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11654, "Length": 19} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addLegalizeMachineIR", "(", ")", "{", "addPass", "(", "new", "Legalizer", "(", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["This", "method", "should", "install", "a", "legalize", "pass", ",", "which", "converts", "the", "instruction", "sequence", "into", "one", "that", "can", "be", "selected", "by", "the", "target", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine", "Func": "addLegalizeMachineIR", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11655, "Length": 19} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreEmitPass", "(", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", ")", ")", ";", "addPass", "(", "createUnpackMachineBundles", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb2", "(", ")", ";", "}", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createARMOptimizeBarriersPass", "(", ")", ")", ";", "addPass", "(", "createARMConstantIslandPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "pass", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "immediately", "before", "machine", "code", "is", "emitted", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine", "Func": "addPreEmitPass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11656, "Length": 70} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addPreISel", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "addPass", "(", "createARMParallelDSPPass", "(", ")", ")", ";", "if", "(", "(", "TM", "->", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", "&&", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", "||", "EnableGlobalMerge", "==", "cl", "::", "BOU_TRUE", ")", "{", "bool", "OnlyOptimizeForSize", "=", "(", "TM", "->", "getOptLevel", "(", ")", "<", "CodeGenOpt", "::", "Aggressive", ")", "&&", "(", "EnableGlobalMerge", "==", "cl", "::", "BOU_UNSET", ")", ";", "bool", "MergeExternalByDefault", "=", "!", "TM", "->", "getTargetTriple", "(", ")", ".", "isOSBinFormatMachO", "(", ")", ";", "addPass", "(", "createGlobalMergePass", "(", "TM", ",", "127", ",", "OnlyOptimizeForSize", ",", "MergeExternalByDefault", ")", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["{", "{", "@", "For", "GlobalISel"], "TS_V_token": ["ARM", "ARM", "ARM", "127"], "File": "ARMTargetMachine", "Func": "addPreISel", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11657, "Length": 107} {"ground_truth": ["", "void", "ARMPassConfig", "::", "addPreSched2", "(", ")", "{", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "if", "(", "EnableARMLoadStoreOpt", ")", "addPass", "(", "createARMLoadStoreOptimizationPass", "(", ")", ")", ";", "addPass", "(", "new", "ARMExecutionDomainFix", "(", ")", ")", ";", "addPass", "(", "createBreakFalseDeps", "(", ")", ")", ";", "}", "addPass", "(", "createARMExpandPseudoPass", "(", ")", ")", ";", "if", "(", "getOptLevel", "(", ")", "!=", "CodeGenOpt", "::", "None", ")", "{", "addPass", "(", "createThumb2SizeReductionPass", "(", "[", "this", "]", "(", "const", "Function", "&", "F", ")", "{", "return", "this", "->", "TM", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ".", "restrictIT", "(", ")", ";", "}", ")", ")", ";", "addPass", "(", "createIfConverter", "(", "[", "]", "(", "const", "MachineFunction", "&", "MF", ")", "{", "return", "!", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb1Only", "(", ")", ";", "}", ")", ")", ";", "}", "addPass", "(", "createThumb2ITBlockPass", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "may", "be", "implemented", "by", "targets", "that", "want", "to", "run", "passes", "after", "prolog-epilog", "insertion", "and", "before", "the", "second", "instruction", "scheduling", "pass", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine", "Func": "addPreSched2", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11658, "Length": 139} {"ground_truth": ["", "bool", "ARMPassConfig", "::", "addRegBankSelect", "(", ")", "{", "addPass", "(", "new", "RegBankSelect", "(", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["This", "method", "should", "install", "a", "register", "bank", "selector", "pass", ",", "which", "assigns", "register", "banks", "to", "virtual", "registers", "without", "a", "register", "class", "or", "register", "banks", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine", "Func": "addRegBankSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11659, "Length": 19} {"ground_truth": ["", "ARMBaseTargetMachine", "::", "ARMBaseTargetMachine", "(", "const", "Target", "&", "T", ",", "const", "Triple", "&", "TT", ",", "StringRef", "CPU", ",", "StringRef", "FS", ",", "const", "TargetOptions", "&", "Options", ",", "Optional", "<", "Reloc", "::", "Model", ">", "RM", ",", "Optional", "<", "CodeModel", "::", "Model", ">", "CM", ",", "CodeGenOpt", "::", "Level", "OL", ",", "bool", "isLittle", ")", ":", "LLVMTargetMachine", "(", "T", ",", "computeDataLayout", "(", "TT", ",", "CPU", ",", "Options", ",", "isLittle", ")", ",", "TT", ",", "CPU", ",", "FS", ",", "Options", ",", "getEffectiveRelocModel", "(", "TT", ",", "RM", ")", ",", "getEffectiveCodeModel", "(", "CM", ",", "CodeModel", "::", "Small", ")", ",", "OL", ")", ",", "TargetABI", "(", "computeTargetABI", "(", "TT", ",", "CPU", ",", "Options", ")", ")", ",", "TLOF", "(", "createTLOF", "(", "getTargetTriple", "(", ")", ")", ")", ",", "isLittle", "(", "isLittle", ")", "{", "if", "(", "Options", ".", "FloatABIType", "==", "FloatABI", "::", "Default", ")", "{", "if", "(", "isTargetHardFloat", "(", ")", ")", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Hard", ";", "else", "this", "->", "Options", ".", "FloatABIType", "=", "FloatABI", "::", "Soft", ";", "}", "if", "(", "Options", ".", "EABIVersion", "==", "EABI", "::", "Default", "||", "Options", ".", "EABIVersion", "==", "EABI", "::", "Unknown", ")", "{", "if", "(", "(", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "GNUEABIHF", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABI", "||", "TargetTriple", ".", "getEnvironment", "(", ")", "==", "Triple", "::", "MuslEABIHF", ")", "&&", "!", "(", "TargetTriple", ".", "isOSWindows", "(", ")", "||", "TargetTriple", ".", "isOSDarwin", "(", ")", ")", ")", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "GNU", ";", "else", "this", "->", "Options", ".", "EABIVersion", "=", "EABI", "::", "EABI5", ";", "}", "if", "(", "TT", ".", "isOSBinFormatMachO", "(", ")", ")", "{", "this", "->", "Options", ".", "TrapUnreachable", "=", "true", ";", "this", "->", "Options", ".", "NoTrapAfterNoreturn", "=", "true", ";", "}", "initAsmInfo", "(", ")", ";", "}", ""], "natrual_language": ["Create", "an", "ARM", "architecture", "model", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine", "Func": "ARMBaseTargetMachine", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11660, "Length": 289} {"ground_truth": ["", "ScheduleDAGInstrs", "*", "createMachineScheduler", "(", "MachineSchedContext", "*", "C", ")", "const", "override", "{", "ScheduleDAGMILive", "*", "DAG", "=", "createGenericSchedLive", "(", "C", ")", ";", "const", "ARMSubtarget", "&", "ST", "=", "C", "->", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "ST", ".", "hasFusion", "(", ")", ")", "DAG", "->", "addMutation", "(", "createARMMacroFusionDAGMutation", "(", ")", ")", ";", "return", "DAG", ";", "}", ""], "natrual_language": ["Create", "an", "instance", "of", "ScheduleDAGInstrs", "to", "be", "run", "within", "the", "standard", "MachineScheduler", "pass", "for", "this", "function", "and", "target", "at", "the", "current", "optimization", "level", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine", "Func": "createMachineScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11661, "Length": 57} {"ground_truth": ["", "TargetPassConfig", "*", "ARMBaseTargetMachine", "::", "createPassConfig", "(", "PassManagerBase", "&", "PM", ")", "{", "return", "new", "ARMPassConfig", "(", "*", "this", ",", "PM", ")", ";", "}", ""], "natrual_language": ["Create", "a", "pass", "configuration", "object", "to", "be", "used", "by", "addPassToEmitX", "methods", "for", "generating", "a", "pipeline", "of", "CodeGen", "passes", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine", "Func": "createPassConfig", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11662, "Length": 22} {"ground_truth": ["", "ScheduleDAGInstrs", "*", "createPostMachineScheduler", "(", "MachineSchedContext", "*", "C", ")", "const", "override", "{", "ScheduleDAGMI", "*", "DAG", "=", "createGenericSchedPostRA", "(", "C", ")", ";", "const", "ARMSubtarget", "&", "ST", "=", "C", "->", "MF", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "ST", ".", "hasFusion", "(", ")", ")", "DAG", "->", "addMutation", "(", "createARMMacroFusionDAGMutation", "(", ")", ")", ";", "return", "DAG", ";", "}", ""], "natrual_language": ["Similar", "to", "createMachineScheduler", "but", "used", "when", "postRA", "machine", "scheduling", "is", "enabled", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "ARMTargetMachine", "Func": "createPostMachineScheduler", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11663, "Length": 57} {"ground_truth": ["", "virtual", "const", "ARMBaseInstrInfo", "*", "getInstrInfo", "(", ")", "const", "{", "return", "InstrInfo", ".", "get", "(", ")", ";", "}", ""], "natrual_language": ["TargetInstrInfo", "getter", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine", "Func": "getInstrInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11664, "Length": 17} {"ground_truth": ["", "virtual", "const", "InstrItineraryData", "*", "getInstrItineraryData", "(", ")", "const", "{", "return", "&", "InstrItins", ";", "}", ""], "natrual_language": ["getInstrItineraryData", "-", "Returns", "instruction", "itinerary", "data", "for", "the", "target", "or", "specific", "subtarget", "."], "TS_V_token": ["ARM"], "File": "ARMTargetMachine", "Func": "getInstrItineraryData", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11665, "Length": 14} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM Execution Domain Fix\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM Execution Domain Fix\""], "File": "ARMTargetMachine", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11666, "Length": 11} {"ground_truth": ["", "virtual", "const", "ARMBaseRegisterInfo", "*", "getRegisterInfo", "(", ")", "const", "{", "return", "&", "InstrInfo", "->", "getRegisterInfo", "(", ")", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11667, "Length": 18} {"ground_truth": ["", "virtual", "const", "ARMSubtarget", "*", "getSubtargetImpl", "(", ")", "const", "{", "return", "&", "Subtarget", ";", "}", ""], "natrual_language": ["Virtual", "method", "implemented", "by", "subclasses", "that", "returns", "a", "reference", "to", "that", "target", "'s", "TargetSubtargetInfo-derived", "member", "variable", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetMachine", "Func": "getSubtargetImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11668, "Length": 14} {"ground_truth": ["", "TargetTransformInfo", "ARMBaseTargetMachine", "::", "getTargetTransformInfo", "(", "const", "Function", "&", "F", ")", "{", "return", "TargetTransformInfo", "(", "ARMTTIImpl", "(", "this", ",", "F", ")", ")", ";", "}", ""], "natrual_language": ["Get", "a", "TargetTransformInfo", "implementation", "for", "the", "target", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetMachine", "Func": "getTargetTransformInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11669, "Length": 23} {"ground_truth": ["", "MCSection", "*", "ARMElfTargetObjectFile", "::", "getExplicitSectionGlobal", "(", "const", "GlobalObject", "*", "GO", ",", "SectionKind", "SK", ",", "const", "TargetMachine", "&", "TM", ")", "const", "{", "if", "(", "isExecuteOnlyFunction", "(", "GO", ",", "SK", ",", "TM", ")", ")", "SK", "=", "SectionKind", "::", "getExecuteOnly", "(", ")", ";", "return", "TargetLoweringObjectFileELF", "::", "getExplicitSectionGlobal", "(", "GO", ",", "SK", ",", "TM", ")", ";", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "method", "to", "assign", "a", "section", "to", "globals", "with", "an", "explicit", "section", "specfied", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetObjectFile (2)1", "Func": "getExplicitSectionGlobal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11670, "Length": 53} {"ground_truth": ["", "const", "MCExpr", "*", "ARMElfTargetObjectFile", "::", "getTTypeGlobalReference", "(", "const", "GlobalValue", "*", "GV", ",", "unsigned", "Encoding", ",", "const", "TargetMachine", "&", "TM", ",", "MachineModuleInfo", "*", "MMI", ",", "MCStreamer", "&", "Streamer", ")", "const", "{", "if", "(", "TM", ".", "getMCAsmInfo", "(", ")", "->", "getExceptionHandlingType", "(", ")", "!=", "ExceptionHandling", "::", "ARM", ")", "return", "TargetLoweringObjectFileELF", "::", "getTTypeGlobalReference", "(", "GV", ",", "Encoding", ",", "TM", ",", "MMI", ",", "Streamer", ")", ";", "assert", "(", "Encoding", "==", "DW_EH_PE_absptr", "&&", "\"Can handle absptr encoding only\"", ")", ";", "return", "MCSymbolRefExpr", "::", "create", "(", "TM", ".", "getSymbol", "(", "GV", ")", ",", "MCSymbolRefExpr", "::", "VK_ARM_TARGET2", ",", "getContext", "(", ")", ")", ";", "}", ""], "natrual_language": ["The", "mach-o", "version", "of", "this", "method", "defaults", "to", "returning", "a", "stub", "reference", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"Can handle absptr encoding only\"", "ARM"], "File": "ARMTargetObjectFile (2)1", "Func": "getTTypeGlobalReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11671, "Length": 93} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "const", "ARMBaseTargetMachine", "&", "ARM_TM", "=", "static_cast", "<", "const", "ARMBaseTargetMachine", "&", ">", "(", "TM", ")", ";", "bool", "isAAPCS_ABI", "=", "ARM_TM", ".", "TargetABI", "==", "ARMBaseTargetMachine", "::", "ARMABI", "::", "ARM_ABI_AAPCS", ";", "bool", "genExecuteOnly", "=", "ARM_TM", ".", "getMCSubtargetInfo", "(", ")", "->", "hasFeature", "(", "ARM", "::", "FeatureExecuteOnly", ")", ";", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "InitializeELF", "(", "isAAPCS_ABI", ")", ";", "if", "(", "isAAPCS_ABI", ")", "{", "LSDASection", "=", "nullptr", ";", "}", "if", "(", "genExecuteOnly", ")", "{", "unsigned", "Type", "=", "ELF", "::", "SHT_PROGBITS", ";", "unsigned", "Flags", "=", "ELF", "::", "SHF_EXECINSTR", "|", "ELF", "::", "SHF_ALLOC", "|", "ELF", "::", "SHF_ARM_PURECODE", ";", "TextSection", "=", "Ctx", ".", "getELFSection", "(", "\".text\"", ",", "Type", ",", "Flags", ",", "0", ",", "\"\"", ",", "0U", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARMABI::ARM_ABI_AAPCS", "ARM", "ARM::FeatureExecuteOnly", "ARM", "\".text\"", "0", "\"\"", "0U"], "File": "ARMTargetObjectFile (2)1", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11672, "Length": 131} {"ground_truth": ["", "const", "MCExpr", "*", "ARMElfTargetObjectFile", "::", "getDebugThreadLocalSymbol", "(", "const", "MCSymbol", "*", "Sym", ")", "const", "{", "return", "MCSymbolRefExpr", "::", "create", "(", "Sym", ",", "MCSymbolRefExpr", "::", "VK_ARM_TLSLDO", ",", "getContext", "(", ")", ")", ";", "}", ""], "natrual_language": ["Describe", "a", "TLS", "variable", "address", "within", "debug", "info", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetObjectFile (2)", "Func": "getDebugThreadLocalSymbol", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11673, "Length": 31} {"ground_truth": ["", "const", "MCExpr", "*", "ARMElfTargetObjectFile", "::", "getTTypeGlobalReference", "(", "const", "GlobalValue", "*", "GV", ",", "unsigned", "Encoding", ",", "Mangler", "&", "Mang", ",", "const", "TargetMachine", "&", "TM", ",", "MachineModuleInfo", "*", "MMI", ",", "MCStreamer", "&", "Streamer", ")", "const", "{", "if", "(", "TM", ".", "getMCAsmInfo", "(", ")", "->", "getExceptionHandlingType", "(", ")", "!=", "ExceptionHandling", "::", "ARM", ")", "return", "TargetLoweringObjectFileELF", "::", "getTTypeGlobalReference", "(", "GV", ",", "Encoding", ",", "Mang", ",", "TM", ",", "MMI", ",", "Streamer", ")", ";", "assert", "(", "Encoding", "==", "DW_EH_PE_absptr", "&&", "\"Can handle absptr encoding only\"", ")", ";", "return", "MCSymbolRefExpr", "::", "create", "(", "TM", ".", "getSymbol", "(", "GV", ",", "Mang", ")", ",", "MCSymbolRefExpr", "::", "VK_ARM_TARGET2", ",", "getContext", "(", ")", ")", ";", "}", ""], "natrual_language": ["The", "mach-o", "version", "of", "this", "method", "defaults", "to", "returning", "a", "stub", "reference", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"Can handle absptr encoding only\"", "ARM"], "File": "ARMTargetObjectFile (2)", "Func": "getTTypeGlobalReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11674, "Length": 101} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "bool", "isAAPCS_ABI", "=", "static_cast", "<", "const", "ARMTargetMachine", "&", ">", "(", "TM", ")", ".", "TargetABI", "==", "ARMTargetMachine", "::", "ARMABI", "::", "ARM_ABI_AAPCS", ";", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "InitializeELF", "(", "isAAPCS_ABI", ")", ";", "if", "(", "isAAPCS_ABI", ")", "{", "LSDASection", "=", "nullptr", ";", "}", "AttributesSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".ARM.attributes\"", ",", "ELF", "::", "SHT_ARM_ATTRIBUTES", ",", "0", ")", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARMABI::ARM_ABI_AAPCS", "\".ARM.attributes\"", "ARM", "0"], "File": "ARMTargetObjectFile (2)", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11675, "Length": 78} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "if", "(", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isAAPCS_ABI", "(", ")", ")", "{", "StaticCtorSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".init_array\"", ",", "MCSectionELF", "::", "SHT_INIT_ARRAY", ",", "MCSectionELF", "::", "SHF_WRITE", "|", "MCSectionELF", "::", "SHF_ALLOC", ",", "SectionKind", "::", "getDataRel", "(", ")", ")", ";", "StaticDtorSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".fini_array\"", ",", "MCSectionELF", "::", "SHT_FINI_ARRAY", ",", "MCSectionELF", "::", "SHF_WRITE", "|", "MCSectionELF", "::", "SHF_ALLOC", ",", "SectionKind", "::", "getDataRel", "(", ")", ")", ";", "}", "AttributesSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".ARM.attributes\"", ",", "MCSectionELF", "::", "SHT_ARM_ATTRIBUTES", ",", "0", ",", "SectionKind", "::", "getMetadata", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\".init_array\"", "\".fini_array\"", "\".ARM.attributes\"", "ARM", "0"], "File": "ARMTargetObjectFile10", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11676, "Length": 123} {"ground_truth": ["", "const", "MCExpr", "*", "ARMElfTargetObjectFile", "::", "getIndirectSymViaRWPI", "(", "const", "MCSymbol", "*", "Sym", ")", "const", "{", "return", "MCSymbolRefExpr", "::", "create", "(", "Sym", ",", "MCSymbolRefExpr", "::", "VK_ARM_SBREL", ",", "getContext", "(", ")", ")", ";", "}", ""], "natrual_language": ["Get", "the", "target", "specific", "RWPI", "relocation", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetObjectFile11", "Func": "getIndirectSymViaRWPI", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11677, "Length": 31} {"ground_truth": ["", "MCRegister", "ARMElfTargetObjectFile", "::", "getStaticBase", "(", ")", "const", "{", "return", "ARM", "::", "R9", ";", "}", ""], "natrual_language": ["Returns", "the", "register", "used", "as", "static", "base", "in", "RWPI", "variants", "."], "TS_V_token": ["ARM", "ARM", "ARM::R9"], "File": "ARMTargetObjectFile11", "Func": "getStaticBase", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11678, "Length": 14} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "const", "ARMBaseTargetMachine", "&", "ARM_TM", "=", "static_cast", "<", "const", "ARMBaseTargetMachine", "&", ">", "(", "TM", ")", ";", "bool", "isAAPCS_ABI", "=", "ARM_TM", ".", "TargetABI", "==", "ARMBaseTargetMachine", "::", "ARMABI", "::", "ARM_ABI_AAPCS", ";", "bool", "genExecuteOnly", "=", "ARM_TM", ".", "getMCSubtargetInfo", "(", ")", "->", "hasFeature", "(", "ARM", "::", "FeatureExecuteOnly", ")", ";", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "InitializeELF", "(", "isAAPCS_ABI", ")", ";", "if", "(", "isAAPCS_ABI", ")", "{", "LSDASection", "=", "nullptr", ";", "}", "if", "(", "genExecuteOnly", ")", "{", "unsigned", "Type", "=", "ELF", "::", "SHT_PROGBITS", ";", "unsigned", "Flags", "=", "ELF", "::", "SHF_EXECINSTR", "|", "ELF", "::", "SHF_ALLOC", "|", "ELF", "::", "SHF_ARM_PURECODE", ";", "TextSection", "=", "Ctx", ".", "getELFSection", "(", "\".text\"", ",", "Type", ",", "Flags", ",", "0", ",", "\"\"", ",", "false", ",", "0U", ",", "nullptr", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARMABI::ARM_ABI_AAPCS", "ARM", "ARM::FeatureExecuteOnly", "ARM", "\".text\"", "0", "\"\"", "0U"], "File": "ARMTargetObjectFile11", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11679, "Length": 135} {"ground_truth": ["", "void", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "if", "(", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isAAPCS_ABI", "(", ")", ")", "{", "StaticCtorSection", "=", "getELFSection", "(", "\".init_array\"", ",", "MCSectionELF", "::", "SHT_INIT_ARRAY", ",", "MCSectionELF", "::", "SHF_WRITE", "|", "MCSectionELF", "::", "SHF_ALLOC", ",", "SectionKind", "::", "getDataRel", "(", ")", ")", ";", "StaticDtorSection", "=", "getELFSection", "(", "\".fini_array\"", ",", "MCSectionELF", "::", "SHT_FINI_ARRAY", ",", "MCSectionELF", "::", "SHF_WRITE", "|", "MCSectionELF", "::", "SHF_ALLOC", ",", "SectionKind", "::", "getDataRel", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "\".init_array\"", "\".fini_array\""], "File": "ARMTargetObjectFile12", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11680, "Length": 90} {"ground_truth": ["", "const", "MCExpr", "*", "ARMElfTargetObjectFile", "::", "getTTypeGlobalReference", "(", "const", "GlobalValue", "*", "GV", ",", "Mangler", "*", "Mang", ",", "MachineModuleInfo", "*", "MMI", ",", "unsigned", "Encoding", ",", "MCStreamer", "&", "Streamer", ")", "const", "{", "assert", "(", "Encoding", "==", "DW_EH_PE_absptr", "&&", "\"Can handle absptr encoding only\"", ")", ";", "Triple", "T", "(", "MMI", "->", "getModule", "(", ")", "->", "getTargetTriple", "(", ")", ")", ";", "if", "(", "T", ".", "isOSNaCl", "(", ")", ")", "return", "TargetLoweringObjectFileELF", "::", "getTTypeGlobalReference", "(", "GV", ",", "Mang", ",", "MMI", ",", "Encoding", ",", "Streamer", ")", ";", "return", "MCSymbolRefExpr", "::", "Create", "(", "Mang", "->", "getSymbol", "(", "GV", ")", ",", "MCSymbolRefExpr", "::", "VK_ARM_TARGET2", ",", "getContext", "(", ")", ")", ";", "}", ""], "natrual_language": ["The", "mach-o", "version", "of", "this", "method", "defaults", "to", "returning", "a", "stub", "reference", "."], "TS_V_token": ["ARM", "ARM", "\"Can handle absptr encoding only\"", "ARM"], "File": "ARMTargetObjectFile15", "Func": "getTTypeGlobalReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11681, "Length": 98} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "bool", "isAAPCS_ABI", "=", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isAAPCS_ABI", "(", ")", ";", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "InitializeELF", "(", "isAAPCS_ABI", ")", ";", "if", "(", "isAAPCS_ABI", "&&", "!", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isTargetNaCl", "(", ")", ")", "{", "LSDASection", "=", "NULL", ";", "}", "AttributesSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".ARM.attributes\"", ",", "ELF", "::", "SHT_ARM_ATTRIBUTES", ",", "0", ",", "SectionKind", "::", "getMetadata", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\".ARM.attributes\"", "ARM", "0"], "File": "ARMTargetObjectFile15", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11682, "Length": 93} {"ground_truth": ["", "const", "MCExpr", "*", "ARMElfTargetObjectFile", "::", "getTTypeGlobalReference", "(", "const", "GlobalValue", "*", "GV", ",", "unsigned", "Encoding", ",", "Mangler", "&", "Mang", ",", "const", "TargetMachine", "&", "TM", ",", "MachineModuleInfo", "*", "MMI", ",", "MCStreamer", "&", "Streamer", ")", "const", "{", "assert", "(", "Encoding", "==", "DW_EH_PE_absptr", "&&", "\"Can handle absptr encoding only\"", ")", ";", "return", "MCSymbolRefExpr", "::", "Create", "(", "TM", ".", "getSymbol", "(", "GV", ",", "Mang", ")", ",", "MCSymbolRefExpr", "::", "VK_ARM_TARGET2", ",", "getContext", "(", ")", ")", ";", "}", ""], "natrual_language": ["The", "mach-o", "version", "of", "this", "method", "defaults", "to", "returning", "a", "stub", "reference", "."], "TS_V_token": ["ARM", "ARM", "\"Can handle absptr encoding only\"", "ARM"], "File": "ARMTargetObjectFile16", "Func": "getTTypeGlobalReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11683, "Length": 67} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "const", "ARMBaseTargetMachine", "&", "ARM_TM", "=", "static_cast", "<", "const", "ARMBaseTargetMachine", "&", ">", "(", "TM", ")", ";", "bool", "isAAPCS_ABI", "=", "ARM_TM", ".", "TargetABI", "==", "ARMBaseTargetMachine", "::", "ARMABI", "::", "ARM_ABI_AAPCS", ";", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "InitializeELF", "(", "isAAPCS_ABI", ")", ";", "if", "(", "isAAPCS_ABI", ")", "{", "LSDASection", "=", "nullptr", ";", "}", "AttributesSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".ARM.attributes\"", ",", "ELF", "::", "SHT_ARM_ATTRIBUTES", ",", "0", ")", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARMABI::ARM_ABI_AAPCS", "\".ARM.attributes\"", "ARM", "0"], "File": "ARMTargetObjectFile18", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11684, "Length": 85} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "isAAPCS_ABI", "=", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isAAPCS_ABI", "(", ")", ";", "if", "(", "isAAPCS_ABI", ")", "{", "StaticCtorSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".init_array\"", ",", "ELF", "::", "SHT_INIT_ARRAY", ",", "ELF", "::", "SHF_WRITE", "|", "ELF", "::", "SHF_ALLOC", ",", "SectionKind", "::", "getDataRel", "(", ")", ")", ";", "StaticDtorSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".fini_array\"", ",", "ELF", "::", "SHT_FINI_ARRAY", ",", "ELF", "::", "SHF_WRITE", "|", "ELF", "::", "SHF_ALLOC", ",", "SectionKind", "::", "getDataRel", "(", ")", ")", ";", "LSDASection", "=", "NULL", ";", "}", "AttributesSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".ARM.attributes\"", ",", "ELF", "::", "SHT_ARM_ATTRIBUTES", ",", "0", ",", "SectionKind", "::", "getMetadata", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\".init_array\"", "\".fini_array\"", "\".ARM.attributes\"", "ARM", "0"], "File": "ARMTargetObjectFile19", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11685, "Length": 131} {"ground_truth": ["", "MCSection", "*", "ARMElfTargetObjectFile", "::", "getExplicitSectionGlobal", "(", "const", "GlobalObject", "*", "GO", ",", "SectionKind", "SK", ",", "const", "TargetMachine", "&", "TM", ")", "const", "{", "if", "(", "genExecuteOnly", "&&", "SK", ".", "isText", "(", ")", ")", "SK", "=", "SectionKind", "::", "getExecuteOnly", "(", ")", ";", "return", "TargetLoweringObjectFileELF", "::", "getExplicitSectionGlobal", "(", "GO", ",", "SK", ",", "TM", ")", ";", "}", ""], "natrual_language": ["Targets", "should", "implement", "this", "method", "to", "assign", "a", "section", "to", "globals", "with", "an", "explicit", "section", "specfied", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetObjectFile1", "Func": "getExplicitSectionGlobal", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11686, "Length": 52} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "const", "ARMBaseTargetMachine", "&", "ARM_TM", "=", "static_cast", "<", "const", "ARMBaseTargetMachine", "&", ">", "(", "TM", ")", ";", "bool", "isAAPCS_ABI", "=", "ARM_TM", ".", "TargetABI", "==", "ARMBaseTargetMachine", "::", "ARMABI", "::", "ARM_ABI_AAPCS", ";", "genExecuteOnly", "=", "ARM_TM", ".", "getSubtargetImpl", "(", ")", "->", "genExecuteOnly", "(", ")", ";", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "InitializeELF", "(", "isAAPCS_ABI", ")", ";", "if", "(", "isAAPCS_ABI", ")", "{", "LSDASection", "=", "nullptr", ";", "}", "AttributesSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".ARM.attributes\"", ",", "ELF", "::", "SHT_ARM_ATTRIBUTES", ",", "0", ")", ";", "if", "(", "genExecuteOnly", ")", "{", "unsigned", "Type", "=", "ELF", "::", "SHT_PROGBITS", ";", "unsigned", "Flags", "=", "ELF", "::", "SHF_EXECINSTR", "|", "ELF", "::", "SHF_ALLOC", "|", "ELF", "::", "SHF_ARM_PURECODE", ";", "TextSection", "=", "Ctx", ".", "getELFSection", "(", "\".text\"", ",", "Type", ",", "Flags", ",", "0", ",", "\"\"", ",", "0U", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARMABI::ARM_ABI_AAPCS", "ARM", "\".ARM.attributes\"", "ARM", "0", "ARM", "\".text\"", "0", "\"\"", "0U"], "File": "ARMTargetObjectFile1", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11687, "Length": 144} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "const", "ARMTargetMachine", "&", "ARM_TM", "=", "static_cast", "<", "const", "ARMTargetMachine", "&", ">", "(", "TM", ")", ";", "bool", "isAAPCS_ABI", "=", "ARM_TM", ".", "TargetABI", "==", "ARMTargetMachine", "::", "ARMABI", "::", "ARM_ABI_AAPCS", ";", "genExecuteOnly", "=", "ARM_TM", ".", "getSubtargetImpl", "(", ")", "->", "genExecuteOnly", "(", ")", ";", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "InitializeELF", "(", "isAAPCS_ABI", ")", ";", "if", "(", "isAAPCS_ABI", ")", "{", "LSDASection", "=", "nullptr", ";", "}", "AttributesSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".ARM.attributes\"", ",", "ELF", "::", "SHT_ARM_ATTRIBUTES", ",", "0", ")", ";", "if", "(", "genExecuteOnly", ")", "{", "unsigned", "Type", "=", "ELF", "::", "SHT_PROGBITS", ";", "unsigned", "Flags", "=", "ELF", "::", "SHF_EXECINSTR", "|", "ELF", "::", "SHF_ALLOC", "|", "ELF", "::", "SHF_ARM_PURECODE", ";", "TextSection", "=", "Ctx", ".", "getELFSection", "(", "\".text\"", ",", "Type", ",", "Flags", ",", "0", ",", "\"\"", ",", "0U", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARMABI::ARM_ABI_AAPCS", "ARM", "\".ARM.attributes\"", "ARM", "0", "ARM", "\".text\"", "0", "\"\"", "0U"], "File": "ARMTargetObjectFile25", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11688, "Length": 144} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "bool", "isAAPCS_ABI", "=", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isAAPCS_ABI", "(", ")", ";", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "InitializeELF", "(", "isAAPCS_ABI", ")", ";", "if", "(", "isAAPCS_ABI", ")", "{", "LSDASection", "=", "NULL", ";", "}", "AttributesSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".ARM.attributes\"", ",", "ELF", "::", "SHT_ARM_ATTRIBUTES", ",", "0", ",", "SectionKind", "::", "getMetadata", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\".ARM.attributes\"", "ARM", "0"], "File": "ARMTargetObjectFile27", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11689, "Length": 79} {"ground_truth": ["", "const", "MCExpr", "*", "ARMElfTargetObjectFile", "::", "getTTypeGlobalReference", "(", "const", "GlobalValue", "*", "GV", ",", "Mangler", "*", "Mang", ",", "MachineModuleInfo", "*", "MMI", ",", "unsigned", "Encoding", ",", "MCStreamer", "&", "Streamer", ")", "const", "{", "assert", "(", "Encoding", "==", "DW_EH_PE_absptr", "&&", "\"Can handle absptr encoding only\"", ")", ";", "return", "MCSymbolRefExpr", "::", "Create", "(", "Mang", "->", "getSymbol", "(", "GV", ")", ",", "MCSymbolRefExpr", "::", "VK_ARM_TARGET2", ",", "getContext", "(", ")", ")", ";", "}", ""], "natrual_language": ["The", "mach-o", "version", "of", "this", "method", "defaults", "to", "returning", "a", "stub", "reference", "."], "TS_V_token": ["ARM", "ARM", "\"Can handle absptr encoding only\"", "ARM"], "File": "ARMTargetObjectFile29", "Func": "getTTypeGlobalReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11690, "Length": 60} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "if", "(", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isAAPCS_ABI", "(", ")", ")", "{", "StaticCtorSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".init_array\"", ",", "MCSectionELF", "::", "SHT_INIT_ARRAY", ",", "MCSectionELF", "::", "SHF_WRITE", "|", "MCSectionELF", "::", "SHF_ALLOC", ",", "SectionKind", "::", "getDataRel", "(", ")", ")", ";", "StaticDtorSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".fini_array\"", ",", "MCSectionELF", "::", "SHT_FINI_ARRAY", ",", "MCSectionELF", "::", "SHF_WRITE", "|", "MCSectionELF", "::", "SHF_ALLOC", ",", "SectionKind", "::", "getDataRel", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\".init_array\"", "\".fini_array\""], "File": "ARMTargetObjectFile2", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11691, "Length": 100} {"ground_truth": ["", "const", "MCExpr", "*", "ARMElfTargetObjectFile", "::", "getTTypeGlobalReference", "(", "const", "GlobalValue", "*", "GV", ",", "Mangler", "*", "Mang", ",", "MachineModuleInfo", "*", "MMI", ",", "unsigned", "Encoding", ",", "MCStreamer", "&", "Streamer", ")", "const", "{", "assert", "(", "Encoding", "==", "DW_EH_PE_absptr", "&&", "\"Can handle absptr encoding only\"", ")", ";", "Triple", "T", "(", "MMI", "->", "getModule", "(", ")", "->", "getTargetTriple", "(", ")", ")", ";", "if", "(", "T", ".", "isOSNaCl", "(", ")", ")", "return", "TargetLoweringObjectFileELF", "::", "getTTypeGlobalReference", "(", "GV", ",", "Mang", ",", "MMI", ",", "Encoding", ",", "Streamer", ")", ";", "return", "MCSymbolRefExpr", "::", "Create", "(", "getSymbol", "(", "*", "Mang", ",", "GV", ")", ",", "MCSymbolRefExpr", "::", "VK_ARM_TARGET2", ",", "getContext", "(", ")", ")", ";", "}", ""], "natrual_language": ["The", "mach-o", "version", "of", "this", "method", "defaults", "to", "returning", "a", "stub", "reference", "."], "TS_V_token": ["ARM", "ARM", "\"Can handle absptr encoding only\"", "ARM"], "File": "ARMTargetObjectFile31", "Func": "getTTypeGlobalReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11692, "Length": 99} {"ground_truth": ["", "const", "MCExpr", "*", "ARMElfTargetObjectFile", "::", "getTTypeGlobalReference", "(", "const", "GlobalValue", "*", "GV", ",", "unsigned", "Encoding", ",", "Mangler", "&", "Mang", ",", "const", "TargetMachine", "&", "TM", ",", "MachineModuleInfo", "*", "MMI", ",", "MCStreamer", "&", "Streamer", ")", "const", "{", "if", "(", "TM", ".", "getMCAsmInfo", "(", ")", "->", "getExceptionHandlingType", "(", ")", "!=", "ExceptionHandling", "::", "ARM", ")", "return", "TargetLoweringObjectFileELF", "::", "getTTypeGlobalReference", "(", "GV", ",", "Encoding", ",", "Mang", ",", "TM", ",", "MMI", ",", "Streamer", ")", ";", "assert", "(", "Encoding", "==", "DW_EH_PE_absptr", "&&", "\"Can handle absptr encoding only\"", ")", ";", "Triple", "T", "(", "MMI", "->", "getModule", "(", ")", "->", "getTargetTriple", "(", ")", ")", ";", "if", "(", "T", ".", "isOSNaCl", "(", ")", ")", "return", "TargetLoweringObjectFileELF", "::", "getTTypeGlobalReference", "(", "GV", ",", "Encoding", ",", "Mang", ",", "TM", ",", "MMI", ",", "Streamer", ")", ";", "return", "MCSymbolRefExpr", "::", "Create", "(", "TM", ".", "getSymbol", "(", "GV", ",", "Mang", ")", ",", "MCSymbolRefExpr", "::", "VK_ARM_TARGET2", ",", "getContext", "(", ")", ")", ";", "}", ""], "natrual_language": ["The", "mach-o", "version", "of", "this", "method", "defaults", "to", "returning", "a", "stub", "reference", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"Can handle absptr encoding only\"", "ARM"], "File": "ARMTargetObjectFile32", "Func": "getTTypeGlobalReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11693, "Length": 141} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "bool", "isAAPCS_ABI", "=", "static_cast", "<", "const", "ARMTargetMachine", "&", ">", "(", "TM", ")", ".", "TargetABI", "==", "ARMTargetMachine", "::", "ARMABI", "::", "ARM_ABI_AAPCS", ";", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "InitializeELF", "(", "isAAPCS_ABI", ")", ";", "if", "(", "isAAPCS_ABI", "&&", "!", "Triple", "(", "TM", ".", "getTargetTriple", "(", ")", ")", ".", "isOSNaCl", "(", ")", ")", "{", "LSDASection", "=", "nullptr", ";", "}", "AttributesSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".ARM.attributes\"", ",", "ELF", "::", "SHT_ARM_ATTRIBUTES", ",", "0", ")", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARMABI::ARM_ABI_AAPCS", "\".ARM.attributes\"", "ARM", "0"], "File": "ARMTargetObjectFile32", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11694, "Length": 92} {"ground_truth": ["", "void", "ARMMachOTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "TargetLoweringObjectFileMachO", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "LSDASection", "=", "getMachOSection", "(", "\"__TEXT\"", ",", "\"__gcc_except_tab\"", ",", "0", ",", "SectionKind", "::", "getReadOnlyWithRel", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "\"__TEXT\"", "\"__gcc_except_tab\"", "0"], "File": "ARMTargetObjectFile33", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11695, "Length": 42} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "bool", "isAAPCS_ABI", "=", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isAAPCS_ABI", "(", ")", ";", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "InitializeELF", "(", "isAAPCS_ABI", ")", ";", "if", "(", "isAAPCS_ABI", "&&", "!", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isTargetNaCl", "(", ")", ")", "{", "LSDASection", "=", "nullptr", ";", "}", "AttributesSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".ARM.attributes\"", ",", "ELF", "::", "SHT_ARM_ATTRIBUTES", ",", "0", ",", "SectionKind", "::", "getMetadata", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "\".ARM.attributes\"", "ARM", "0"], "File": "ARMTargetObjectFile36", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11696, "Length": 93} {"ground_truth": ["", "const", "MCRegister", "ARMElfTargetObjectFile", "::", "getStaticBase", "(", ")", "const", "{", "return", "ARM", "::", "R9", ";", "}", ""], "natrual_language": ["Returns", "the", "register", "used", "as", "static", "base", "in", "RWPI", "variants", "."], "TS_V_token": ["ARM", "ARM", "ARM::R9"], "File": "ARMTargetObjectFile38", "Func": "getStaticBase", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11697, "Length": 15} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "const", "ARMBaseTargetMachine", "&", "ARM_TM", "=", "static_cast", "<", "const", "ARMBaseTargetMachine", "&", ">", "(", "TM", ")", ";", "bool", "isAAPCS_ABI", "=", "ARM_TM", ".", "TargetABI", "==", "ARMBaseTargetMachine", "::", "ARMABI", "::", "ARM_ABI_AAPCS", ";", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "InitializeELF", "(", "isAAPCS_ABI", ")", ";", "if", "(", "isAAPCS_ABI", ")", "{", "LSDASection", "=", "nullptr", ";", "}", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARM", "ARMABI::ARM_ABI_AAPCS"], "File": "ARMTargetObjectFile5", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11698, "Length": 68} {"ground_truth": ["", "const", "MCExpr", "*", "ARMElfTargetObjectFile", "::", "getDebugThreadLocalSymbol", "(", "const", "MCSymbol", "*", "Sym", ")", "const", "{", "return", "MCSymbolRefExpr", "::", "Create", "(", "Sym", ",", "MCSymbolRefExpr", "::", "VK_ARM_TLSLDO", ",", "getContext", "(", ")", ")", ";", "}", ""], "natrual_language": ["Describe", "a", "TLS", "variable", "address", "within", "debug", "info", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "ARMTargetObjectFile", "Func": "getDebugThreadLocalSymbol", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11699, "Length": 31} {"ground_truth": ["", "const", "MCExpr", "*", "ARMElfTargetObjectFile", "::", "getTTypeGlobalReference", "(", "const", "GlobalValue", "*", "GV", ",", "unsigned", "Encoding", ",", "Mangler", "&", "Mang", ",", "const", "TargetMachine", "&", "TM", ",", "MachineModuleInfo", "*", "MMI", ",", "MCStreamer", "&", "Streamer", ")", "const", "{", "if", "(", "TM", ".", "getMCAsmInfo", "(", ")", "->", "getExceptionHandlingType", "(", ")", "!=", "ExceptionHandling", "::", "ARM", ")", "return", "TargetLoweringObjectFileELF", "::", "getTTypeGlobalReference", "(", "GV", ",", "Encoding", ",", "Mang", ",", "TM", ",", "MMI", ",", "Streamer", ")", ";", "assert", "(", "Encoding", "==", "DW_EH_PE_absptr", "&&", "\"Can handle absptr encoding only\"", ")", ";", "return", "MCSymbolRefExpr", "::", "Create", "(", "TM", ".", "getSymbol", "(", "GV", ",", "Mang", ")", ",", "MCSymbolRefExpr", "::", "VK_ARM_TARGET2", ",", "getContext", "(", ")", ")", ";", "}", ""], "natrual_language": ["The", "mach-o", "version", "of", "this", "method", "defaults", "to", "returning", "a", "stub", "reference", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"Can handle absptr encoding only\"", "ARM"], "File": "ARMTargetObjectFile", "Func": "getTTypeGlobalReference", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11700, "Length": 101} {"ground_truth": ["", "void", "ARMElfTargetObjectFile", "::", "Initialize", "(", "MCContext", "&", "Ctx", ",", "const", "TargetMachine", "&", "TM", ")", "{", "bool", "isAAPCS_ABI", "=", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isAAPCS_ABI", "(", ")", ";", "TargetLoweringObjectFileELF", "::", "Initialize", "(", "Ctx", ",", "TM", ")", ";", "InitializeELF", "(", "isAAPCS_ABI", ")", ";", "if", "(", "isAAPCS_ABI", ")", "{", "LSDASection", "=", "nullptr", ";", "}", "AttributesSection", "=", "getContext", "(", ")", ".", "getELFSection", "(", "\".ARM.attributes\"", ",", "ELF", "::", "SHT_ARM_ATTRIBUTES", ",", "0", ",", "SectionKind", "::", "getMetadata", "(", ")", ")", ";", "}", ""], "natrual_language": ["This", "method", "must", "be", "called", "before", "any", "actual", "lowering", "is", "done", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\".ARM.attributes\"", "ARM", "0"], "File": "ARMTargetObjectFile", "Func": "Initialize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11701, "Length": 79} {"ground_truth": ["", "void", "ARMTargetStreamer", "::", "emitCurrentConstantPool", "(", ")", "{", "ConstantPools", "->", "emitForCurrentSection", "(", "Streamer", ")", ";", "ConstantPools", "->", "clearCacheForCurrentSection", "(", "Streamer", ")", ";", "}", ""], "natrual_language": ["Callback", "used", "to", "implement", "the", ".ltorg", "directive", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetStreamer (2)1", "Func": "emitCurrentConstantPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11702, "Length": 22} {"ground_truth": ["", "void", "ARMTargetStreamer", "::", "emitInst", "(", "uint32_t", "Inst", ",", "char", "Suffix", ")", "{", "unsigned", "Size", ";", "char", "Buffer", "[", "4", "]", ";", "const", "bool", "LittleEndian", "=", "getStreamer", "(", ")", ".", "getContext", "(", ")", ".", "getAsmInfo", "(", ")", "->", "isLittleEndian", "(", ")", ";", "switch", "(", "Suffix", ")", "{", "case", "'\\0'", ":", "Size", "=", "4", ";", "for", "(", "unsigned", "II", "=", "0", ",", "IE", "=", "Size", ";", "II", "!=", "IE", ";", "II", "++", ")", "{", "const", "unsigned", "I", "=", "LittleEndian", "?", "(", "Size", "-", "II", "-", "1", ")", ":", "II", ";", "Buffer", "[", "Size", "-", "II", "-", "1", "]", "=", "uint8_t", "(", "Inst", ">>", "I", "*", "CHAR_BIT", ")", ";", "}", "break", ";", "case", "'n'", ":", "case", "'w'", ":", "Size", "=", "(", "Suffix", "==", "'n'", "?", "2", ":", "4", ")", ";", "for", "(", "unsigned", "II", "=", "0", ",", "IE", "=", "Size", ";", "II", "!=", "IE", ";", "II", "=", "II", "+", "2", ")", "{", "const", "unsigned", "I0", "=", "LittleEndian", "?", "II", "+", "0", ":", "II", "+", "1", ";", "const", "unsigned", "I1", "=", "LittleEndian", "?", "II", "+", "1", ":", "II", "+", "0", ";", "Buffer", "[", "Size", "-", "II", "-", "2", "]", "=", "uint8_t", "(", "Inst", ">>", "I0", "*", "CHAR_BIT", ")", ";", "Buffer", "[", "Size", "-", "II", "-", "1", "]", "=", "uint8_t", "(", "Inst", ">>", "I1", "*", "CHAR_BIT", ")", ";", "}", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Invalid Suffix\"", ")", ";", "}", "getStreamer", "(", ")", ".", "emitBytes", "(", "StringRef", "(", "Buffer", ",", "Size", ")", ")", ";", "}", ""], "natrual_language": ["Callback", "used", "to", "implement", "the", ".inst", "directive", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "1", "1", "2", "4", "0", "2", "0", "1", "1", "0", "2", "1", "\"Invalid Suffix\""], "File": "ARMTargetStreamer (2)1", "Func": "emitInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11703, "Length": 239} {"ground_truth": ["", "void", "ARMTargetStreamer", "::", "reset", "(", ")", "{", "}", ""], "natrual_language": ["Reset", "an", "existing", "scalar", "value", "for", "Def", "and", "a", "given", "Instance", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetStreamer (2)1", "Func": "reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11704, "Length": 8} {"ground_truth": ["", "const", "MCExpr", "*", "ARMTargetStreamer", "::", "addConstantPoolEntry", "(", "const", "MCExpr", "*", "Expr", ",", "SMLoc", "Loc", ")", "{", "return", "ConstantPools", "->", "addEntry", "(", "Streamer", ",", "Expr", ",", "4", ",", "Loc", ")", ";", "}", ""], "natrual_language": ["Add", "a", "new", "entry", "to", "the", "constant", "pool", "for", "the", "current", "section", "and", "return", "an", "MCExpr", "that", "can", "be", "used", "to", "refer", "to", "the", "constant", "pool", "location", "."], "TS_V_token": ["ARM", "ARM", "4"], "File": "ARMTargetStreamer (2)", "Func": "addConstantPoolEntry", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11705, "Length": 31} {"ground_truth": ["", "void", "ARMTargetStreamer", "::", "emitCurrentConstantPool", "(", ")", "{", "ConstantPools", "->", "emitForCurrentSection", "(", "Streamer", ")", ";", "}", ""], "natrual_language": ["Callback", "used", "to", "implement", "the", ".ltorg", "directive", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetStreamer (2)", "Func": "emitCurrentConstantPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11706, "Length": 15} {"ground_truth": ["", "void", "ARMTargetStreamer", "::", "emitInst", "(", "uint32_t", "Inst", ",", "char", "Suffix", ")", "{", "}", ""], "natrual_language": ["Callback", "used", "to", "implement", "the", ".inst", "directive", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetStreamer (2)", "Func": "emitInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11707, "Length": 13} {"ground_truth": ["", "void", "ARMTargetStreamer", "::", "finish", "(", ")", "{", "ConstantPools", "->", "emitAll", "(", "Streamer", ")", ";", "}", ""], "natrual_language": ["finish", "-", "after", "all", "the", "new", "live", "ranges", "have", "been", "created", ",", "compute", "the", "remaining", "live", "range", ",", "and", "rewrite", "instructions", "to", "use", "the", "new", "registers", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetStreamer (2)", "Func": "finish", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11708, "Length": 15} {"ground_truth": ["", "const", "MCExpr", "*", "ARMTargetStreamer", "::", "addConstantPoolEntry", "(", "const", "MCExpr", "*", "Expr", ")", "{", "return", "ConstantPools", "->", "addEntry", "(", "Streamer", ",", "Expr", ")", ";", "}", ""], "natrual_language": ["Add", "a", "new", "entry", "to", "the", "constant", "pool", "for", "the", "current", "section", "and", "return", "an", "MCExpr", "that", "can", "be", "used", "to", "refer", "to", "the", "constant", "pool", "location", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetStreamer10", "Func": "addConstantPoolEntry", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11709, "Length": 24} {"ground_truth": ["", "static", "void", "emitConstantPool", "(", "MCStreamer", "&", "Streamer", ",", "const", "MCSection", "*", "Section", ",", "ConstantPool", "&", "CP", ")", "{", "if", "(", "!", "CP", ".", "empty", "(", ")", ")", "{", "Streamer", ".", "SwitchSection", "(", "Section", ")", ";", "CP", ".", "emitEntries", "(", "Streamer", ")", ";", "}", "}", ""], "natrual_language": ["Print", "to", "the", "current", "output", "stream", "assembly", "representations", "of", "the", "constants", "in", "the", "constant", "pool", "MCP", "."], "TS_V_token": ["ARM"], "File": "ARMTargetStreamer10", "Func": "emitConstantPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11710, "Length": 44} {"ground_truth": ["", "void", "ARMTargetStreamer", "::", "emitInst", "(", "uint32_t", "Inst", ",", "char", "Suffix", ")", "{", "llvm_unreachable", "(", "\"unimplemented\"", ")", ";", "}", ""], "natrual_language": ["Callback", "used", "to", "implement", "the", ".inst", "directive", "."], "TS_V_token": ["ARM", "ARM", "\"unimplemented\""], "File": "ARMTargetStreamer10", "Func": "emitInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11711, "Length": 18} {"ground_truth": ["", "bool", "ConstantPool", "::", "empty", "(", ")", "{", "return", "Entries", ".", "empty", "(", ")", ";", "}", ""], "natrual_language": ["Determine", "whether", "this", "version", "information", "is", "empty", "(", "e.g.", ",", "all", "version", "components", "are", "zero", ")", "."], "TS_V_token": ["ARM"], "File": "ARMTargetStreamer10", "Func": "empty", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11712, "Length": 15} {"ground_truth": ["", "ConstantPool", "*", "AssemblerConstantPools", "::", "getConstantPool", "(", "const", "MCSection", "*", "Section", ")", "{", "ConstantPoolMapTy", "::", "iterator", "CP", "=", "ConstantPools", ".", "find", "(", "Section", ")", ";", "if", "(", "CP", "==", "ConstantPools", ".", "end", "(", ")", ")", "return", "0", ";", "return", "&", "CP", "->", "second", ";", "}", ""], "natrual_language": ["Return", "a", "pseudo", "source", "value", "referencing", "the", "constant", "pool", "."], "TS_V_token": ["ARM", "0"], "File": "ARMTargetStreamer10", "Func": "getConstantPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11713, "Length": 44} {"ground_truth": ["", "void", "ARMTargetStreamer", "::", "emitInst", "(", "uint32_t", "Inst", ",", "char", "Suffix", ")", "{", "unsigned", "Size", ";", "char", "Buffer", "[", "4", "]", ";", "const", "bool", "LittleEndian", "=", "getStreamer", "(", ")", ".", "getContext", "(", ")", ".", "getAsmInfo", "(", ")", "->", "isLittleEndian", "(", ")", ";", "switch", "(", "Suffix", ")", "{", "case", "'\\0'", ":", "Size", "=", "4", ";", "for", "(", "unsigned", "II", "=", "0", ",", "IE", "=", "Size", ";", "II", "!=", "IE", ";", "II", "++", ")", "{", "const", "unsigned", "I", "=", "LittleEndian", "?", "(", "Size", "-", "II", "-", "1", ")", ":", "II", ";", "Buffer", "[", "Size", "-", "II", "-", "1", "]", "=", "uint8_t", "(", "Inst", ">>", "I", "*", "CHAR_BIT", ")", ";", "}", "break", ";", "case", "'n'", ":", "case", "'w'", ":", "Size", "=", "(", "Suffix", "==", "'n'", "?", "2", ":", "4", ")", ";", "for", "(", "unsigned", "II", "=", "0", ",", "IE", "=", "Size", ";", "II", "!=", "IE", ";", "II", "=", "II", "+", "2", ")", "{", "const", "unsigned", "I0", "=", "LittleEndian", "?", "II", "+", "0", ":", "II", "+", "1", ";", "const", "unsigned", "I1", "=", "LittleEndian", "?", "II", "+", "1", ":", "II", "+", "0", ";", "Buffer", "[", "Size", "-", "II", "-", "2", "]", "=", "uint8_t", "(", "Inst", ">>", "I0", "*", "CHAR_BIT", ")", ";", "Buffer", "[", "Size", "-", "II", "-", "1", "]", "=", "uint8_t", "(", "Inst", ">>", "I1", "*", "CHAR_BIT", ")", ";", "}", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Invalid Suffix\"", ")", ";", "}", "getStreamer", "(", ")", ".", "EmitBytes", "(", "StringRef", "(", "Buffer", ",", "Size", ")", ")", ";", "}", ""], "natrual_language": ["Callback", "used", "to", "implement", "the", ".inst", "directive", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "0", "1", "1", "2", "4", "0", "2", "0", "1", "1", "0", "2", "1", "\"Invalid Suffix\""], "File": "ARMTargetStreamer12", "Func": "emitInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11714, "Length": 239} {"ground_truth": ["", "ConstantPool", "*", "AssemblerConstantPools", "::", "getConstantPool", "(", "const", "MCSection", "*", "Section", ")", "{", "ConstantPoolMapTy", "::", "iterator", "CP", "=", "ConstantPools", ".", "find", "(", "Section", ")", ";", "if", "(", "CP", "==", "ConstantPools", ".", "end", "(", ")", ")", "return", "nullptr", ";", "return", "&", "CP", "->", "second", ";", "}", ""], "natrual_language": ["Return", "a", "pseudo", "source", "value", "referencing", "the", "constant", "pool", "."], "TS_V_token": ["ARM"], "File": "ARMTargetStreamer18", "Func": "getConstantPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11715, "Length": 44} {"ground_truth": ["", "const", "MCExpr", "*", "ARMTargetStreamer", "::", "addConstantPoolEntry", "(", "const", "MCExpr", "*", "Expr", ")", "{", "return", "ConstantPools", "->", "addEntry", "(", "Streamer", ",", "Expr", ",", "4", ")", ";", "}", ""], "natrual_language": ["Add", "a", "new", "entry", "to", "the", "constant", "pool", "for", "the", "current", "section", "and", "return", "an", "MCExpr", "that", "can", "be", "used", "to", "refer", "to", "the", "constant", "pool", "location", "."], "TS_V_token": ["ARM", "ARM", "4"], "File": "ARMTargetStreamer20", "Func": "addConstantPoolEntry", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11716, "Length": 26} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "areInlineCompatible", "(", "const", "Function", "*", "Caller", ",", "const", "Function", "*", "Callee", ")", "const", "{", "const", "TargetMachine", "&", "TM", "=", "getTLI", "(", ")", "->", "getTargetMachine", "(", ")", ";", "const", "FeatureBitset", "&", "CallerBits", "=", "TM", ".", "getSubtargetImpl", "(", "*", "Caller", ")", "->", "getFeatureBits", "(", ")", ";", "const", "FeatureBitset", "&", "CalleeBits", "=", "TM", ".", "getSubtargetImpl", "(", "*", "Callee", ")", "->", "getFeatureBits", "(", ")", ";", "bool", "MatchExact", "=", "(", "CallerBits", "&", "~", "InlineFeatureWhitelist", ")", "==", "(", "CalleeBits", "&", "~", "InlineFeatureWhitelist", ")", ";", "bool", "MatchSubset", "=", "(", "(", "CallerBits", "&", "CalleeBits", ")", "&", "InlineFeatureWhitelist", ")", "==", "(", "CalleeBits", "&", "InlineFeatureWhitelist", ")", ";", "return", "MatchExact", "&&", "MatchSubset", ";", "}", ""], "natrual_language": ["Determine", "whether", "a", "callee", "with", "the", "given", "TLI", "can", "be", "inlined", "into", "caller", "with", "this", "TLI", ",", "based", "on", "'nobuiltin", "'", "attributes", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetTransformInfo (2)1", "Func": "areInlineCompatible", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11717, "Length": 106} {"ground_truth": ["", "bool", "enableInterleavedAccessVectorization", "(", ")", "{", "return", "true", ";", "}", ""], "natrual_language": ["Enable", "matching", "of", "interleaved", "access", "groups", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo (2)1", "Func": "enableInterleavedAccessVectorization", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11718, "Length": 9} {"ground_truth": ["", "bool", "forceScalarizeMaskedGather", "(", "VectorType", "*", "VTy", ",", "Align", "Alignment", ")", "{", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "forces", "scalarizing", "of", "llvm.masked.gather", "intrinsics", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo (2)1", "Func": "forceScalarizeMaskedGather", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11719, "Length": 15} {"ground_truth": ["", "bool", "forceScalarizeMaskedScatter", "(", "VectorType", "*", "VTy", ",", "Align", "Alignment", ")", "{", "return", "forceScalarizeMaskedGather", "(", "VTy", ",", "Alignment", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "forces", "scalarizing", "of", "llvm.masked.scatter", "intrinsics", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo (2)1", "Func": "forceScalarizeMaskedScatter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11720, "Length": 20} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntImmCodeSizeCost", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "{", "if", "(", "Imm", ".", "isNonNegative", "(", ")", "&&", "Imm", ".", "getLimitedValue", "(", ")", "<", "256", ")", "return", "0", ";", "return", "1", ";", "}", ""], "natrual_language": ["Return", "the", "expected", "cost", "for", "the", "given", "integer", "when", "optimising", "for", "size", "."], "TS_V_token": ["ARM", "ARM", "256", "0", "1"], "File": "ARMTargetTransformInfo (2)1", "Func": "getIntImmCodeSizeCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11721, "Length": 44} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntImmCost", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "{", "if", "(", "(", "Opcode", "==", "Instruction", "::", "SDiv", "||", "Opcode", "==", "Instruction", "::", "UDiv", "||", "Opcode", "==", "Instruction", "::", "SRem", "||", "Opcode", "==", "Instruction", "::", "URem", ")", "&&", "Idx", "==", "1", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "And", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ",", "getIntImmCost", "(", "~", "Imm", ",", "Ty", ")", ")", ";", "if", "(", "Opcode", "==", "Instruction", "::", "Add", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ",", "getIntImmCost", "(", "-", "Imm", ",", "Ty", ")", ")", ";", "if", "(", "Opcode", "==", "Instruction", "::", "ICmp", "&&", "Imm", ".", "isNegative", "(", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "==", "32", ")", "{", "int64_t", "NegImm", "=", "-", "Imm", ".", "getSExtValue", "(", ")", ";", "if", "(", "ST", "->", "isThumb2", "(", ")", "&&", "NegImm", "<", "1", "<<", "12", ")", "return", "0", ";", "if", "(", "ST", "->", "isThumb", "(", ")", "&&", "NegImm", "<", "1", "<<", "8", ")", "return", "0", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Xor", "&&", "Imm", ".", "isAllOnesValue", "(", ")", ")", "return", "0", ";", "return", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "materializing", "a", "64-bit", "value", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "32", "1", "12", "0", "1", "8", "0", "0"], "File": "ARMTargetTransformInfo (2)1", "Func": "getIntImmCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11722, "Length": 208} {"ground_truth": ["", "unsigned", "getNumberOfRegisters", "(", "unsigned", "ClassID", ")", "const", "{", "bool", "Vector", "=", "(", "ClassID", "==", "1", ")", ";", "if", "(", "Vector", ")", "{", "if", "(", "ST", "->", "hasNEON", "(", ")", ")", "return", "16", ";", "if", "(", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "8", ";", "return", "0", ";", "}", "if", "(", "ST", "->", "isThumb1Only", "(", ")", ")", "return", "8", ";", "return", "13", ";", "}", ""], "natrual_language": ["\ufffd", "?", "Vector", "TTI", "begin", "\ufffd", "?"], "TS_V_token": ["ARM", "1", "16", "8", "0", "8", "13"], "File": "ARMTargetTransformInfo (2)1", "Func": "getNumberOfRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11723, "Length": 63} {"ground_truth": ["", "const", "ARMTargetLowering", "*", "getTLI", "(", ")", "const", "{", "return", "TLI", ";", "}", ""], "natrual_language": ["Getter", "for", "generic", "TargetLowering", "class", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetTransformInfo (2)1", "Func": "getTLI", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11724, "Length": 12} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "optForSize", "(", ")", ")", "return", ";", "if", "(", "!", "ST", "->", "isThumb2", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "unsigned", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "ImmutableCallSite", "CS", "(", "&", "I", ")", ";", "if", "(", "const", "Function", "*", "F", "=", "CS", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "value_op_begin", "(", ")", ",", "I", ".", "value_op_end", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ")", ";", "}", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "UP", ".", "UnrollAndJam", "=", "true", ";", "UP", ".", "UnrollAndJamInnerLoopThreshold", "=", "60", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "0", "4", "\"Cost of loop: \"", "\"\\n\"", "4", "60", "12"], "File": "ARMTargetTransformInfo (2)1", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11725, "Length": 336} {"ground_truth": ["", "bool", "isFPVectorizationPotentiallyUnsafe", "(", ")", "{", "return", "!", "ST", "->", "isTargetDarwin", "(", ")", "&&", "!", "ST", "->", "hasMVEFloatOps", "(", ")", ";", "}", ""], "natrual_language": ["Indicate", "that", "it", "is", "potentially", "unsafe", "to", "automatically", "vectorize", "floating-point", "operations", "because", "the", "semantics", "of", "vector", "and", "scalar", "floating-point", "semantics", "may", "differ", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo (2)1", "Func": "isFPVectorizationPotentiallyUnsafe", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11726, "Length": 21} {"ground_truth": ["", "bool", "isLegalMaskedScatter", "(", "Type", "*", "Ty", ",", "Align", "Alignment", ")", "{", "return", "isLegalMaskedGather", "(", "Ty", ",", "Alignment", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "scatter", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo (2)1", "Func": "isLegalMaskedScatter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11727, "Length": 20} {"ground_truth": ["", "bool", "isLegalMaskedStore", "(", "Type", "*", "DataTy", ",", "Align", "Alignment", ")", "{", "return", "isLegalMaskedLoad", "(", "DataTy", ",", "Alignment", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "store", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo (2)1", "Func": "isLegalMaskedStore", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11728, "Length": 20} {"ground_truth": ["", "bool", "shouldBuildLookupTablesForConstant", "(", "Constant", "*", "C", ")", "const", "{", "if", "(", "ST", "->", "isROPI", "(", ")", "||", "ST", "->", "isRWPI", "(", ")", ")", "return", "!", "C", "->", "needsDynamicRelocation", "(", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "switches", "should", "be", "turned", "into", "lookup", "tables", "containing", "this", "constant", "value", "for", "the", "target", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo (2)1", "Func": "shouldBuildLookupTablesForConstant", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11729, "Length": 35} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getFPOpCost", "(", "Type", "*", "Ty", ")", "{", "if", "(", "ST", "->", "hasVFP2", "(", ")", "&&", "!", "ST", "->", "isThumb1Only", "(", ")", ")", "{", "if", "(", "Ty", "->", "isFloatTy", "(", ")", ")", "{", "return", "TargetTransformInfo", "::", "TCC_Basic", ";", "}", "if", "(", "Ty", "->", "isDoubleTy", "(", ")", ")", "{", "return", "ST", "->", "isFPOnlySP", "(", ")", "?", "TargetTransformInfo", "::", "TCC_Expensive", ":", "TargetTransformInfo", "::", "TCC_Basic", ";", "}", "}", "return", "TargetTransformInfo", "::", "TCC_Expensive", ";", "}", ""], "natrual_language": ["Return", "the", "expected", "cost", "of", "supporting", "the", "floating", "point", "operation", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetTransformInfo (2)", "Func": "getFPOpCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11730, "Length": 73} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntImmCost", "(", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "{", "assert", "(", "Ty", "->", "isIntegerTy", "(", ")", ")", ";", "unsigned", "Bits", "=", "Ty", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "Bits", "==", "0", "||", "Bits", ">", "32", ")", "return", "4", ";", "int32_t", "SImmVal", "=", "Imm", ".", "getSExtValue", "(", ")", ";", "uint32_t", "ZImmVal", "=", "Imm", ".", "getZExtValue", "(", ")", ";", "if", "(", "!", "ST", "->", "isThumb", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "if", "(", "ST", "->", "isThumb2", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "if", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "256", ")", "return", "1", ";", "if", "(", "(", "~", "ZImmVal", "<", "256", ")", "||", "ARM_AM", "::", "isThumbImmShiftedVal", "(", "ZImmVal", ")", ")", "return", "2", ";", "return", "3", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "materializing", "a", "64-bit", "value", "."], "TS_V_token": ["ARM", "ARM", "0", "32", "4", "0", "65536", "ARM_AM::getSOImmVal", "1", "ARM_AM::getSOImmVal", "1", "1", "2", "3", "0", "65536", "ARM_AM::getT2SOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "1", "2", "3", "0", "256", "1", "256", "ARM_AM::isThumbImmShiftedVal", "2", "3"], "File": "ARMTargetTransformInfo (2)", "Func": "getIntImmCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11731, "Length": 223} {"ground_truth": ["", "unsigned", "ARMTTIImpl", "::", "getGatherScatterOpCost", "(", "unsigned", "Opcode", ",", "Type", "*", "DataTy", ",", "Value", "*", "Ptr", ",", "bool", "VariableMask", ",", "unsigned", "Alignment", ")", "{", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", "||", "!", "EnableMaskedGatherScatters", ")", "return", "BaseT", "::", "getGatherScatterOpCost", "(", "Opcode", ",", "DataTy", ",", "Ptr", ",", "VariableMask", ",", "Alignment", ")", ";", "assert", "(", "DataTy", "->", "isVectorTy", "(", ")", "&&", "\"Can't do gather/scatters on scalar!\"", ")", ";", "VectorType", "*", "VTy", "=", "cast", "<", "VectorType", ">", "(", "DataTy", ")", ";", "unsigned", "NumElems", "=", "VTy", "->", "getNumElements", "(", ")", ";", "unsigned", "EltSize", "=", "VTy", "->", "getScalarSizeInBits", "(", ")", ";", "std", "::", "pair", "<", "int", ",", "MVT", ">", "LT", "=", "TLI", "->", "getTypeLegalizationCost", "(", "DL", ",", "DataTy", ")", ";", "unsigned", "VectorCost", "=", "NumElems", "*", "LT", ".", "first", ";", "unsigned", "ScalarCost", "=", "NumElems", "*", "LT", ".", "first", "+", "BaseT", "::", "getScalarizationOverhead", "(", "DataTy", ",", "{", "}", ")", ";", "if", "(", "EltSize", "*", "NumElems", "!=", "128", "||", "NumElems", "<", "4", ")", "return", "ScalarCost", ";", "if", "(", "Alignment", "<", "EltSize", "/", "8", ")", "return", "ScalarCost", ";", "if", "(", "EltSize", "==", "32", ")", "return", "VectorCost", ";", "if", "(", "EltSize", "!=", "8", "&&", "EltSize", "!=", "16", ")", "return", "ScalarCost", ";", "if", "(", "auto", "BC", "=", "dyn_cast", "<", "BitCastInst", ">", "(", "Ptr", ")", ")", "Ptr", "=", "BC", "->", "getOperand", "(", "0", ")", ";", "if", "(", "auto", "*", "GEP", "=", "dyn_cast", "<", "GetElementPtrInst", ">", "(", "Ptr", ")", ")", "{", "if", "(", "GEP", "->", "getNumOperands", "(", ")", "!=", "2", ")", "return", "ScalarCost", ";", "unsigned", "Scale", "=", "DL", ".", "getTypeAllocSize", "(", "GEP", "->", "getResultElementType", "(", ")", ")", ";", "if", "(", "Scale", "!=", "1", "&&", "Scale", "*", "8", "!=", "EltSize", ")", "return", "ScalarCost", ";", "if", "(", "auto", "ZExt", "=", "dyn_cast", "<", "ZExtInst", ">", "(", "GEP", "->", "getOperand", "(", "1", ")", ")", ")", "if", "(", "ZExt", "->", "getOperand", "(", "0", ")", "->", "getType", "(", ")", "->", "getScalarSizeInBits", "(", ")", "<=", "EltSize", ")", "return", "VectorCost", ";", "return", "ScalarCost", ";", "}", "return", "ScalarCost", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "Gather", "/", "Scatter", "operation", "."], "TS_V_token": ["ARM", "ARM", "\"Can't do gather/scatters on scalar!\"", "128", "4", "8", "32", "8", "16", "0", "2", "1", "8", "1", "0"], "File": "ARMTargetTransformInfo10", "Func": "getGatherScatterOpCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11732, "Length": 314} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntImmCostInst", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "{", "if", "(", "(", "Opcode", "==", "Instruction", "::", "SDiv", "||", "Opcode", "==", "Instruction", "::", "UDiv", "||", "Opcode", "==", "Instruction", "::", "SRem", "||", "Opcode", "==", "Instruction", "::", "URem", ")", "&&", "Idx", "==", "1", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "And", ")", "{", "if", "(", "Imm", "==", "255", "||", "Imm", "==", "65535", ")", "return", "0", ";", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ",", "getIntImmCost", "(", "~", "Imm", ",", "Ty", ")", ")", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Add", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ",", "getIntImmCost", "(", "-", "Imm", ",", "Ty", ")", ")", ";", "if", "(", "Opcode", "==", "Instruction", "::", "ICmp", "&&", "Imm", ".", "isNegative", "(", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "==", "32", ")", "{", "int64_t", "NegImm", "=", "-", "Imm", ".", "getSExtValue", "(", ")", ";", "if", "(", "ST", "->", "isThumb2", "(", ")", "&&", "NegImm", "<", "1", "<<", "12", ")", "return", "0", ";", "if", "(", "ST", "->", "isThumb", "(", ")", "&&", "NegImm", "<", "1", "<<", "8", ")", "return", "0", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Xor", "&&", "Imm", ".", "isAllOnesValue", "(", ")", ")", "return", "0", ";", "return", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ";", "}", ""], "natrual_language": ["Return", "the", "expected", "cost", "of", "materialization", "for", "the", "given", "integer", "immediate", "of", "the", "specified", "type", "for", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "255", "65535", "0", "32", "1", "12", "0", "1", "8", "0", "0"], "File": "ARMTargetTransformInfo10", "Func": "getIntImmCostInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11733, "Length": 223} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "hasOptSize", "(", ")", ")", "return", ";", "if", "(", "!", "ST", "->", "isThumb2", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "unsigned", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "I", ".", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", ";", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "ImmutableCallSite", "CS", "(", "&", "I", ")", ";", "if", "(", "const", "Function", "*", "F", "=", "CS", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "value_op_begin", "(", ")", ",", "I", ".", "value_op_end", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ")", ";", "}", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UpperBound", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "UP", ".", "UnrollAndJam", "=", "true", ";", "UP", ".", "UnrollAndJamInnerLoopThreshold", "=", "60", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "0", "4", "\"Cost of loop: \"", "\"\\n\"", "4", "60", "12"], "File": "ARMTargetTransformInfo10", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11734, "Length": 356} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isLegalMaskedGather", "(", "Type", "*", "Ty", ",", "MaybeAlign", "Alignment", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", "||", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "isa", "<", "VectorType", ">", "(", "Ty", ")", ")", "return", "false", ";", "unsigned", "EltWidth", "=", "Ty", "->", "getScalarSizeInBits", "(", ")", ";", "return", "(", "(", "EltWidth", "==", "32", "&&", "(", "!", "Alignment", "||", "Alignment", ">=", "4", ")", ")", "||", "(", "EltWidth", "==", "16", "&&", "(", "!", "Alignment", "||", "Alignment", ">=", "2", ")", ")", "||", "EltWidth", "==", "8", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "gather", "."], "TS_V_token": ["ARM", "ARM", "32", "4", "16", "2", "8"], "File": "ARMTargetTransformInfo10", "Func": "isLegalMaskedGather", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11735, "Length": 88} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isLegalMaskedLoad", "(", "Type", "*", "DataTy", ",", "MaybeAlign", "Alignment", ")", "{", "if", "(", "!", "EnableMaskedLoadStores", "||", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "auto", "*", "VecTy", "=", "dyn_cast", "<", "VectorType", ">", "(", "DataTy", ")", ")", "{", "if", "(", "VecTy", "->", "getNumElements", "(", ")", "==", "2", ")", "return", "false", ";", "unsigned", "VecWidth", "=", "DataTy", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "VecWidth", "!=", "128", "&&", "VecTy", "->", "getElementType", "(", ")", "->", "isFloatingPointTy", "(", ")", ")", "return", "false", ";", "}", "unsigned", "EltWidth", "=", "DataTy", "->", "getScalarSizeInBits", "(", ")", ";", "return", "(", "EltWidth", "==", "32", "&&", "(", "!", "Alignment", "||", "Alignment", ">=", "4", ")", ")", "||", "(", "EltWidth", "==", "16", "&&", "(", "!", "Alignment", "||", "Alignment", ">=", "2", ")", ")", "||", "(", "EltWidth", "==", "8", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "load", "."], "TS_V_token": ["ARM", "ARM", "2", "128", "32", "4", "16", "2", "8"], "File": "ARMTargetTransformInfo10", "Func": "isLegalMaskedLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11736, "Length": 132} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntImmCost", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "{", "if", "(", "(", "Opcode", "==", "Instruction", "::", "SDiv", "||", "Opcode", "==", "Instruction", "::", "UDiv", "||", "Opcode", "==", "Instruction", "::", "SRem", "||", "Opcode", "==", "Instruction", "::", "URem", ")", "&&", "Idx", "==", "1", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "And", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ",", "getIntImmCost", "(", "~", "Imm", ",", "Ty", ")", ")", ";", "if", "(", "Opcode", "==", "Instruction", "::", "Add", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ",", "getIntImmCost", "(", "-", "Imm", ",", "Ty", ")", ")", ";", "if", "(", "Opcode", "==", "Instruction", "::", "ICmp", "&&", "Imm", ".", "isNegative", "(", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "==", "32", ")", "{", "int64_t", "NegImm", "=", "-", "Imm", ".", "getSExtValue", "(", ")", ";", "if", "(", "ST", "->", "isThumb2", "(", ")", "&&", "NegImm", "<", "1", "<<", "12", ")", "return", "0", ";", "if", "(", "ST", "->", "isThumb", "(", ")", "&&", "NegImm", "<", "1", "<<", "8", ")", "return", "0", ";", "}", "return", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "materializing", "a", "64-bit", "value", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "32", "1", "12", "0", "1", "8", "0"], "File": "ARMTargetTransformInfo11", "Func": "getIntImmCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11737, "Length": 191} {"ground_truth": ["", "bool", "isLegalMaskedScatter", "(", "Type", "*", "Ty", ",", "MaybeAlign", "Alignment", ")", "{", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "scatter", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo13", "Func": "isLegalMaskedScatter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11738, "Length": 15} {"ground_truth": ["", "InstructionCost", "ARMTTIImpl", "::", "getArithmeticReductionCost", "(", "unsigned", "Opcode", ",", "VectorType", "*", "ValTy", ",", "Optional", "<", "FastMathFlags", ">", "FMF", ",", "TTI", "::", "TargetCostKind", "CostKind", ")", "{", "if", "(", "TTI", "::", "requiresOrderedReduction", "(", "FMF", ")", ")", "return", "BaseT", "::", "getArithmeticReductionCost", "(", "Opcode", ",", "ValTy", ",", "FMF", ",", "CostKind", ")", ";", "EVT", "ValVT", "=", "TLI", "->", "getValueType", "(", "DL", ",", "ValTy", ")", ";", "int", "ISD", "=", "TLI", "->", "InstructionOpcodeToISD", "(", "Opcode", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", "||", "!", "ValVT", ".", "isSimple", "(", ")", "||", "ISD", "!=", "ISD", "::", "ADD", ")", "return", "BaseT", "::", "getArithmeticReductionCost", "(", "Opcode", ",", "ValTy", ",", "FMF", ",", "CostKind", ")", ";", "std", "::", "pair", "<", "InstructionCost", ",", "MVT", ">", "LT", "=", "TLI", "->", "getTypeLegalizationCost", "(", "DL", ",", "ValTy", ")", ";", "static", "const", "CostTblEntry", "CostTblAdd", "[", "]", "{", "{", "ISD", "::", "ADD", ",", "MVT", "::", "v16i8", ",", "1", "}", ",", "{", "ISD", "::", "ADD", ",", "MVT", "::", "v8i16", ",", "1", "}", ",", "{", "ISD", "::", "ADD", ",", "MVT", "::", "v4i32", ",", "1", "}", ",", "}", ";", "if", "(", "const", "auto", "*", "Entry", "=", "CostTableLookup", "(", "CostTblAdd", ",", "ISD", ",", "LT", ".", "second", ")", ")", "return", "Entry", "->", "Cost", "*", "ST", "->", "getMVEVectorCostFactor", "(", "CostKind", ")", "*", "LT", ".", "first", ";", "return", "BaseT", "::", "getArithmeticReductionCost", "(", "Opcode", ",", "ValTy", ",", "FMF", ",", "CostKind", ")", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "vector", "reduction", "intrinsics", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::ADD", "MVT::v16i8", "1", "ISD::ADD", "MVT::v8i16", "1", "ISD::ADD", "MVT::v4i32", "1"], "File": "ARMTargetTransformInfo14", "Func": "getArithmeticReductionCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11739, "Length": 218} {"ground_truth": ["", "InstructionCost", "ARMTTIImpl", "::", "getIntImmCodeSizeCost", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "{", "if", "(", "Imm", ".", "isNonNegative", "(", ")", "&&", "Imm", ".", "getLimitedValue", "(", ")", "<", "256", ")", "return", "0", ";", "return", "1", ";", "}", ""], "natrual_language": ["Return", "the", "expected", "cost", "for", "the", "given", "integer", "when", "optimising", "for", "size", "."], "TS_V_token": ["ARM", "ARM", "256", "0", "1"], "File": "ARMTargetTransformInfo14", "Func": "getIntImmCodeSizeCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11740, "Length": 44} {"ground_truth": ["", "InstructionCost", "ARMTTIImpl", "::", "getIntImmCost", "(", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ",", "TTI", "::", "TargetCostKind", "CostKind", ")", "{", "assert", "(", "Ty", "->", "isIntegerTy", "(", ")", ")", ";", "unsigned", "Bits", "=", "Ty", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "Bits", "==", "0", "||", "Imm", ".", "getActiveBits", "(", ")", ">=", "64", ")", "return", "4", ";", "int64_t", "SImmVal", "=", "Imm", ".", "getSExtValue", "(", ")", ";", "uint64_t", "ZImmVal", "=", "Imm", ".", "getZExtValue", "(", ")", ";", "if", "(", "!", "ST", "->", "isThumb", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "if", "(", "ST", "->", "isThumb2", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "if", "(", "Bits", "==", "8", "||", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "256", ")", ")", "return", "1", ";", "if", "(", "(", "~", "SImmVal", "<", "256", ")", "||", "ARM_AM", "::", "isThumbImmShiftedVal", "(", "ZImmVal", ")", ")", "return", "2", ";", "return", "3", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "materializing", "a", "64-bit", "value", "."], "TS_V_token": ["ARM", "ARM", "0", "64", "4", "0", "65536", "ARM_AM::getSOImmVal", "1", "ARM_AM::getSOImmVal", "1", "1", "2", "3", "0", "65536", "ARM_AM::getT2SOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "1", "2", "3", "8", "0", "256", "1", "256", "ARM_AM::isThumbImmShiftedVal", "2", "3"], "File": "ARMTargetTransformInfo14", "Func": "getIntImmCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11741, "Length": 238} {"ground_truth": ["", "InstructionCost", "ARMTTIImpl", "::", "getIntImmCostInst", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ",", "TTI", "::", "TargetCostKind", "CostKind", ",", "Instruction", "*", "Inst", ")", "{", "if", "(", "(", "Opcode", "==", "Instruction", "::", "SDiv", "||", "Opcode", "==", "Instruction", "::", "UDiv", "||", "Opcode", "==", "Instruction", "::", "SRem", "||", "Opcode", "==", "Instruction", "::", "URem", ")", "&&", "Idx", "==", "1", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "GetElementPtr", "&&", "Idx", "!=", "0", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "And", ")", "{", "if", "(", "Imm", "==", "255", "||", "Imm", "==", "65535", ")", "return", "0", ";", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "~", "Imm", ",", "Ty", ",", "CostKind", ")", ")", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Add", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "-", "Imm", ",", "Ty", ",", "CostKind", ")", ")", ";", "if", "(", "Opcode", "==", "Instruction", "::", "ICmp", "&&", "Imm", ".", "isNegative", "(", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "==", "32", ")", "{", "int64_t", "NegImm", "=", "-", "Imm", ".", "getSExtValue", "(", ")", ";", "if", "(", "ST", "->", "isThumb2", "(", ")", "&&", "NegImm", "<", "1", "<<", "12", ")", "return", "0", ";", "if", "(", "ST", "->", "isThumb", "(", ")", "&&", "NegImm", "<", "1", "<<", "8", ")", "return", "0", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Xor", "&&", "Imm", ".", "isAllOnes", "(", ")", ")", "return", "0", ";", "if", "(", "Inst", "&&", "(", "(", "ST", "->", "hasV6Ops", "(", ")", "&&", "!", "ST", "->", "isThumb", "(", ")", ")", "||", "ST", "->", "isThumb2", "(", ")", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "<=", "32", ")", "{", "if", "(", "isSSATMinMaxPattern", "(", "Inst", ",", "Imm", ")", "||", "(", "isa", "<", "ICmpInst", ">", "(", "Inst", ")", "&&", "Inst", "->", "hasOneUse", "(", ")", "&&", "isSSATMinMaxPattern", "(", "cast", "<", "Instruction", ">", "(", "*", "Inst", "->", "user_begin", "(", ")", ")", ",", "Imm", ")", ")", ")", "return", "0", ";", "}", "if", "(", "Inst", "&&", "Opcode", "==", "Instruction", "::", "ICmp", "&&", "Idx", "==", "1", "&&", "Imm", ".", "isAllOnesValue", "(", ")", ")", "{", "ICmpInst", "::", "Predicate", "Pred", "=", "cast", "<", "ICmpInst", ">", "(", "Inst", ")", "->", "getPredicate", "(", ")", ";", "if", "(", "Pred", "==", "ICmpInst", "::", "ICMP_SGT", "||", "Pred", "==", "ICmpInst", "::", "ICMP_SLE", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "Imm", "+", "1", ",", "Ty", ",", "CostKind", ")", ")", ";", "}", "return", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ";", "}", ""], "natrual_language": ["Return", "the", "expected", "cost", "of", "materialization", "for", "the", "given", "integer", "immediate", "of", "the", "specified", "type", "for", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0", "0", "255", "65535", "0", "32", "1", "12", "0", "1", "8", "0", "0", "32", "0", "1", "1"], "File": "ARMTargetTransformInfo14", "Func": "getIntImmCostInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11742, "Length": 419} {"ground_truth": ["", "InstructionCost", "ARMTTIImpl", "::", "getIntrinsicInstrCost", "(", "const", "IntrinsicCostAttributes", "&", "ICA", ",", "TTI", "::", "TargetCostKind", "CostKind", ")", "{", "switch", "(", "ICA", ".", "getID", "(", ")", ")", "{", "case", "Intrinsic", "::", "get_active_lane_mask", ":", "if", "(", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "0", ";", "break", ";", "case", "Intrinsic", "::", "sadd_sat", ":", "case", "Intrinsic", "::", "ssub_sat", ":", "case", "Intrinsic", "::", "uadd_sat", ":", "case", "Intrinsic", "::", "usub_sat", ":", "{", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "break", ";", "Type", "*", "VT", "=", "ICA", ".", "getReturnType", "(", ")", ";", "std", "::", "pair", "<", "InstructionCost", ",", "MVT", ">", "LT", "=", "TLI", "->", "getTypeLegalizationCost", "(", "DL", ",", "VT", ")", ";", "if", "(", "LT", ".", "second", "==", "MVT", "::", "v4i32", "||", "LT", ".", "second", "==", "MVT", "::", "v8i16", "||", "LT", ".", "second", "==", "MVT", "::", "v16i8", ")", "{", "unsigned", "Instrs", "=", "LT", ".", "second", ".", "getScalarSizeInBits", "(", ")", "==", "VT", "->", "getScalarSizeInBits", "(", ")", "?", "1", ":", "4", ";", "return", "LT", ".", "first", "*", "ST", "->", "getMVEVectorCostFactor", "(", "CostKind", ")", "*", "Instrs", ";", "}", "break", ";", "}", "case", "Intrinsic", "::", "abs", ":", "case", "Intrinsic", "::", "smin", ":", "case", "Intrinsic", "::", "smax", ":", "case", "Intrinsic", "::", "umin", ":", "case", "Intrinsic", "::", "umax", ":", "{", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "break", ";", "Type", "*", "VT", "=", "ICA", ".", "getReturnType", "(", ")", ";", "std", "::", "pair", "<", "InstructionCost", ",", "MVT", ">", "LT", "=", "TLI", "->", "getTypeLegalizationCost", "(", "DL", ",", "VT", ")", ";", "if", "(", "LT", ".", "second", "==", "MVT", "::", "v4i32", "||", "LT", ".", "second", "==", "MVT", "::", "v8i16", "||", "LT", ".", "second", "==", "MVT", "::", "v16i8", ")", "return", "LT", ".", "first", "*", "ST", "->", "getMVEVectorCostFactor", "(", "CostKind", ")", ";", "break", ";", "}", "case", "Intrinsic", "::", "minnum", ":", "case", "Intrinsic", "::", "maxnum", ":", "{", "if", "(", "!", "ST", "->", "hasMVEFloatOps", "(", ")", ")", "break", ";", "Type", "*", "VT", "=", "ICA", ".", "getReturnType", "(", ")", ";", "std", "::", "pair", "<", "InstructionCost", ",", "MVT", ">", "LT", "=", "TLI", "->", "getTypeLegalizationCost", "(", "DL", ",", "VT", ")", ";", "if", "(", "LT", ".", "second", "==", "MVT", "::", "v4f32", "||", "LT", ".", "second", "==", "MVT", "::", "v8f16", ")", "return", "LT", ".", "first", "*", "ST", "->", "getMVEVectorCostFactor", "(", "CostKind", ")", ";", "break", ";", "}", "}", "return", "BaseT", "::", "getIntrinsicInstrCost", "(", "ICA", ",", "CostKind", ")", ";", "}", ""], "natrual_language": ["Get", "intrinsic", "cost", "based", "on", "arguments", "."], "TS_V_token": ["ARM", "ARM", "Intrinsic::get_active_lane_mask", "0", "Intrinsic::sadd_sat", "Intrinsic::ssub_sat", "Intrinsic::uadd_sat", "Intrinsic::usub_sat", "MVT::v4i32", "MVT::v8i16", "MVT::v16i8", "1", "4", "Intrinsic::abs", "Intrinsic::smin", "Intrinsic::smax", "Intrinsic::umin", "Intrinsic::umax", "MVT::v4i32", "MVT::v8i16", "MVT::v16i8", "Intrinsic::minnum", "Intrinsic::maxnum", "MVT::v4f32", "MVT::v8f16"], "File": "ARMTargetTransformInfo14", "Func": "getIntrinsicInstrCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11743, "Length": 373} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getNumMemOps", "(", "const", "IntrinsicInst", "*", "I", ")", "const", "{", "MemOp", "MOp", ";", "unsigned", "DstAddrSpace", "=", "~", "0u", ";", "unsigned", "SrcAddrSpace", "=", "~", "0u", ";", "const", "Function", "*", "F", "=", "I", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "if", "(", "const", "auto", "*", "MC", "=", "dyn_cast", "<", "MemTransferInst", ">", "(", "I", ")", ")", "{", "ConstantInt", "*", "C", "=", "dyn_cast", "<", "ConstantInt", ">", "(", "MC", "->", "getLength", "(", ")", ")", ";", "if", "(", "!", "C", ")", "return", "-", "1", ";", "const", "unsigned", "Size", "=", "C", "->", "getValue", "(", ")", ".", "getZExtValue", "(", ")", ";", "const", "Align", "DstAlign", "=", "*", "MC", "->", "getDestAlign", "(", ")", ";", "const", "Align", "SrcAlign", "=", "*", "MC", "->", "getSourceAlign", "(", ")", ";", "MOp", "=", "MemOp", "::", "Copy", "(", "Size", ",", "false", ",", "DstAlign", ",", "SrcAlign", ",", "false", ")", ";", "DstAddrSpace", "=", "MC", "->", "getDestAddressSpace", "(", ")", ";", "SrcAddrSpace", "=", "MC", "->", "getSourceAddressSpace", "(", ")", ";", "}", "else", "if", "(", "const", "auto", "*", "MS", "=", "dyn_cast", "<", "MemSetInst", ">", "(", "I", ")", ")", "{", "ConstantInt", "*", "C", "=", "dyn_cast", "<", "ConstantInt", ">", "(", "MS", "->", "getLength", "(", ")", ")", ";", "if", "(", "!", "C", ")", "return", "-", "1", ";", "const", "unsigned", "Size", "=", "C", "->", "getValue", "(", ")", ".", "getZExtValue", "(", ")", ";", "const", "Align", "DstAlign", "=", "*", "MS", "->", "getDestAlign", "(", ")", ";", "MOp", "=", "MemOp", "::", "Set", "(", "Size", ",", "false", ",", "DstAlign", ",", "false", ",", "false", ")", ";", "DstAddrSpace", "=", "MS", "->", "getDestAddressSpace", "(", ")", ";", "}", "else", "llvm_unreachable", "(", "\"Expected a memcpy/move or memset!\"", ")", ";", "unsigned", "Limit", ",", "Factor", "=", "2", ";", "switch", "(", "I", "->", "getIntrinsicID", "(", ")", ")", "{", "case", "Intrinsic", "::", "memcpy", ":", "Limit", "=", "TLI", "->", "getMaxStoresPerMemcpy", "(", "F", "->", "hasMinSize", "(", ")", ")", ";", "break", ";", "case", "Intrinsic", "::", "memmove", ":", "Limit", "=", "TLI", "->", "getMaxStoresPerMemmove", "(", "F", "->", "hasMinSize", "(", ")", ")", ";", "break", ";", "case", "Intrinsic", "::", "memset", ":", "Limit", "=", "TLI", "->", "getMaxStoresPerMemset", "(", "F", "->", "hasMinSize", "(", ")", ")", ";", "Factor", "=", "1", ";", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Expected a memcpy/move or memset!\"", ")", ";", "}", "std", "::", "vector", "<", "EVT", ">", "MemOps", ";", "if", "(", "getTLI", "(", ")", "->", "findOptimalMemOpLowering", "(", "MemOps", ",", "Limit", ",", "MOp", ",", "DstAddrSpace", ",", "SrcAddrSpace", ",", "F", "->", "getAttributes", "(", ")", ")", ")", "return", "MemOps", ".", "size", "(", ")", "*", "Factor", ";", "return", "-", "1", ";", "}", ""], "natrual_language": ["Given", "a", "memcpy/memset/memmove", "instruction", ",", "return", "the", "number", "of", "memory", "operations", "performed", ",", "via", "querying", "findOptimalMemOpLowering", "."], "TS_V_token": ["ARM", "ARM", "0u", "0u", "1", "1", "\"Expected a memcpy/move or memset!\"", "2", "Intrinsic::memcpy", "Intrinsic::memmove", "Intrinsic::memset", "1", "\"Expected a memcpy/move or memset!\"", "1"], "File": "ARMTargetTransformInfo14", "Func": "getNumMemOps", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11744, "Length": 387} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getPeelingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "PeelingPreferences", "&", "PP", ")", "{", "BaseT", "::", "getPeelingPreferences", "(", "L", ",", "SE", ",", "PP", ")", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "peeling", "transformation", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetTransformInfo14", "Func": "getPeelingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11745, "Length": 32} {"ground_truth": ["", "TTI", "::", "AddressingModeKind", "ARMTTIImpl", "::", "getPreferredAddressingMode", "(", "const", "Loop", "*", "L", ",", "ScalarEvolution", "*", "SE", ")", "const", "{", "if", "(", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "TTI", "::", "AMK_PostIndexed", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "hasOptSize", "(", ")", ")", "return", "TTI", "::", "AMK_None", ";", "if", "(", "ST", "->", "isMClass", "(", ")", "&&", "ST", "->", "isThumb2", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", "==", "1", ")", "return", "TTI", "::", "AMK_PreIndexed", ";", "return", "TTI", "::", "AMK_None", ";", "}", ""], "natrual_language": ["Return", "the", "preferred", "addressing", "mode", "LSR", "should", "make", "efforts", "to", "generate", "."], "TS_V_token": ["ARM", "ARM", "1"], "File": "ARMTargetTransformInfo14", "Func": "getPreferredAddressingMode", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11746, "Length": 85} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ",", "OptimizationRemarkEmitter", "*", "ORE", ")", "{", "UP", ".", "UpperBound", "=", "true", ";", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ",", "ORE", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "hasOptSize", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "if", "(", "getBooleanLoopAttribute", "(", "L", ",", "\"llvm.loop.isvectorized\"", ")", ")", "return", ";", "InstructionCost", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "I", ".", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", ";", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "if", "(", "const", "Function", "*", "F", "=", "cast", "<", "CallBase", ">", "(", "I", ")", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "operand_values", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ",", "TargetTransformInfo", "::", "TCK_SizeAndLatency", ")", ";", "}", "}", "unsigned", "UnrollCount", "=", "4", ";", "if", "(", "ST", "->", "isThumb1Only", "(", ")", ")", "{", "unsigned", "ExitingValues", "=", "0", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitBlocks", ";", "L", "->", "getExitBlocks", "(", "ExitBlocks", ")", ";", "for", "(", "auto", "*", "Exit", ":", "ExitBlocks", ")", "{", "unsigned", "LiveOuts", "=", "count_if", "(", "Exit", "->", "phis", "(", ")", ",", "[", "]", "(", "auto", "&", "PH", ")", "{", "return", "PH", ".", "getNumOperands", "(", ")", "!=", "1", "||", "!", "isa", "<", "GetElementPtrInst", ">", "(", "PH", ".", "getOperand", "(", "0", ")", ")", ";", "}", ")", ";", "ExitingValues", "=", "ExitingValues", "<", "LiveOuts", "?", "LiveOuts", ":", "ExitingValues", ";", "}", "if", "(", "ExitingValues", ")", "UnrollCount", "/=", "ExitingValues", ";", "if", "(", "UnrollCount", "<=", "1", ")", "return", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Default Runtime Unroll Count: \"", "<<", "UnrollCount", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "UnrollCount", ";", "UP", ".", "UnrollAndJam", "=", "true", ";", "UP", ".", "UnrollAndJamInnerLoopThreshold", "=", "60", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "\"llvm.loop.isvectorized\"", "0", "4", "4", "0", "4", "1", "0", "1", "\"Cost of loop: \"", "\"\\n\"", "\"Default Runtime Unroll Count: \"", "\"\\n\"", "60", "12"], "File": "ARMTargetTransformInfo14", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11747, "Length": 489} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isHardwareLoopProfitable", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "AssumptionCache", "&", "AC", ",", "TargetLibraryInfo", "*", "LibInfo", ",", "HardwareLoopInfo", "&", "HWLoopInfo", ")", "{", "if", "(", "!", "ST", "->", "hasLOB", "(", ")", "||", "DisableLowOverheadLoops", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: Disabled\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "SE", ".", "hasLoopInvariantBackedgeTakenCount", "(", "L", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: No BETC\\n\"", ")", ";", "return", "false", ";", "}", "const", "SCEV", "*", "BackedgeTakenCount", "=", "SE", ".", "getBackedgeTakenCount", "(", "L", ")", ";", "if", "(", "isa", "<", "SCEVCouldNotCompute", ">", "(", "BackedgeTakenCount", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: Uncomputable BETC\\n\"", ")", ";", "return", "false", ";", "}", "const", "SCEV", "*", "TripCountSCEV", "=", "SE", ".", "getAddExpr", "(", "BackedgeTakenCount", ",", "SE", ".", "getOne", "(", "BackedgeTakenCount", "->", "getType", "(", ")", ")", ")", ";", "if", "(", "SE", ".", "getUnsignedRangeMax", "(", "TripCountSCEV", ")", ".", "getBitWidth", "(", ")", ">", "32", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: Trip count does not fit into 32bits\\n\"", ")", ";", "return", "false", ";", "}", "auto", "IsHardwareLoopIntrinsic", "=", "[", "]", "(", "Instruction", "&", "I", ")", "{", "if", "(", "auto", "*", "Call", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ")", "{", "switch", "(", "Call", "->", "getIntrinsicID", "(", ")", ")", "{", "default", ":", "break", ";", "case", "Intrinsic", "::", "start_loop_iterations", ":", "case", "Intrinsic", "::", "test_start_loop_iterations", ":", "case", "Intrinsic", "::", "loop_decrement", ":", "case", "Intrinsic", "::", "loop_decrement_reg", ":", "return", "true", ";", "}", "}", "return", "false", ";", "}", ";", "bool", "IsTailPredLoop", "=", "false", ";", "auto", "ScanLoop", "=", "[", "&", "]", "(", "Loop", "*", "L", ")", "{", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "maybeLoweredToCall", "(", "I", ")", "||", "IsHardwareLoopIntrinsic", "(", "I", ")", "||", "isa", "<", "InlineAsm", ">", "(", "I", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: Bad instruction: \"", "<<", "I", "<<", "\"\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "auto", "*", "II", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ")", "IsTailPredLoop", "|=", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "get_active_lane_mask", "||", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "arm_mve_vctp8", "||", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "arm_mve_vctp16", "||", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "arm_mve_vctp32", "||", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "arm_mve_vctp64", ";", "}", "}", "return", "true", ";", "}", ";", "for", "(", "auto", "Inner", ":", "*", "L", ")", "if", "(", "!", "ScanLoop", "(", "Inner", ")", ")", "return", "false", ";", "if", "(", "!", "ScanLoop", "(", "L", ")", ")", "return", "false", ";", "LLVMContext", "&", "C", "=", "L", "->", "getHeader", "(", ")", "->", "getContext", "(", ")", ";", "HWLoopInfo", ".", "CounterInReg", "=", "true", ";", "HWLoopInfo", ".", "IsNestingLegal", "=", "false", ";", "HWLoopInfo", ".", "PerformEntryTest", "=", "AllowWLSLoops", "&&", "!", "IsTailPredLoop", ";", "HWLoopInfo", ".", "CountType", "=", "Type", "::", "getInt32Ty", "(", "C", ")", ";", "HWLoopInfo", ".", "LoopDecrement", "=", "ConstantInt", "::", "get", "(", "HWLoopInfo", ".", "CountType", ",", "1", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Query", "the", "target", "whether", "it", "would", "be", "profitable", "to", "convert", "the", "given", "loop", "into", "a", "hardware", "loop", "."], "TS_V_token": ["ARM", "ARM", "\"ARMHWLoops: Disabled\\n\"", "\"ARMHWLoops: No BETC\\n\"", "\"ARMHWLoops: Uncomputable BETC\\n\"", "32", "\"ARMHWLoops: Trip count does not fit into 32bits\\n\"", "Intrinsic::start_loop_iterations", "Intrinsic::test_start_loop_iterations", "Intrinsic::loop_decrement", "Intrinsic::loop_decrement_reg", "\"ARMHWLoops: Bad instruction: \"", "\"\\n\"", "Intrinsic::get_active_lane_mask", "Intrinsic::arm_mve_vctp8", "Intrinsic::arm_mve_vctp16", "Intrinsic::arm_mve_vctp32", "Intrinsic::arm_mve_vctp64", "1"], "File": "ARMTargetTransformInfo14", "Func": "isHardwareLoopProfitable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11748, "Length": 480} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isLegalMaskedGather", "(", "Type", "*", "Ty", ",", "Align", "Alignment", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", "||", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "isa", "<", "VectorType", ">", "(", "Ty", ")", ")", "return", "false", ";", "unsigned", "EltWidth", "=", "Ty", "->", "getScalarSizeInBits", "(", ")", ";", "return", "(", "(", "EltWidth", "==", "32", "&&", "Alignment", ">=", "4", ")", "||", "(", "EltWidth", "==", "16", "&&", "Alignment", ">=", "2", ")", "||", "EltWidth", "==", "8", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "gather", "."], "TS_V_token": ["ARM", "ARM", "32", "4", "16", "2", "8"], "File": "ARMTargetTransformInfo14", "Func": "isLegalMaskedGather", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11749, "Length": 78} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isLegalMaskedLoad", "(", "Type", "*", "DataTy", ",", "Align", "Alignment", ")", "{", "if", "(", "!", "EnableMaskedLoadStores", "||", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "auto", "*", "VecTy", "=", "dyn_cast", "<", "FixedVectorType", ">", "(", "DataTy", ")", ")", "{", "if", "(", "VecTy", "->", "getNumElements", "(", ")", "==", "2", ")", "return", "false", ";", "unsigned", "VecWidth", "=", "DataTy", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "VecWidth", "!=", "128", "&&", "VecTy", "->", "getElementType", "(", ")", "->", "isFloatingPointTy", "(", ")", ")", "return", "false", ";", "}", "unsigned", "EltWidth", "=", "DataTy", "->", "getScalarSizeInBits", "(", ")", ";", "return", "(", "EltWidth", "==", "32", "&&", "Alignment", ">=", "4", ")", "||", "(", "EltWidth", "==", "16", "&&", "Alignment", ">=", "2", ")", "||", "(", "EltWidth", "==", "8", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "load", "."], "TS_V_token": ["ARM", "ARM", "2", "128", "32", "4", "16", "2", "8"], "File": "ARMTargetTransformInfo14", "Func": "isLegalMaskedLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11750, "Length": 122} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "preferPredicateOverEpilogue", "(", "Loop", "*", "L", ",", "LoopInfo", "*", "LI", ",", "ScalarEvolution", "&", "SE", ",", "AssumptionCache", "&", "AC", ",", "TargetLibraryInfo", "*", "TLI", ",", "DominatorTree", "*", "DT", ",", "const", "LoopAccessInfo", "*", "LAI", ")", "{", "if", "(", "!", "EnableTailPredication", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Tail-predication not enabled.\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "L", "->", "getNumBlocks", "(", ")", ">", "1", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"preferPredicateOverEpilogue: not a single block \"", "\"loop.\\n\"", ")", ";", "return", "false", ";", "}", "assert", "(", "L", "->", "isInnermost", "(", ")", "&&", "\"preferPredicateOverEpilogue: inner-loop expected\"", ")", ";", "HardwareLoopInfo", "HWLoopInfo", "(", "L", ")", ";", "if", "(", "!", "HWLoopInfo", ".", "canAnalyze", "(", "*", "LI", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"analyzable.\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "isHardwareLoopProfitable", "(", "L", ",", "SE", ",", "AC", ",", "TLI", ",", "HWLoopInfo", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"profitable.\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "HWLoopInfo", ".", "isHardwareLoopCandidate", "(", "SE", ",", "*", "LI", ",", "*", "DT", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"a candidate.\\n\"", ")", ";", "return", "false", ";", "}", "return", "canTailPredicateLoop", "(", "L", ",", "LI", ",", "SE", ",", "DL", ",", "LAI", ")", ";", "}", ""], "natrual_language": ["Query", "the", "target", "whether", "it", "would", "be", "prefered", "to", "create", "a", "predicated", "vector", "loop", ",", "which", "can", "avoid", "the", "need", "to", "emit", "a", "scalar", "epilogue", "loop", "."], "TS_V_token": ["ARM", "ARM", "\"Tail-predication not enabled.\\n\"", "1", "\"preferPredicateOverEpilogue: not a single block \"", "\"loop.\\n\"", "\"preferPredicateOverEpilogue: inner-loop expected\"", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"analyzable.\\n\"", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"profitable.\\n\"", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"a candidate.\\n\""], "File": "ARMTargetTransformInfo14", "Func": "preferPredicateOverEpilogue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11751, "Length": 211} {"ground_truth": ["", "Optional", "<", "Value", "*", ">", "ARMTTIImpl", "::", "simplifyDemandedVectorEltsIntrinsic", "(", "InstCombiner", "&", "IC", ",", "IntrinsicInst", "&", "II", ",", "APInt", "OrigDemandedElts", ",", "APInt", "&", "UndefElts", ",", "APInt", "&", "UndefElts2", ",", "APInt", "&", "UndefElts3", ",", "std", "::", "function", "<", "void", "(", "Instruction", "*", ",", "unsigned", ",", "APInt", ",", "APInt", "&", ")", ">", "SimplifyAndSetOp", ")", "const", "{", "auto", "SimplifyNarrowInstrTopBottom", "=", "[", "&", "]", "(", "unsigned", "TopOpc", ")", "{", "unsigned", "NumElts", "=", "cast", "<", "FixedVectorType", ">", "(", "II", ".", "getType", "(", ")", ")", "->", "getNumElements", "(", ")", ";", "unsigned", "IsTop", "=", "cast", "<", "ConstantInt", ">", "(", "II", ".", "getOperand", "(", "TopOpc", ")", ")", "->", "getZExtValue", "(", ")", ";", "APInt", "DemandedElts", "=", "APInt", "::", "getSplat", "(", "NumElts", ",", "IsTop", "?", "APInt", "::", "getLowBitsSet", "(", "2", ",", "1", ")", ":", "APInt", "::", "getHighBitsSet", "(", "2", ",", "1", ")", ")", ";", "SimplifyAndSetOp", "(", "&", "II", ",", "0", ",", "OrigDemandedElts", "&", "DemandedElts", ",", "UndefElts", ")", ";", "UndefElts", "&=", "APInt", "::", "getSplat", "(", "NumElts", ",", "!", "IsTop", "?", "APInt", "::", "getLowBitsSet", "(", "2", ",", "1", ")", ":", "APInt", "::", "getHighBitsSet", "(", "2", ",", "1", ")", ")", ";", "return", "None", ";", "}", ";", "switch", "(", "II", ".", "getIntrinsicID", "(", ")", ")", "{", "default", ":", "break", ";", "case", "Intrinsic", "::", "arm_mve_vcvt_narrow", ":", "SimplifyNarrowInstrTopBottom", "(", "2", ")", ";", "break", ";", "case", "Intrinsic", "::", "arm_mve_vqmovn", ":", "SimplifyNarrowInstrTopBottom", "(", "4", ")", ";", "break", ";", "case", "Intrinsic", "::", "arm_mve_vshrn", ":", "SimplifyNarrowInstrTopBottom", "(", "7", ")", ";", "break", ";", "}", "return", "None", ";", "}", ""], "natrual_language": ["Can", "be", "used", "to", "implement", "target-specific", "instruction", "combining", "."], "TS_V_token": ["ARM", "ARM", "2", "1", "2", "1", "0", "2", "1", "2", "1", "Intrinsic::arm_mve_vcvt_narrow", "2", "Intrinsic::arm_mve_vqmovn", "4", "Intrinsic::arm_mve_vshrn", "7"], "File": "ARMTargetTransformInfo14", "Func": "simplifyDemandedVectorEltsIntrinsic", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11752, "Length": 236} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "optForSize", "(", ")", ")", "return", ";", "if", "(", "!", "ST", "->", "isThumb2", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "unsigned", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "ImmutableCallSite", "CS", "(", "&", "I", ")", ";", "if", "(", "const", "Function", "*", "F", "=", "CS", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "value_op_begin", "(", ")", ",", "I", ".", "value_op_end", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ")", ";", "}", "}", "DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "0", "4", "\"Cost of loop: \"", "\"\\n\"", "4", "12"], "File": "ARMTargetTransformInfo15", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11753, "Length": 324} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntImmCost", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "{", "if", "(", "(", "Opcode", "==", "Instruction", "::", "SDiv", "||", "Opcode", "==", "Instruction", "::", "UDiv", "||", "Opcode", "==", "Instruction", "::", "SRem", "||", "Opcode", "==", "Instruction", "::", "URem", ")", "&&", "Idx", "==", "1", ")", "return", "0", ";", "return", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "materializing", "a", "64-bit", "value", "."], "TS_V_token": ["ARM", "ARM", "1", "0"], "File": "ARMTargetTransformInfo16", "Func": "getIntImmCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11754, "Length": 65} {"ground_truth": ["", "InstructionCost", "ARMTTIImpl", "::", "getIntImmCostInst", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ",", "TTI", "::", "TargetCostKind", "CostKind", ",", "Instruction", "*", "Inst", ")", "{", "if", "(", "(", "Opcode", "==", "Instruction", "::", "SDiv", "||", "Opcode", "==", "Instruction", "::", "UDiv", "||", "Opcode", "==", "Instruction", "::", "SRem", "||", "Opcode", "==", "Instruction", "::", "URem", ")", "&&", "Idx", "==", "1", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "GetElementPtr", "&&", "Idx", "!=", "0", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "And", ")", "{", "if", "(", "Imm", "==", "255", "||", "Imm", "==", "65535", ")", "return", "0", ";", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "~", "Imm", ",", "Ty", ",", "CostKind", ")", ")", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Add", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "-", "Imm", ",", "Ty", ",", "CostKind", ")", ")", ";", "if", "(", "Opcode", "==", "Instruction", "::", "ICmp", "&&", "Imm", ".", "isNegative", "(", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "==", "32", ")", "{", "int64_t", "NegImm", "=", "-", "Imm", ".", "getSExtValue", "(", ")", ";", "if", "(", "ST", "->", "isThumb2", "(", ")", "&&", "NegImm", "<", "1", "<<", "12", ")", "return", "0", ";", "if", "(", "ST", "->", "isThumb", "(", ")", "&&", "NegImm", "<", "1", "<<", "8", ")", "return", "0", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Xor", "&&", "Imm", ".", "isAllOnes", "(", ")", ")", "return", "0", ";", "if", "(", "Inst", "&&", "(", "(", "ST", "->", "hasV6Ops", "(", ")", "&&", "!", "ST", "->", "isThumb", "(", ")", ")", "||", "ST", "->", "isThumb2", "(", ")", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "<=", "32", ")", "{", "if", "(", "isSSATMinMaxPattern", "(", "Inst", ",", "Imm", ")", "||", "(", "isa", "<", "ICmpInst", ">", "(", "Inst", ")", "&&", "Inst", "->", "hasOneUse", "(", ")", "&&", "isSSATMinMaxPattern", "(", "cast", "<", "Instruction", ">", "(", "*", "Inst", "->", "user_begin", "(", ")", ")", ",", "Imm", ")", ")", ")", "return", "0", ";", "}", "if", "(", "Inst", "&&", "ST", "->", "hasVFP2Base", "(", ")", "&&", "isFPSatMinMaxPattern", "(", "Inst", ",", "Imm", ")", ")", "return", "0", ";", "if", "(", "Inst", "&&", "Opcode", "==", "Instruction", "::", "ICmp", "&&", "Idx", "==", "1", "&&", "Imm", ".", "isAllOnesValue", "(", ")", ")", "{", "ICmpInst", "::", "Predicate", "Pred", "=", "cast", "<", "ICmpInst", ">", "(", "Inst", ")", "->", "getPredicate", "(", ")", ";", "if", "(", "Pred", "==", "ICmpInst", "::", "ICMP_SGT", "||", "Pred", "==", "ICmpInst", "::", "ICMP_SLE", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "Imm", "+", "1", ",", "Ty", ",", "CostKind", ")", ")", ";", "}", "return", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ";", "}", ""], "natrual_language": ["Return", "the", "expected", "cost", "of", "materialization", "for", "the", "given", "integer", "immediate", "of", "the", "specified", "type", "for", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0", "0", "255", "65535", "0", "32", "1", "12", "0", "1", "8", "0", "0", "32", "0", "0", "1", "1"], "File": "ARMTargetTransformInfo17", "Func": "getIntImmCostInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11755, "Length": 439} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isLegalMaskedGather", "(", "Type", "*", "Ty", ",", "Align", "Alignment", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", "||", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "unsigned", "EltWidth", "=", "Ty", "->", "getScalarSizeInBits", "(", ")", ";", "return", "(", "(", "EltWidth", "==", "32", "&&", "Alignment", ">=", "4", ")", "||", "(", "EltWidth", "==", "16", "&&", "Alignment", ">=", "2", ")", "||", "EltWidth", "==", "8", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "gather", "."], "TS_V_token": ["ARM", "ARM", "32", "4", "16", "2", "8"], "File": "ARMTargetTransformInfo17", "Func": "isLegalMaskedGather", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11756, "Length": 65} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "if", "(", "!", "ST", "->", "isThumb2", "(", ")", "||", "L", "->", "getNumBlocks", "(", ")", "!=", "1", ")", "return", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "BasicBlock", "*", "BB", "=", "L", "->", "getLoopLatch", "(", ")", ";", "if", "(", "BB", "->", "getParent", "(", ")", "->", "optForSize", "(", ")", ")", "return", ";", "unsigned", "Cost", "=", "0", ";", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "ImmutableCallSite", "CS", "(", "&", "I", ")", ";", "if", "(", "const", "Function", "*", "F", "=", "CS", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "value_op_begin", "(", ")", ",", "I", ".", "value_op_end", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ")", ";", "}", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0", "0", "4", "4", "12"], "File": "ARMTargetTransformInfo19", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11757, "Length": 236} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "areInlineCompatible", "(", "const", "Function", "*", "Caller", ",", "const", "Function", "*", "Callee", ")", "const", "{", "const", "TargetMachine", "&", "TM", "=", "getTLI", "(", ")", "->", "getTargetMachine", "(", ")", ";", "const", "FeatureBitset", "&", "CallerBits", "=", "TM", ".", "getSubtargetImpl", "(", "*", "Caller", ")", "->", "getFeatureBits", "(", ")", ";", "const", "FeatureBitset", "&", "CalleeBits", "=", "TM", ".", "getSubtargetImpl", "(", "*", "Callee", ")", "->", "getFeatureBits", "(", ")", ";", "bool", "MatchExact", "=", "(", "CallerBits", "&", "~", "InlineFeaturesAllowed", ")", "==", "(", "CalleeBits", "&", "~", "InlineFeaturesAllowed", ")", ";", "bool", "MatchSubset", "=", "(", "(", "CallerBits", "&", "CalleeBits", ")", "&", "InlineFeaturesAllowed", ")", "==", "(", "CalleeBits", "&", "InlineFeaturesAllowed", ")", ";", "return", "MatchExact", "&&", "MatchSubset", ";", "}", ""], "natrual_language": ["Determine", "whether", "a", "callee", "with", "the", "given", "TLI", "can", "be", "inlined", "into", "caller", "with", "this", "TLI", ",", "based", "on", "'nobuiltin", "'", "attributes", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetTransformInfo1", "Func": "areInlineCompatible", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11758, "Length": 106} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntImmCost", "(", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ",", "TTI", "::", "TargetCostKind", "CostKind", ")", "{", "assert", "(", "Ty", "->", "isIntegerTy", "(", ")", ")", ";", "unsigned", "Bits", "=", "Ty", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "Bits", "==", "0", "||", "Imm", ".", "getActiveBits", "(", ")", ">=", "64", ")", "return", "4", ";", "int64_t", "SImmVal", "=", "Imm", ".", "getSExtValue", "(", ")", ";", "uint64_t", "ZImmVal", "=", "Imm", ".", "getZExtValue", "(", ")", ";", "if", "(", "!", "ST", "->", "isThumb", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "if", "(", "ST", "->", "isThumb2", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "if", "(", "Bits", "==", "8", "||", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "256", ")", ")", "return", "1", ";", "if", "(", "(", "~", "SImmVal", "<", "256", ")", "||", "ARM_AM", "::", "isThumbImmShiftedVal", "(", "ZImmVal", ")", ")", "return", "2", ";", "return", "3", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "materializing", "a", "64-bit", "value", "."], "TS_V_token": ["ARM", "ARM", "0", "64", "4", "0", "65536", "ARM_AM::getSOImmVal", "1", "ARM_AM::getSOImmVal", "1", "1", "2", "3", "0", "65536", "ARM_AM::getT2SOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "1", "2", "3", "8", "0", "256", "1", "256", "ARM_AM::isThumbImmShiftedVal", "2", "3"], "File": "ARMTargetTransformInfo1", "Func": "getIntImmCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11759, "Length": 238} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntImmCostInst", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ",", "TTI", "::", "TargetCostKind", "CostKind", ")", "{", "if", "(", "(", "Opcode", "==", "Instruction", "::", "SDiv", "||", "Opcode", "==", "Instruction", "::", "UDiv", "||", "Opcode", "==", "Instruction", "::", "SRem", "||", "Opcode", "==", "Instruction", "::", "URem", ")", "&&", "Idx", "==", "1", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "And", ")", "{", "if", "(", "Imm", "==", "255", "||", "Imm", "==", "65535", ")", "return", "0", ";", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "~", "Imm", ",", "Ty", ",", "CostKind", ")", ")", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Add", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "-", "Imm", ",", "Ty", ",", "CostKind", ")", ")", ";", "if", "(", "Opcode", "==", "Instruction", "::", "ICmp", "&&", "Imm", ".", "isNegative", "(", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "==", "32", ")", "{", "int64_t", "NegImm", "=", "-", "Imm", ".", "getSExtValue", "(", ")", ";", "if", "(", "ST", "->", "isThumb2", "(", ")", "&&", "NegImm", "<", "1", "<<", "12", ")", "return", "0", ";", "if", "(", "ST", "->", "isThumb", "(", ")", "&&", "NegImm", "<", "1", "<<", "8", ")", "return", "0", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Xor", "&&", "Imm", ".", "isAllOnesValue", "(", ")", ")", "return", "0", ";", "return", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ";", "}", ""], "natrual_language": ["Return", "the", "expected", "cost", "of", "materialization", "for", "the", "given", "integer", "immediate", "of", "the", "specified", "type", "for", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "255", "65535", "0", "32", "1", "12", "0", "1", "8", "0", "0"], "File": "ARMTargetTransformInfo1", "Func": "getIntImmCostInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11760, "Length": 238} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "hasOptSize", "(", ")", ")", "return", ";", "if", "(", "!", "ST", "->", "isThumb2", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "unsigned", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "I", ".", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", ";", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "if", "(", "const", "Function", "*", "F", "=", "cast", "<", "CallBase", ">", "(", "I", ")", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "value_op_begin", "(", ")", ",", "I", ".", "value_op_end", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ",", "TargetTransformInfo", "::", "TCK_CodeSize", ")", ";", "}", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UpperBound", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "UP", ".", "UnrollAndJam", "=", "true", ";", "UP", ".", "UnrollAndJamInnerLoopThreshold", "=", "60", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "0", "4", "\"Cost of loop: \"", "\"\\n\"", "4", "60", "12"], "File": "ARMTargetTransformInfo1", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11761, "Length": 359} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isLegalMaskedGather", "(", "Type", "*", "Ty", ",", "MaybeAlign", "Alignment", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", "||", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "isa", "<", "VectorType", ">", "(", "Ty", ")", ")", "return", "false", ";", "unsigned", "EltWidth", "=", "Ty", "->", "getScalarSizeInBits", "(", ")", ";", "return", "(", "(", "EltWidth", "==", "32", "&&", "(", "!", "Alignment", "||", "*", "Alignment", ">=", "4", ")", ")", "||", "(", "EltWidth", "==", "16", "&&", "(", "!", "Alignment", "||", "*", "Alignment", ">=", "2", ")", ")", "||", "EltWidth", "==", "8", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "gather", "."], "TS_V_token": ["ARM", "ARM", "32", "4", "16", "2", "8"], "File": "ARMTargetTransformInfo1", "Func": "isLegalMaskedGather", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11762, "Length": 90} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isLegalMaskedLoad", "(", "Type", "*", "DataTy", ",", "MaybeAlign", "Alignment", ")", "{", "if", "(", "!", "EnableMaskedLoadStores", "||", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "auto", "*", "VecTy", "=", "dyn_cast", "<", "FixedVectorType", ">", "(", "DataTy", ")", ")", "{", "if", "(", "VecTy", "->", "getNumElements", "(", ")", "==", "2", ")", "return", "false", ";", "unsigned", "VecWidth", "=", "DataTy", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "VecWidth", "!=", "128", "&&", "VecTy", "->", "getElementType", "(", ")", "->", "isFloatingPointTy", "(", ")", ")", "return", "false", ";", "}", "unsigned", "EltWidth", "=", "DataTy", "->", "getScalarSizeInBits", "(", ")", ";", "return", "(", "EltWidth", "==", "32", "&&", "(", "!", "Alignment", "||", "*", "Alignment", ">=", "4", ")", ")", "||", "(", "EltWidth", "==", "16", "&&", "(", "!", "Alignment", "||", "*", "Alignment", ">=", "2", ")", ")", "||", "(", "EltWidth", "==", "8", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "load", "."], "TS_V_token": ["ARM", "ARM", "2", "128", "32", "4", "16", "2", "8"], "File": "ARMTargetTransformInfo1", "Func": "isLegalMaskedLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11763, "Length": 134} {"ground_truth": ["", "bool", "isLegalMaskedScatter", "(", "Type", "*", "Ty", ",", "MaybeAlign", "Alignment", ")", "{", "return", "isLegalMaskedGather", "(", "Ty", ",", "Alignment", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "scatter", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo1", "Func": "isLegalMaskedScatter", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11764, "Length": 20} {"ground_truth": ["", "bool", "isLegalMaskedStore", "(", "Type", "*", "DataTy", ",", "MaybeAlign", "Alignment", ")", "{", "return", "isLegalMaskedLoad", "(", "DataTy", ",", "Alignment", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "store", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo1", "Func": "isLegalMaskedStore", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11765, "Length": 20} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isLoweredToCall", "(", "const", "Function", "*", "F", ")", "{", "if", "(", "!", "F", "->", "isIntrinsic", "(", ")", ")", "BaseT", "::", "isLoweredToCall", "(", "F", ")", ";", "if", "(", "F", "->", "getName", "(", ")", ".", "startswith", "(", "\"llvm.arm\"", ")", ")", "return", "false", ";", "switch", "(", "F", "->", "getIntrinsicID", "(", ")", ")", "{", "default", ":", "break", ";", "case", "Intrinsic", "::", "powi", ":", "case", "Intrinsic", "::", "sin", ":", "case", "Intrinsic", "::", "cos", ":", "case", "Intrinsic", "::", "pow", ":", "case", "Intrinsic", "::", "log", ":", "case", "Intrinsic", "::", "log10", ":", "case", "Intrinsic", "::", "log2", ":", "case", "Intrinsic", "::", "exp", ":", "case", "Intrinsic", "::", "exp2", ":", "return", "true", ";", "case", "Intrinsic", "::", "sqrt", ":", "case", "Intrinsic", "::", "fabs", ":", "case", "Intrinsic", "::", "copysign", ":", "case", "Intrinsic", "::", "floor", ":", "case", "Intrinsic", "::", "ceil", ":", "case", "Intrinsic", "::", "trunc", ":", "case", "Intrinsic", "::", "rint", ":", "case", "Intrinsic", "::", "nearbyint", ":", "case", "Intrinsic", "::", "round", ":", "case", "Intrinsic", "::", "canonicalize", ":", "case", "Intrinsic", "::", "lround", ":", "case", "Intrinsic", "::", "llround", ":", "case", "Intrinsic", "::", "lrint", ":", "case", "Intrinsic", "::", "llrint", ":", "if", "(", "F", "->", "getReturnType", "(", ")", "->", "isDoubleTy", "(", ")", "&&", "!", "ST", "->", "hasFP64", "(", ")", ")", "return", "true", ";", "if", "(", "F", "->", "getReturnType", "(", ")", "->", "isHalfTy", "(", ")", "&&", "!", "ST", "->", "hasFullFP16", "(", ")", ")", "return", "true", ";", "return", "!", "ST", "->", "hasFPARMv8Base", "(", ")", "&&", "!", "ST", "->", "hasVFP2Base", "(", ")", ";", "case", "Intrinsic", "::", "masked_store", ":", "case", "Intrinsic", "::", "masked_load", ":", "case", "Intrinsic", "::", "masked_gather", ":", "case", "Intrinsic", "::", "masked_scatter", ":", "return", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ";", "case", "Intrinsic", "::", "sadd_with_overflow", ":", "case", "Intrinsic", "::", "uadd_with_overflow", ":", "case", "Intrinsic", "::", "ssub_with_overflow", ":", "case", "Intrinsic", "::", "usub_with_overflow", ":", "case", "Intrinsic", "::", "sadd_sat", ":", "case", "Intrinsic", "::", "uadd_sat", ":", "case", "Intrinsic", "::", "ssub_sat", ":", "case", "Intrinsic", "::", "usub_sat", ":", "return", "false", ";", "}", "return", "BaseT", "::", "isLoweredToCall", "(", "F", ")", ";", "}", ""], "natrual_language": ["Test", "whether", "calls", "to", "a", "function", "lower", "to", "actual", "program", "function", "calls", "."], "TS_V_token": ["ARM", "ARM", "\"llvm.arm\"", "Intrinsic::powi", "Intrinsic::sin", "Intrinsic::cos", "Intrinsic::pow", "Intrinsic::log", "Intrinsic::log10", "Intrinsic::log2", "Intrinsic::exp", "Intrinsic::exp2", "Intrinsic::sqrt", "Intrinsic::fabs", "Intrinsic::copysign", "Intrinsic::floor", "Intrinsic::ceil", "Intrinsic::trunc", "Intrinsic::rint", "Intrinsic::nearbyint", "Intrinsic::round", "Intrinsic::canonicalize", "Intrinsic::lround", "Intrinsic::llround", "Intrinsic::lrint", "Intrinsic::llrint", "ARM", "Intrinsic::masked_store", "Intrinsic::masked_load", "Intrinsic::masked_gather", "Intrinsic::masked_scatter", "Intrinsic::sadd_with_overflow", "Intrinsic::uadd_with_overflow", "Intrinsic::ssub_with_overflow", "Intrinsic::usub_with_overflow", "Intrinsic::sadd_sat", "Intrinsic::uadd_sat", "Intrinsic::ssub_sat", "Intrinsic::usub_sat"], "File": "ARMTargetTransformInfo1", "Func": "isLoweredToCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11766, "Length": 314} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "preferPredicateOverEpilogue", "(", "Loop", "*", "L", ",", "LoopInfo", "*", "LI", ",", "ScalarEvolution", "&", "SE", ",", "AssumptionCache", "&", "AC", ",", "TargetLibraryInfo", "*", "TLI", ",", "DominatorTree", "*", "DT", ",", "const", "LoopAccessInfo", "*", "LAI", ")", "{", "if", "(", "DisableTailPredication", ")", "return", "false", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "L", "->", "getNumBlocks", "(", ")", ">", "1", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"preferPredicateOverEpilogue: not a single block \"", "\"loop.\\n\"", ")", ";", "return", "false", ";", "}", "assert", "(", "L", "->", "empty", "(", ")", "&&", "\"preferPredicateOverEpilogue: inner-loop expected\"", ")", ";", "HardwareLoopInfo", "HWLoopInfo", "(", "L", ")", ";", "if", "(", "!", "HWLoopInfo", ".", "canAnalyze", "(", "*", "LI", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"analyzable.\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "isHardwareLoopProfitable", "(", "L", ",", "SE", ",", "AC", ",", "TLI", ",", "HWLoopInfo", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"profitable.\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "HWLoopInfo", ".", "isHardwareLoopCandidate", "(", "SE", ",", "*", "LI", ",", "*", "DT", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"a candidate.\\n\"", ")", ";", "return", "false", ";", "}", "return", "canTailPredicateLoop", "(", "L", ",", "LI", ",", "SE", ",", "DL", ",", "LAI", ")", ";", "}", ""], "natrual_language": ["Query", "the", "target", "whether", "it", "would", "be", "prefered", "to", "create", "a", "predicated", "vector", "loop", ",", "which", "can", "avoid", "the", "need", "to", "emit", "a", "scalar", "epilogue", "loop", "."], "TS_V_token": ["ARM", "ARM", "1", "\"preferPredicateOverEpilogue: not a single block \"", "\"loop.\\n\"", "\"preferPredicateOverEpilogue: inner-loop expected\"", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"analyzable.\\n\"", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"profitable.\\n\"", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"a candidate.\\n\""], "File": "ARMTargetTransformInfo1", "Func": "preferPredicateOverEpilogue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11767, "Length": 199} {"ground_truth": ["", "bool", "shouldBuildLookupTablesForConstant", "(", "Constant", "*", "C", ")", "const", "{", "if", "(", "ST", "->", "isROPI", "(", ")", "||", "ST", "->", "isRWPI", "(", ")", ")", "return", "!", "C", "->", "needsRelocation", "(", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "switches", "should", "be", "turned", "into", "lookup", "tables", "containing", "this", "constant", "value", "for", "the", "target", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo1", "Func": "shouldBuildLookupTablesForConstant", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11768, "Length": 35} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "optForSize", "(", ")", ")", "return", ";", "if", "(", "!", "ST", "->", "isThumb2", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "unsigned", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "ImmutableCallSite", "CS", "(", "&", "I", ")", ";", "if", "(", "const", "Function", "*", "F", "=", "CS", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "value_op_begin", "(", ")", ",", "I", ".", "value_op_end", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ")", ";", "}", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "0", "4", "\"Cost of loop: \"", "\"\\n\"", "4", "12"], "File": "ARMTargetTransformInfo20", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11769, "Length": 324} {"ground_truth": ["", "void", "*", "getAdjustedAnalysisPointer", "(", "const", "void", "*", "ID", ")", "override", "{", "if", "(", "ID", "==", "&", "TargetTransformInfo", "::", "ID", ")", "return", "(", "TargetTransformInfo", "*", ")", "this", ";", "return", "this", ";", "}", ""], "natrual_language": ["getAdjustedAnalysisPointer", "-", "This", "method", "is", "used", "when", "a", "pass", "implements", "an", "analysis", "interface", "through", "multiple", "inheritance", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo21", "Func": "getAdjustedAnalysisPointer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11770, "Length": 31} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "TargetTransformInfo", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo21", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11771, "Length": 18} {"ground_truth": ["", "unsigned", "ARMTTI", "::", "getIntImmCost", "(", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "const", "{", "assert", "(", "Ty", "->", "isIntegerTy", "(", ")", ")", ";", "unsigned", "Bits", "=", "Ty", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "Bits", "==", "0", "||", "Bits", ">", "32", ")", "return", "4", ";", "int32_t", "SImmVal", "=", "Imm", ".", "getSExtValue", "(", ")", ";", "uint32_t", "ZImmVal", "=", "Imm", ".", "getZExtValue", "(", ")", ";", "if", "(", "!", "ST", "->", "isThumb", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "if", "(", "ST", "->", "isThumb2", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "if", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "256", ")", "return", "1", ";", "if", "(", "(", "~", "ZImmVal", "<", "256", ")", "||", "ARM_AM", "::", "isThumbImmShiftedVal", "(", "ZImmVal", ")", ")", "return", "2", ";", "return", "3", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "materializing", "a", "64-bit", "value", "."], "TS_V_token": ["ARM", "ARMTTI::getIntImmCost", "0", "32", "4", "0", "65536", "ARM_AM::getSOImmVal", "1", "ARM_AM::getSOImmVal", "1", "1", "2", "3", "0", "65536", "ARM_AM::getT2SOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "1", "2", "3", "0", "256", "1", "256", "ARM_AM::isThumbImmShiftedVal", "2", "3"], "File": "ARMTargetTransformInfo21", "Func": "getIntImmCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11772, "Length": 224} {"ground_truth": ["", "unsigned", "getNumberOfRegisters", "(", "bool", "Vector", ")", "const", "override", "{", "if", "(", "Vector", ")", "{", "if", "(", "ST", "->", "hasNEON", "(", ")", ")", "return", "16", ";", "return", "0", ";", "}", "if", "(", "ST", "->", "isThumb1Only", "(", ")", ")", "return", "8", ";", "return", "13", ";", "}", ""], "natrual_language": ["\ufffd", "?", "Vector", "TTI", "begin", "\ufffd", "?"], "TS_V_token": ["ARM", "16", "0", "8", "13"], "File": "ARMTargetTransformInfo21", "Func": "getNumberOfRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11773, "Length": 44} {"ground_truth": ["", "void", "initializePass", "(", ")", "override", "{", "pushTTIStack", "(", "this", ")", ";", "}", ""], "natrual_language": ["initializePass", "-", "This", "method", "may", "be", "overriden", "by", "immutable", "passes", "to", "allow", "them", "to", "perform", "various", "initialization", "actions", "they", "require", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo21", "Func": "initializePass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11774, "Length": 12} {"ground_truth": ["", "unsigned", "getNumberOfRegisters", "(", "bool", "Vector", ")", "{", "if", "(", "Vector", ")", "{", "if", "(", "ST", "->", "hasNEON", "(", ")", ")", "return", "16", ";", "if", "(", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "8", ";", "return", "0", ";", "}", "if", "(", "ST", "->", "isThumb1Only", "(", ")", ")", "return", "8", ";", "return", "13", ";", "}", ""], "natrual_language": ["\ufffd", "?", "Vector", "TTI", "begin", "\ufffd", "?"], "TS_V_token": ["ARM", "16", "8", "0", "8", "13"], "File": "ARMTargetTransformInfo22", "Func": "getNumberOfRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11775, "Length": 53} {"ground_truth": ["", "bool", "isLegalMaskedStore", "(", "Type", "*", "DataTy", ")", "{", "return", "isLegalMaskedLoad", "(", "DataTy", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "store", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo22", "Func": "isLegalMaskedStore", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11776, "Length": 15} {"ground_truth": ["", "unsigned", "ARMTTIImpl", "::", "getIntImmCost", "(", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "{", "assert", "(", "Ty", "->", "isIntegerTy", "(", ")", ")", ";", "unsigned", "Bits", "=", "Ty", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "Bits", "==", "0", "||", "Bits", ">", "32", ")", "return", "4", ";", "int32_t", "SImmVal", "=", "Imm", ".", "getSExtValue", "(", ")", ";", "uint32_t", "ZImmVal", "=", "Imm", ".", "getZExtValue", "(", ")", ";", "if", "(", "!", "ST", "->", "isThumb", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "if", "(", "ST", "->", "isThumb2", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "if", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "256", ")", "return", "1", ";", "if", "(", "(", "~", "ZImmVal", "<", "256", ")", "||", "ARM_AM", "::", "isThumbImmShiftedVal", "(", "ZImmVal", ")", ")", "return", "2", ";", "return", "3", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "materializing", "a", "64-bit", "value", "."], "TS_V_token": ["ARM", "ARM", "0", "32", "4", "0", "65536", "ARM_AM::getSOImmVal", "1", "ARM_AM::getSOImmVal", "1", "1", "2", "3", "0", "65536", "ARM_AM::getT2SOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "1", "2", "3", "0", "256", "1", "256", "ARM_AM::isThumbImmShiftedVal", "2", "3"], "File": "ARMTargetTransformInfo23", "Func": "getIntImmCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11777, "Length": 223} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "hasOptSize", "(", ")", ")", "return", ";", "if", "(", "!", "ST", "->", "isThumb2", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "unsigned", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "ImmutableCallSite", "CS", "(", "&", "I", ")", ";", "if", "(", "const", "Function", "*", "F", "=", "CS", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "if", "(", "I", ".", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", ";", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "value_op_begin", "(", ")", ",", "I", ".", "value_op_end", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ")", ";", "}", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UpperBound", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "UP", ".", "UnrollAndJam", "=", "true", ";", "UP", ".", "UnrollAndJamInnerLoopThreshold", "=", "60", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "0", "4", "\"Cost of loop: \"", "\"\\n\"", "4", "60", "12"], "File": "ARMTargetTransformInfo25", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11778, "Length": 356} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isLegalMaskedLoad", "(", "Type", "*", "DataTy", ")", "{", "if", "(", "!", "EnableMaskedLoadStores", "||", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "DataTy", "->", "isVectorTy", "(", ")", ")", "{", "unsigned", "VecWidth", "=", "DataTy", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "VecWidth", "!=", "128", ")", "return", "false", ";", "}", "unsigned", "EltWidth", "=", "DataTy", "->", "getScalarSizeInBits", "(", ")", ";", "return", "EltWidth", "==", "32", "||", "EltWidth", "==", "16", "||", "EltWidth", "==", "8", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "load", "."], "TS_V_token": ["ARM", "ARM", "128", "32", "16", "8"], "File": "ARMTargetTransformInfo25", "Func": "isLegalMaskedLoad", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11779, "Length": 76} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getArithmeticReductionCost", "(", "unsigned", "Opcode", ",", "VectorType", "*", "ValTy", ",", "bool", "IsPairwiseForm", ",", "TTI", "::", "TargetCostKind", "CostKind", ")", "{", "EVT", "ValVT", "=", "TLI", "->", "getValueType", "(", "DL", ",", "ValTy", ")", ";", "int", "ISD", "=", "TLI", "->", "InstructionOpcodeToISD", "(", "Opcode", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", "||", "!", "ValVT", ".", "isSimple", "(", ")", "||", "ISD", "!=", "ISD", "::", "ADD", ")", "return", "BaseT", "::", "getArithmeticReductionCost", "(", "Opcode", ",", "ValTy", ",", "IsPairwiseForm", ",", "CostKind", ")", ";", "std", "::", "pair", "<", "int", ",", "MVT", ">", "LT", "=", "TLI", "->", "getTypeLegalizationCost", "(", "DL", ",", "ValTy", ")", ";", "static", "const", "CostTblEntry", "CostTblAdd", "[", "]", "{", "{", "ISD", "::", "ADD", ",", "MVT", "::", "v16i8", ",", "1", "}", ",", "{", "ISD", "::", "ADD", ",", "MVT", "::", "v8i16", ",", "1", "}", ",", "{", "ISD", "::", "ADD", ",", "MVT", "::", "v4i32", ",", "1", "}", ",", "}", ";", "if", "(", "const", "auto", "*", "Entry", "=", "CostTableLookup", "(", "CostTblAdd", ",", "ISD", ",", "LT", ".", "second", ")", ")", "return", "Entry", "->", "Cost", "*", "ST", "->", "getMVEVectorCostFactor", "(", ")", "*", "LT", ".", "first", ";", "return", "BaseT", "::", "getArithmeticReductionCost", "(", "Opcode", ",", "ValTy", ",", "IsPairwiseForm", ",", "CostKind", ")", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "vector", "reduction", "intrinsics", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::ADD", "MVT::v16i8", "1", "ISD::ADD", "MVT::v8i16", "1", "ISD::ADD", "MVT::v4i32", "1"], "File": "ARMTargetTransformInfo29", "Func": "getArithmeticReductionCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11780, "Length": 191} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntImmCostInst", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ",", "TTI", "::", "TargetCostKind", "CostKind", ",", "Instruction", "*", "Inst", ")", "{", "if", "(", "(", "Opcode", "==", "Instruction", "::", "SDiv", "||", "Opcode", "==", "Instruction", "::", "UDiv", "||", "Opcode", "==", "Instruction", "::", "SRem", "||", "Opcode", "==", "Instruction", "::", "URem", ")", "&&", "Idx", "==", "1", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "And", ")", "{", "if", "(", "Imm", "==", "255", "||", "Imm", "==", "65535", ")", "return", "0", ";", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "~", "Imm", ",", "Ty", ",", "CostKind", ")", ")", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Add", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "-", "Imm", ",", "Ty", ",", "CostKind", ")", ")", ";", "if", "(", "Opcode", "==", "Instruction", "::", "ICmp", "&&", "Imm", ".", "isNegative", "(", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "==", "32", ")", "{", "int64_t", "NegImm", "=", "-", "Imm", ".", "getSExtValue", "(", ")", ";", "if", "(", "ST", "->", "isThumb2", "(", ")", "&&", "NegImm", "<", "1", "<<", "12", ")", "return", "0", ";", "if", "(", "ST", "->", "isThumb", "(", ")", "&&", "NegImm", "<", "1", "<<", "8", ")", "return", "0", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Xor", "&&", "Imm", ".", "isAllOnesValue", "(", ")", ")", "return", "0", ";", "if", "(", "Inst", "&&", "(", "(", "ST", "->", "hasV6Ops", "(", ")", "&&", "!", "ST", "->", "isThumb", "(", ")", ")", "||", "ST", "->", "isThumb2", "(", ")", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "<=", "32", ")", "{", "if", "(", "isSSATMinMaxPattern", "(", "Inst", ",", "Imm", ")", "||", "(", "isa", "<", "ICmpInst", ">", "(", "Inst", ")", "&&", "Inst", "->", "hasOneUse", "(", ")", "&&", "isSSATMinMaxPattern", "(", "cast", "<", "Instruction", ">", "(", "*", "Inst", "->", "user_begin", "(", ")", ")", ",", "Imm", ")", ")", ")", "return", "0", ";", "}", "return", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ";", "}", ""], "natrual_language": ["Return", "the", "expected", "cost", "of", "materialization", "for", "the", "given", "integer", "immediate", "of", "the", "specified", "type", "for", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "255", "65535", "0", "32", "1", "12", "0", "1", "8", "0", "0", "32", "0"], "File": "ARMTargetTransformInfo29", "Func": "getIntImmCostInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11781, "Length": 325} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntrinsicInstrCost", "(", "const", "IntrinsicCostAttributes", "&", "ICA", ",", "TTI", "::", "TargetCostKind", "CostKind", ")", "{", "switch", "(", "ICA", ".", "getID", "(", ")", ")", "{", "case", "Intrinsic", "::", "get_active_lane_mask", ":", "if", "(", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "0", ";", "break", ";", "case", "Intrinsic", "::", "sadd_sat", ":", "case", "Intrinsic", "::", "ssub_sat", ":", "case", "Intrinsic", "::", "uadd_sat", ":", "case", "Intrinsic", "::", "usub_sat", ":", "{", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "break", ";", "Type", "*", "VT", "=", "ICA", ".", "getReturnType", "(", ")", ";", "if", "(", "!", "VT", "->", "isVectorTy", "(", ")", "&&", "!", "ICA", ".", "getVectorFactor", "(", ")", ".", "isScalar", "(", ")", ")", "VT", "=", "VectorType", "::", "get", "(", "VT", ",", "ICA", ".", "getVectorFactor", "(", ")", ")", ";", "std", "::", "pair", "<", "int", ",", "MVT", ">", "LT", "=", "TLI", "->", "getTypeLegalizationCost", "(", "DL", ",", "VT", ")", ";", "if", "(", "LT", ".", "second", "==", "MVT", "::", "v4i32", "||", "LT", ".", "second", "==", "MVT", "::", "v8i16", "||", "LT", ".", "second", "==", "MVT", "::", "v16i8", ")", "{", "unsigned", "Instrs", "=", "LT", ".", "second", ".", "getScalarSizeInBits", "(", ")", "==", "ICA", ".", "getReturnType", "(", ")", "->", "getScalarSizeInBits", "(", ")", "?", "1", ":", "4", ";", "return", "LT", ".", "first", "*", "ST", "->", "getMVEVectorCostFactor", "(", ")", "*", "Instrs", ";", "}", "break", ";", "}", "}", "return", "BaseT", "::", "getIntrinsicInstrCost", "(", "ICA", ",", "CostKind", ")", ";", "}", ""], "natrual_language": ["Get", "intrinsic", "cost", "based", "on", "arguments", "."], "TS_V_token": ["ARM", "ARM", "Intrinsic::get_active_lane_mask", "0", "Intrinsic::sadd_sat", "Intrinsic::ssub_sat", "Intrinsic::uadd_sat", "Intrinsic::usub_sat", "MVT::v4i32", "MVT::v8i16", "MVT::v16i8", "1", "4"], "File": "ARMTargetTransformInfo29", "Func": "getIntrinsicInstrCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11782, "Length": 220} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "hasOptSize", "(", ")", ")", "return", ";", "if", "(", "!", "ST", "->", "isThumb2", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "if", "(", "getBooleanLoopAttribute", "(", "L", ",", "\"llvm.loop.isvectorized\"", ")", ")", "return", ";", "unsigned", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "I", ".", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", ";", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "if", "(", "const", "Function", "*", "F", "=", "cast", "<", "CallBase", ">", "(", "I", ")", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "operand_values", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ",", "TargetTransformInfo", "::", "TCK_SizeAndLatency", ")", ";", "}", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UpperBound", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "UP", ".", "UnrollAndJam", "=", "true", ";", "UP", ".", "UnrollAndJamInnerLoopThreshold", "=", "60", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "\"llvm.loop.isvectorized\"", "0", "4", "\"Cost of loop: \"", "\"\\n\"", "4", "60", "12"], "File": "ARMTargetTransformInfo29", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11783, "Length": 364} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isHardwareLoopProfitable", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "AssumptionCache", "&", "AC", ",", "TargetLibraryInfo", "*", "LibInfo", ",", "HardwareLoopInfo", "&", "HWLoopInfo", ")", "{", "if", "(", "!", "ST", "->", "hasLOB", "(", ")", "||", "DisableLowOverheadLoops", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: Disabled\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "SE", ".", "hasLoopInvariantBackedgeTakenCount", "(", "L", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: No BETC\\n\"", ")", ";", "return", "false", ";", "}", "const", "SCEV", "*", "BackedgeTakenCount", "=", "SE", ".", "getBackedgeTakenCount", "(", "L", ")", ";", "if", "(", "isa", "<", "SCEVCouldNotCompute", ">", "(", "BackedgeTakenCount", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: Uncomputable BETC\\n\"", ")", ";", "return", "false", ";", "}", "const", "SCEV", "*", "TripCountSCEV", "=", "SE", ".", "getAddExpr", "(", "BackedgeTakenCount", ",", "SE", ".", "getOne", "(", "BackedgeTakenCount", "->", "getType", "(", ")", ")", ")", ";", "if", "(", "SE", ".", "getUnsignedRangeMax", "(", "TripCountSCEV", ")", ".", "getBitWidth", "(", ")", ">", "32", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: Trip count does not fit into 32bits\\n\"", ")", ";", "return", "false", ";", "}", "auto", "IsHardwareLoopIntrinsic", "=", "[", "]", "(", "Instruction", "&", "I", ")", "{", "if", "(", "auto", "*", "Call", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ")", "{", "switch", "(", "Call", "->", "getIntrinsicID", "(", ")", ")", "{", "default", ":", "break", ";", "case", "Intrinsic", "::", "start_loop_iterations", ":", "case", "Intrinsic", "::", "test_set_loop_iterations", ":", "case", "Intrinsic", "::", "loop_decrement", ":", "case", "Intrinsic", "::", "loop_decrement_reg", ":", "return", "true", ";", "}", "}", "return", "false", ";", "}", ";", "bool", "IsTailPredLoop", "=", "false", ";", "auto", "ScanLoop", "=", "[", "&", "]", "(", "Loop", "*", "L", ")", "{", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "maybeLoweredToCall", "(", "I", ")", "||", "IsHardwareLoopIntrinsic", "(", "I", ")", "||", "isa", "<", "InlineAsm", ">", "(", "I", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: Bad instruction: \"", "<<", "I", "<<", "\"\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "auto", "*", "II", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ")", "IsTailPredLoop", "|=", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "get_active_lane_mask", "||", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "arm_mve_vctp8", "||", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "arm_mve_vctp16", "||", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "arm_mve_vctp32", "||", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "arm_mve_vctp64", ";", "}", "}", "return", "true", ";", "}", ";", "for", "(", "auto", "Inner", ":", "*", "L", ")", "if", "(", "!", "ScanLoop", "(", "Inner", ")", ")", "return", "false", ";", "if", "(", "!", "ScanLoop", "(", "L", ")", ")", "return", "false", ";", "LLVMContext", "&", "C", "=", "L", "->", "getHeader", "(", ")", "->", "getContext", "(", ")", ";", "HWLoopInfo", ".", "CounterInReg", "=", "true", ";", "HWLoopInfo", ".", "IsNestingLegal", "=", "false", ";", "HWLoopInfo", ".", "PerformEntryTest", "=", "AllowWLSLoops", "&&", "!", "IsTailPredLoop", ";", "HWLoopInfo", ".", "CountType", "=", "Type", "::", "getInt32Ty", "(", "C", ")", ";", "HWLoopInfo", ".", "LoopDecrement", "=", "ConstantInt", "::", "get", "(", "HWLoopInfo", ".", "CountType", ",", "1", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Query", "the", "target", "whether", "it", "would", "be", "profitable", "to", "convert", "the", "given", "loop", "into", "a", "hardware", "loop", "."], "TS_V_token": ["ARM", "ARM", "\"ARMHWLoops: Disabled\\n\"", "\"ARMHWLoops: No BETC\\n\"", "\"ARMHWLoops: Uncomputable BETC\\n\"", "32", "\"ARMHWLoops: Trip count does not fit into 32bits\\n\"", "Intrinsic::start_loop_iterations", "Intrinsic::test_set_loop_iterations", "Intrinsic::loop_decrement", "Intrinsic::loop_decrement_reg", "\"ARMHWLoops: Bad instruction: \"", "\"\\n\"", "Intrinsic::get_active_lane_mask", "Intrinsic::arm_mve_vctp8", "Intrinsic::arm_mve_vctp16", "Intrinsic::arm_mve_vctp32", "Intrinsic::arm_mve_vctp64", "1"], "File": "ARMTargetTransformInfo29", "Func": "isHardwareLoopProfitable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11784, "Length": 480} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntImmCost", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "{", "if", "(", "(", "Opcode", "==", "Instruction", "::", "SDiv", "||", "Opcode", "==", "Instruction", "::", "UDiv", "||", "Opcode", "==", "Instruction", "::", "SRem", "||", "Opcode", "==", "Instruction", "::", "URem", ")", "&&", "Idx", "==", "1", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "And", ")", "{", "if", "(", "Imm", "==", "255", "||", "Imm", "==", "65535", ")", "return", "0", ";", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ",", "getIntImmCost", "(", "~", "Imm", ",", "Ty", ")", ")", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Add", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ",", "getIntImmCost", "(", "-", "Imm", ",", "Ty", ")", ")", ";", "if", "(", "Opcode", "==", "Instruction", "::", "ICmp", "&&", "Imm", ".", "isNegative", "(", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "==", "32", ")", "{", "int64_t", "NegImm", "=", "-", "Imm", ".", "getSExtValue", "(", ")", ";", "if", "(", "ST", "->", "isThumb2", "(", ")", "&&", "NegImm", "<", "1", "<<", "12", ")", "return", "0", ";", "if", "(", "ST", "->", "isThumb", "(", ")", "&&", "NegImm", "<", "1", "<<", "8", ")", "return", "0", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Xor", "&&", "Imm", ".", "isAllOnesValue", "(", ")", ")", "return", "0", ";", "return", "getIntImmCost", "(", "Imm", ",", "Ty", ")", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "materializing", "a", "64-bit", "value", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "255", "65535", "0", "32", "1", "12", "0", "1", "8", "0", "0"], "File": "ARMTargetTransformInfo2", "Func": "getIntImmCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11785, "Length": 223} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "hasOptSize", "(", ")", ")", "return", ";", "if", "(", "!", "ST", "->", "isThumb2", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "unsigned", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "ImmutableCallSite", "CS", "(", "&", "I", ")", ";", "if", "(", "const", "Function", "*", "F", "=", "CS", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "value_op_begin", "(", ")", ",", "I", ".", "value_op_end", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ")", ";", "}", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UpperBound", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "UP", ".", "UnrollAndJam", "=", "true", ";", "UP", ".", "UnrollAndJamInnerLoopThreshold", "=", "60", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "0", "4", "\"Cost of loop: \"", "\"\\n\"", "4", "60", "12"], "File": "ARMTargetTransformInfo2", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11786, "Length": 342} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isLoweredToCall", "(", "const", "Function", "*", "F", ")", "{", "if", "(", "!", "F", "->", "isIntrinsic", "(", ")", ")", "return", "BaseT", "::", "isLoweredToCall", "(", "F", ")", ";", "if", "(", "F", "->", "getName", "(", ")", ".", "startswith", "(", "\"llvm.arm\"", ")", ")", "return", "false", ";", "switch", "(", "F", "->", "getIntrinsicID", "(", ")", ")", "{", "default", ":", "break", ";", "case", "Intrinsic", "::", "powi", ":", "case", "Intrinsic", "::", "sin", ":", "case", "Intrinsic", "::", "cos", ":", "case", "Intrinsic", "::", "pow", ":", "case", "Intrinsic", "::", "log", ":", "case", "Intrinsic", "::", "log10", ":", "case", "Intrinsic", "::", "log2", ":", "case", "Intrinsic", "::", "exp", ":", "case", "Intrinsic", "::", "exp2", ":", "return", "true", ";", "case", "Intrinsic", "::", "sqrt", ":", "case", "Intrinsic", "::", "fabs", ":", "case", "Intrinsic", "::", "copysign", ":", "case", "Intrinsic", "::", "floor", ":", "case", "Intrinsic", "::", "ceil", ":", "case", "Intrinsic", "::", "trunc", ":", "case", "Intrinsic", "::", "rint", ":", "case", "Intrinsic", "::", "nearbyint", ":", "case", "Intrinsic", "::", "round", ":", "case", "Intrinsic", "::", "canonicalize", ":", "case", "Intrinsic", "::", "lround", ":", "case", "Intrinsic", "::", "llround", ":", "case", "Intrinsic", "::", "lrint", ":", "case", "Intrinsic", "::", "llrint", ":", "if", "(", "F", "->", "getReturnType", "(", ")", "->", "isDoubleTy", "(", ")", "&&", "!", "ST", "->", "hasFP64", "(", ")", ")", "return", "true", ";", "if", "(", "F", "->", "getReturnType", "(", ")", "->", "isHalfTy", "(", ")", "&&", "!", "ST", "->", "hasFullFP16", "(", ")", ")", "return", "true", ";", "return", "!", "ST", "->", "hasFPARMv8Base", "(", ")", "&&", "!", "ST", "->", "hasVFP2Base", "(", ")", ";", "case", "Intrinsic", "::", "masked_store", ":", "case", "Intrinsic", "::", "masked_load", ":", "case", "Intrinsic", "::", "masked_gather", ":", "case", "Intrinsic", "::", "masked_scatter", ":", "return", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ";", "case", "Intrinsic", "::", "sadd_with_overflow", ":", "case", "Intrinsic", "::", "uadd_with_overflow", ":", "case", "Intrinsic", "::", "ssub_with_overflow", ":", "case", "Intrinsic", "::", "usub_with_overflow", ":", "case", "Intrinsic", "::", "sadd_sat", ":", "case", "Intrinsic", "::", "uadd_sat", ":", "case", "Intrinsic", "::", "ssub_sat", ":", "case", "Intrinsic", "::", "usub_sat", ":", "return", "false", ";", "}", "return", "BaseT", "::", "isLoweredToCall", "(", "F", ")", ";", "}", ""], "natrual_language": ["Test", "whether", "calls", "to", "a", "function", "lower", "to", "actual", "program", "function", "calls", "."], "TS_V_token": ["ARM", "ARM", "\"llvm.arm\"", "Intrinsic::powi", "Intrinsic::sin", "Intrinsic::cos", "Intrinsic::pow", "Intrinsic::log", "Intrinsic::log10", "Intrinsic::log2", "Intrinsic::exp", "Intrinsic::exp2", "Intrinsic::sqrt", "Intrinsic::fabs", "Intrinsic::copysign", "Intrinsic::floor", "Intrinsic::ceil", "Intrinsic::trunc", "Intrinsic::rint", "Intrinsic::nearbyint", "Intrinsic::round", "Intrinsic::canonicalize", "Intrinsic::lround", "Intrinsic::llround", "Intrinsic::lrint", "Intrinsic::llrint", "ARM", "Intrinsic::masked_store", "Intrinsic::masked_load", "Intrinsic::masked_gather", "Intrinsic::masked_scatter", "Intrinsic::sadd_with_overflow", "Intrinsic::uadd_with_overflow", "Intrinsic::ssub_with_overflow", "Intrinsic::usub_with_overflow", "Intrinsic::sadd_sat", "Intrinsic::uadd_sat", "Intrinsic::ssub_sat", "Intrinsic::usub_sat"], "File": "ARMTargetTransformInfo32", "Func": "isLoweredToCall", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11787, "Length": 315} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "hasOptSize", "(", ")", ")", "return", ";", "if", "(", "!", "ST", "->", "isThumb2", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "if", "(", "getBooleanLoopAttribute", "(", "L", ",", "\"llvm.loop.isvectorized\"", ")", ")", "return", ";", "unsigned", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "I", ".", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", ";", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "if", "(", "const", "Function", "*", "F", "=", "cast", "<", "CallBase", ">", "(", "I", ")", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "value_op_begin", "(", ")", ",", "I", ".", "value_op_end", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ",", "TargetTransformInfo", "::", "TCK_SizeAndLatency", ")", ";", "}", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UpperBound", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "UP", ".", "UnrollAndJam", "=", "true", ";", "UP", ".", "UnrollAndJamInnerLoopThreshold", "=", "60", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "\"llvm.loop.isvectorized\"", "0", "4", "\"Cost of loop: \"", "\"\\n\"", "4", "60", "12"], "File": "ARMTargetTransformInfo35", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11788, "Length": 370} {"ground_truth": ["", "bool", "isLegalMaskedGather", "(", "Type", "*", "Ty", ",", "MaybeAlign", "Alignment", ")", "{", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "target", "supports", "masked", "gather", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo35", "Func": "isLegalMaskedGather", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11789, "Length": 15} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntrinsicInstrCost", "(", "const", "IntrinsicCostAttributes", "&", "ICA", ",", "TTI", "::", "TargetCostKind", "CostKind", ")", "{", "if", "(", "ST", "->", "hasMVEIntegerOps", "(", ")", "&&", "ICA", ".", "getID", "(", ")", "==", "Intrinsic", "::", "get_active_lane_mask", ")", "return", "0", ";", "return", "BaseT", "::", "getIntrinsicInstrCost", "(", "ICA", ",", "CostKind", ")", ";", "}", ""], "natrual_language": ["Get", "intrinsic", "cost", "based", "on", "arguments", "."], "TS_V_token": ["ARM", "ARM", "Intrinsic::get_active_lane_mask", "0"], "File": "ARMTargetTransformInfo3", "Func": "getIntrinsicInstrCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11790, "Length": 48} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "hasOptSize", "(", ")", ")", "return", ";", "if", "(", "!", "ST", "->", "isThumb2", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "unsigned", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "I", ".", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", ";", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "if", "(", "const", "Function", "*", "F", "=", "cast", "<", "CallBase", ">", "(", "I", ")", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "value_op_begin", "(", ")", ",", "I", ".", "value_op_end", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ",", "TargetTransformInfo", "::", "TCK_SizeAndLatency", ")", ";", "}", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UpperBound", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "UP", ".", "UnrollAndJam", "=", "true", ";", "UP", ".", "UnrollAndJamInnerLoopThreshold", "=", "60", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "0", "4", "\"Cost of loop: \"", "\"\\n\"", "4", "60", "12"], "File": "ARMTargetTransformInfo3", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11791, "Length": 359} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "isHardwareLoopProfitable", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "AssumptionCache", "&", "AC", ",", "TargetLibraryInfo", "*", "LibInfo", ",", "HardwareLoopInfo", "&", "HWLoopInfo", ")", "{", "if", "(", "!", "ST", "->", "hasLOB", "(", ")", "||", "DisableLowOverheadLoops", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: Disabled\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "SE", ".", "hasLoopInvariantBackedgeTakenCount", "(", "L", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: No BETC\\n\"", ")", ";", "return", "false", ";", "}", "const", "SCEV", "*", "BackedgeTakenCount", "=", "SE", ".", "getBackedgeTakenCount", "(", "L", ")", ";", "if", "(", "isa", "<", "SCEVCouldNotCompute", ">", "(", "BackedgeTakenCount", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: Uncomputable BETC\\n\"", ")", ";", "return", "false", ";", "}", "const", "SCEV", "*", "TripCountSCEV", "=", "SE", ".", "getAddExpr", "(", "BackedgeTakenCount", ",", "SE", ".", "getOne", "(", "BackedgeTakenCount", "->", "getType", "(", ")", ")", ")", ";", "if", "(", "SE", ".", "getUnsignedRangeMax", "(", "TripCountSCEV", ")", ".", "getBitWidth", "(", ")", ">", "32", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: Trip count does not fit into 32bits\\n\"", ")", ";", "return", "false", ";", "}", "auto", "IsHardwareLoopIntrinsic", "=", "[", "]", "(", "Instruction", "&", "I", ")", "{", "if", "(", "auto", "*", "Call", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ")", "{", "switch", "(", "Call", "->", "getIntrinsicID", "(", ")", ")", "{", "default", ":", "break", ";", "case", "Intrinsic", "::", "set_loop_iterations", ":", "case", "Intrinsic", "::", "test_set_loop_iterations", ":", "case", "Intrinsic", "::", "loop_decrement", ":", "case", "Intrinsic", "::", "loop_decrement_reg", ":", "return", "true", ";", "}", "}", "return", "false", ";", "}", ";", "auto", "ScanLoop", "=", "[", "&", "]", "(", "Loop", "*", "L", ")", "{", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "maybeLoweredToCall", "(", "I", ")", "||", "IsHardwareLoopIntrinsic", "(", "I", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARMHWLoops: Bad instruction: \"", "<<", "I", "<<", "\"\\n\"", ")", ";", "return", "false", ";", "}", "}", "}", "return", "true", ";", "}", ";", "for", "(", "auto", "Inner", ":", "*", "L", ")", "if", "(", "!", "ScanLoop", "(", "Inner", ")", ")", "return", "false", ";", "if", "(", "!", "ScanLoop", "(", "L", ")", ")", "return", "false", ";", "LLVMContext", "&", "C", "=", "L", "->", "getHeader", "(", ")", "->", "getContext", "(", ")", ";", "HWLoopInfo", ".", "CounterInReg", "=", "true", ";", "HWLoopInfo", ".", "IsNestingLegal", "=", "false", ";", "HWLoopInfo", ".", "PerformEntryTest", "=", "true", ";", "HWLoopInfo", ".", "CountType", "=", "Type", "::", "getInt32Ty", "(", "C", ")", ";", "HWLoopInfo", ".", "LoopDecrement", "=", "ConstantInt", "::", "get", "(", "HWLoopInfo", ".", "CountType", ",", "1", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Query", "the", "target", "whether", "it", "would", "be", "profitable", "to", "convert", "the", "given", "loop", "into", "a", "hardware", "loop", "."], "TS_V_token": ["ARM", "ARM", "\"ARMHWLoops: Disabled\\n\"", "\"ARMHWLoops: No BETC\\n\"", "\"ARMHWLoops: Uncomputable BETC\\n\"", "32", "\"ARMHWLoops: Trip count does not fit into 32bits\\n\"", "Intrinsic::set_loop_iterations", "Intrinsic::test_set_loop_iterations", "Intrinsic::loop_decrement", "Intrinsic::loop_decrement_reg", "\"ARMHWLoops: Bad instruction: \"", "\"\\n\"", "1"], "File": "ARMTargetTransformInfo3", "Func": "isHardwareLoopProfitable", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11792, "Length": 397} {"ground_truth": ["", "bool", "ARMTTIImpl", "::", "preferPredicateOverEpilogue", "(", "Loop", "*", "L", ",", "LoopInfo", "*", "LI", ",", "ScalarEvolution", "&", "SE", ",", "AssumptionCache", "&", "AC", ",", "TargetLibraryInfo", "*", "TLI", ",", "DominatorTree", "*", "DT", ",", "const", "LoopAccessInfo", "*", "LAI", ")", "{", "if", "(", "!", "EnableTailPredication", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Tail-predication not enabled.\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "if", "(", "L", "->", "getNumBlocks", "(", ")", ">", "1", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"preferPredicateOverEpilogue: not a single block \"", "\"loop.\\n\"", ")", ";", "return", "false", ";", "}", "assert", "(", "L", "->", "empty", "(", ")", "&&", "\"preferPredicateOverEpilogue: inner-loop expected\"", ")", ";", "HardwareLoopInfo", "HWLoopInfo", "(", "L", ")", ";", "if", "(", "!", "HWLoopInfo", ".", "canAnalyze", "(", "*", "LI", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"analyzable.\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "isHardwareLoopProfitable", "(", "L", ",", "SE", ",", "AC", ",", "TLI", ",", "HWLoopInfo", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"profitable.\\n\"", ")", ";", "return", "false", ";", "}", "if", "(", "!", "HWLoopInfo", ".", "isHardwareLoopCandidate", "(", "SE", ",", "*", "LI", ",", "*", "DT", ")", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"a candidate.\\n\"", ")", ";", "return", "false", ";", "}", "return", "canTailPredicateLoop", "(", "L", ",", "LI", ",", "SE", ",", "DL", ",", "LAI", ")", ";", "}", ""], "natrual_language": ["Query", "the", "target", "whether", "it", "would", "be", "prefered", "to", "create", "a", "predicated", "vector", "loop", ",", "which", "can", "avoid", "the", "need", "to", "emit", "a", "scalar", "epilogue", "loop", "."], "TS_V_token": ["ARM", "ARM", "\"Tail-predication not enabled.\\n\"", "1", "\"preferPredicateOverEpilogue: not a single block \"", "\"loop.\\n\"", "\"preferPredicateOverEpilogue: inner-loop expected\"", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"analyzable.\\n\"", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"profitable.\\n\"", "\"preferPredicateOverEpilogue: hardware-loop is not \"", "\"a candidate.\\n\""], "File": "ARMTargetTransformInfo40", "Func": "preferPredicateOverEpilogue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11793, "Length": 211} {"ground_truth": ["", "InstructionCost", "ARMTTIImpl", "::", "getIntImmCostInst", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ",", "TTI", "::", "TargetCostKind", "CostKind", ",", "Instruction", "*", "Inst", ")", "{", "if", "(", "(", "Opcode", "==", "Instruction", "::", "SDiv", "||", "Opcode", "==", "Instruction", "::", "UDiv", "||", "Opcode", "==", "Instruction", "::", "SRem", "||", "Opcode", "==", "Instruction", "::", "URem", ")", "&&", "Idx", "==", "1", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "GetElementPtr", "&&", "Idx", "!=", "0", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "And", ")", "{", "if", "(", "Imm", "==", "255", "||", "Imm", "==", "65535", ")", "return", "0", ";", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "~", "Imm", ",", "Ty", ",", "CostKind", ")", ")", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Add", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "-", "Imm", ",", "Ty", ",", "CostKind", ")", ")", ";", "if", "(", "Opcode", "==", "Instruction", "::", "ICmp", "&&", "Imm", ".", "isNegative", "(", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "==", "32", ")", "{", "int64_t", "NegImm", "=", "-", "Imm", ".", "getSExtValue", "(", ")", ";", "if", "(", "ST", "->", "isThumb2", "(", ")", "&&", "NegImm", "<", "1", "<<", "12", ")", "return", "0", ";", "if", "(", "ST", "->", "isThumb", "(", ")", "&&", "NegImm", "<", "1", "<<", "8", ")", "return", "0", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Xor", "&&", "Imm", ".", "isAllOnesValue", "(", ")", ")", "return", "0", ";", "if", "(", "Inst", "&&", "(", "(", "ST", "->", "hasV6Ops", "(", ")", "&&", "!", "ST", "->", "isThumb", "(", ")", ")", "||", "ST", "->", "isThumb2", "(", ")", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "<=", "32", ")", "{", "if", "(", "isSSATMinMaxPattern", "(", "Inst", ",", "Imm", ")", "||", "(", "isa", "<", "ICmpInst", ">", "(", "Inst", ")", "&&", "Inst", "->", "hasOneUse", "(", ")", "&&", "isSSATMinMaxPattern", "(", "cast", "<", "Instruction", ">", "(", "*", "Inst", "->", "user_begin", "(", ")", ")", ",", "Imm", ")", ")", ")", "return", "0", ";", "}", "return", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ";", "}", ""], "natrual_language": ["Return", "the", "expected", "cost", "of", "materialization", "for", "the", "given", "integer", "immediate", "of", "the", "specified", "type", "for", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "0", "0", "255", "65535", "0", "32", "1", "12", "0", "1", "8", "0", "0", "32", "0"], "File": "ARMTargetTransformInfo41", "Func": "getIntImmCostInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11794, "Length": 340} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getNumMemOps", "(", "const", "IntrinsicInst", "*", "I", ")", "const", "{", "MemOp", "MOp", ";", "unsigned", "DstAddrSpace", "=", "~", "0u", ";", "unsigned", "SrcAddrSpace", "=", "~", "0u", ";", "const", "Function", "*", "F", "=", "I", "->", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "if", "(", "const", "auto", "*", "MC", "=", "dyn_cast", "<", "MemTransferInst", ">", "(", "I", ")", ")", "{", "ConstantInt", "*", "C", "=", "dyn_cast", "<", "ConstantInt", ">", "(", "MC", "->", "getLength", "(", ")", ")", ";", "if", "(", "!", "C", ")", "return", "-", "1", ";", "const", "unsigned", "Size", "=", "C", "->", "getValue", "(", ")", ".", "getZExtValue", "(", ")", ";", "const", "Align", "DstAlign", "=", "*", "MC", "->", "getDestAlign", "(", ")", ";", "const", "Align", "SrcAlign", "=", "*", "MC", "->", "getSourceAlign", "(", ")", ";", "MOp", "=", "MemOp", "::", "Copy", "(", "Size", ",", "false", ",", "DstAlign", ",", "SrcAlign", ",", "false", ",", "false", ")", ";", "DstAddrSpace", "=", "MC", "->", "getDestAddressSpace", "(", ")", ";", "SrcAddrSpace", "=", "MC", "->", "getSourceAddressSpace", "(", ")", ";", "}", "else", "if", "(", "const", "auto", "*", "MS", "=", "dyn_cast", "<", "MemSetInst", ">", "(", "I", ")", ")", "{", "ConstantInt", "*", "C", "=", "dyn_cast", "<", "ConstantInt", ">", "(", "MS", "->", "getLength", "(", ")", ")", ";", "if", "(", "!", "C", ")", "return", "-", "1", ";", "const", "unsigned", "Size", "=", "C", "->", "getValue", "(", ")", ".", "getZExtValue", "(", ")", ";", "const", "Align", "DstAlign", "=", "*", "MS", "->", "getDestAlign", "(", ")", ";", "MOp", "=", "MemOp", "::", "Set", "(", "Size", ",", "false", ",", "DstAlign", ",", "false", ",", "false", ")", ";", "DstAddrSpace", "=", "MS", "->", "getDestAddressSpace", "(", ")", ";", "}", "else", "llvm_unreachable", "(", "\"Expected a memcpy/move or memset!\"", ")", ";", "unsigned", "Limit", ",", "Factor", "=", "2", ";", "switch", "(", "I", "->", "getIntrinsicID", "(", ")", ")", "{", "case", "Intrinsic", "::", "memcpy", ":", "Limit", "=", "TLI", "->", "getMaxStoresPerMemcpy", "(", "F", "->", "hasMinSize", "(", ")", ")", ";", "break", ";", "case", "Intrinsic", "::", "memmove", ":", "Limit", "=", "TLI", "->", "getMaxStoresPerMemmove", "(", "F", "->", "hasMinSize", "(", ")", ")", ";", "break", ";", "case", "Intrinsic", "::", "memset", ":", "Limit", "=", "TLI", "->", "getMaxStoresPerMemset", "(", "F", "->", "hasMinSize", "(", ")", ")", ";", "Factor", "=", "1", ";", "break", ";", "default", ":", "llvm_unreachable", "(", "\"Expected a memcpy/move or memset!\"", ")", ";", "}", "std", "::", "vector", "<", "EVT", ">", "MemOps", ";", "if", "(", "getTLI", "(", ")", "->", "findOptimalMemOpLowering", "(", "MemOps", ",", "Limit", ",", "MOp", ",", "DstAddrSpace", ",", "SrcAddrSpace", ",", "F", "->", "getAttributes", "(", ")", ")", ")", "return", "MemOps", ".", "size", "(", ")", "*", "Factor", ";", "return", "-", "1", ";", "}", ""], "natrual_language": ["Given", "a", "memcpy/memset/memmove", "instruction", ",", "return", "the", "number", "of", "memory", "operations", "performed", ",", "via", "querying", "findOptimalMemOpLowering", "."], "TS_V_token": ["ARM", "ARM", "0u", "0u", "1", "1", "\"Expected a memcpy/move or memset!\"", "2", "Intrinsic::memcpy", "Intrinsic::memmove", "Intrinsic::memset", "1", "\"Expected a memcpy/move or memset!\"", "1"], "File": "ARMTargetTransformInfo41", "Func": "getNumMemOps", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11795, "Length": 389} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "UP", ".", "UpperBound", "=", "true", ";", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "hasOptSize", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "if", "(", "getBooleanLoopAttribute", "(", "L", ",", "\"llvm.loop.isvectorized\"", ")", ")", "return", ";", "InstructionCost", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "I", ".", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", ";", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "if", "(", "const", "Function", "*", "F", "=", "cast", "<", "CallBase", ">", "(", "I", ")", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "operand_values", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ",", "TargetTransformInfo", "::", "TCK_SizeAndLatency", ")", ";", "}", "}", "unsigned", "UnrollCount", "=", "4", ";", "if", "(", "ST", "->", "isThumb1Only", "(", ")", ")", "{", "unsigned", "ExitingValues", "=", "0", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitBlocks", ";", "L", "->", "getExitBlocks", "(", "ExitBlocks", ")", ";", "for", "(", "auto", "*", "Exit", ":", "ExitBlocks", ")", "{", "unsigned", "LiveOuts", "=", "count_if", "(", "Exit", "->", "phis", "(", ")", ",", "[", "]", "(", "auto", "&", "PH", ")", "{", "return", "PH", ".", "getNumOperands", "(", ")", "!=", "1", "||", "!", "isa", "<", "GetElementPtrInst", ">", "(", "PH", ".", "getOperand", "(", "0", ")", ")", ";", "}", ")", ";", "ExitingValues", "=", "ExitingValues", "<", "LiveOuts", "?", "LiveOuts", ":", "ExitingValues", ";", "}", "if", "(", "ExitingValues", ")", "UnrollCount", "/=", "ExitingValues", ";", "if", "(", "UnrollCount", "<=", "1", ")", "return", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Default Runtime Unroll Count: \"", "<<", "UnrollCount", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "UnrollCount", ";", "UP", ".", "UnrollAndJam", "=", "true", ";", "UP", ".", "UnrollAndJamInnerLoopThreshold", "=", "60", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "\"llvm.loop.isvectorized\"", "0", "4", "4", "0", "4", "1", "0", "1", "\"Cost of loop: \"", "\"\\n\"", "\"Default Runtime Unroll Count: \"", "\"\\n\"", "60", "12"], "File": "ARMTargetTransformInfo41", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11796, "Length": 483} {"ground_truth": ["", "int", "ARMTTIImpl", "::", "getIntImmCost", "(", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "{", "assert", "(", "Ty", "->", "isIntegerTy", "(", ")", ")", ";", "unsigned", "Bits", "=", "Ty", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "Bits", "==", "0", "||", "Bits", ">", "64", ")", "return", "4", ";", "int64_t", "SImmVal", "=", "Imm", ".", "getSExtValue", "(", ")", ";", "uint64_t", "ZImmVal", "=", "Imm", ".", "getZExtValue", "(", ")", ";", "if", "(", "!", "ST", "->", "isThumb", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "if", "(", "ST", "->", "isThumb2", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "if", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "256", ")", "return", "1", ";", "if", "(", "(", "~", "ZImmVal", "<", "256", ")", "||", "ARM_AM", "::", "isThumbImmShiftedVal", "(", "ZImmVal", ")", ")", "return", "2", ";", "return", "3", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "materializing", "a", "64-bit", "value", "."], "TS_V_token": ["ARM", "ARM", "0", "64", "4", "0", "65536", "ARM_AM::getSOImmVal", "1", "ARM_AM::getSOImmVal", "1", "1", "2", "3", "0", "65536", "ARM_AM::getT2SOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "1", "2", "3", "0", "256", "1", "256", "ARM_AM::isThumbImmShiftedVal", "2", "3"], "File": "ARMTargetTransformInfo49", "Func": "getIntImmCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11797, "Length": 223} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "hasOptSize", "(", ")", ")", "return", ";", "if", "(", "!", "ST", "->", "isThumb2", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "unsigned", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "ImmutableCallSite", "CS", "(", "&", "I", ")", ";", "if", "(", "const", "Function", "*", "F", "=", "CS", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "value_op_begin", "(", ")", ",", "I", ".", "value_op_end", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ")", ";", "}", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "UP", ".", "UnrollAndJam", "=", "true", ";", "UP", ".", "UnrollAndJamInnerLoopThreshold", "=", "60", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "0", "4", "\"Cost of loop: \"", "\"\\n\"", "4", "60", "12"], "File": "ARMTargetTransformInfo53", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11798, "Length": 336} {"ground_truth": ["", "InstructionCost", "ARMTTIImpl", "::", "getArithmeticReductionCost", "(", "unsigned", "Opcode", ",", "VectorType", "*", "ValTy", ",", "bool", "IsPairwiseForm", ",", "TTI", "::", "TargetCostKind", "CostKind", ")", "{", "EVT", "ValVT", "=", "TLI", "->", "getValueType", "(", "DL", ",", "ValTy", ")", ";", "int", "ISD", "=", "TLI", "->", "InstructionOpcodeToISD", "(", "Opcode", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", "||", "!", "ValVT", ".", "isSimple", "(", ")", "||", "ISD", "!=", "ISD", "::", "ADD", ")", "return", "BaseT", "::", "getArithmeticReductionCost", "(", "Opcode", ",", "ValTy", ",", "IsPairwiseForm", ",", "CostKind", ")", ";", "std", "::", "pair", "<", "InstructionCost", ",", "MVT", ">", "LT", "=", "TLI", "->", "getTypeLegalizationCost", "(", "DL", ",", "ValTy", ")", ";", "static", "const", "CostTblEntry", "CostTblAdd", "[", "]", "{", "{", "ISD", "::", "ADD", ",", "MVT", "::", "v16i8", ",", "1", "}", ",", "{", "ISD", "::", "ADD", ",", "MVT", "::", "v8i16", ",", "1", "}", ",", "{", "ISD", "::", "ADD", ",", "MVT", "::", "v4i32", ",", "1", "}", ",", "}", ";", "if", "(", "const", "auto", "*", "Entry", "=", "CostTableLookup", "(", "CostTblAdd", ",", "ISD", ",", "LT", ".", "second", ")", ")", "return", "Entry", "->", "Cost", "*", "ST", "->", "getMVEVectorCostFactor", "(", "CostKind", ")", "*", "LT", ".", "first", ";", "return", "BaseT", "::", "getArithmeticReductionCost", "(", "Opcode", ",", "ValTy", ",", "IsPairwiseForm", ",", "CostKind", ")", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "vector", "reduction", "intrinsics", "."], "TS_V_token": ["ARM", "ARM", "ISD::ADD", "ISD::ADD", "MVT::v16i8", "1", "ISD::ADD", "MVT::v8i16", "1", "ISD::ADD", "MVT::v4i32", "1"], "File": "ARMTargetTransformInfo54", "Func": "getArithmeticReductionCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11799, "Length": 192} {"ground_truth": ["", "InstructionCost", "ARMTTIImpl", "::", "getIntImmCostInst", "(", "unsigned", "Opcode", ",", "unsigned", "Idx", ",", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ",", "TTI", "::", "TargetCostKind", "CostKind", ",", "Instruction", "*", "Inst", ")", "{", "if", "(", "(", "Opcode", "==", "Instruction", "::", "SDiv", "||", "Opcode", "==", "Instruction", "::", "UDiv", "||", "Opcode", "==", "Instruction", "::", "SRem", "||", "Opcode", "==", "Instruction", "::", "URem", ")", "&&", "Idx", "==", "1", ")", "return", "0", ";", "if", "(", "Opcode", "==", "Instruction", "::", "And", ")", "{", "if", "(", "Imm", "==", "255", "||", "Imm", "==", "65535", ")", "return", "0", ";", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "~", "Imm", ",", "Ty", ",", "CostKind", ")", ")", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Add", ")", "return", "std", "::", "min", "(", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ",", "getIntImmCost", "(", "-", "Imm", ",", "Ty", ",", "CostKind", ")", ")", ";", "if", "(", "Opcode", "==", "Instruction", "::", "ICmp", "&&", "Imm", ".", "isNegative", "(", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "==", "32", ")", "{", "int64_t", "NegImm", "=", "-", "Imm", ".", "getSExtValue", "(", ")", ";", "if", "(", "ST", "->", "isThumb2", "(", ")", "&&", "NegImm", "<", "1", "<<", "12", ")", "return", "0", ";", "if", "(", "ST", "->", "isThumb", "(", ")", "&&", "NegImm", "<", "1", "<<", "8", ")", "return", "0", ";", "}", "if", "(", "Opcode", "==", "Instruction", "::", "Xor", "&&", "Imm", ".", "isAllOnesValue", "(", ")", ")", "return", "0", ";", "if", "(", "Inst", "&&", "(", "(", "ST", "->", "hasV6Ops", "(", ")", "&&", "!", "ST", "->", "isThumb", "(", ")", ")", "||", "ST", "->", "isThumb2", "(", ")", ")", "&&", "Ty", "->", "getIntegerBitWidth", "(", ")", "<=", "32", ")", "{", "if", "(", "isSSATMinMaxPattern", "(", "Inst", ",", "Imm", ")", "||", "(", "isa", "<", "ICmpInst", ">", "(", "Inst", ")", "&&", "Inst", "->", "hasOneUse", "(", ")", "&&", "isSSATMinMaxPattern", "(", "cast", "<", "Instruction", ">", "(", "*", "Inst", "->", "user_begin", "(", ")", ")", ",", "Imm", ")", ")", ")", "return", "0", ";", "}", "return", "getIntImmCost", "(", "Imm", ",", "Ty", ",", "CostKind", ")", ";", "}", ""], "natrual_language": ["Return", "the", "expected", "cost", "of", "materialization", "for", "the", "given", "integer", "immediate", "of", "the", "specified", "type", "for", "a", "given", "instruction", "."], "TS_V_token": ["ARM", "ARM", "1", "0", "255", "65535", "0", "32", "1", "12", "0", "1", "8", "0", "0", "32", "0"], "File": "ARMTargetTransformInfo54", "Func": "getIntImmCostInst", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11800, "Length": 325} {"ground_truth": ["", "void", "ARMTTIImpl", "::", "getUnrollingPreferences", "(", "Loop", "*", "L", ",", "ScalarEvolution", "&", "SE", ",", "TTI", "::", "UnrollingPreferences", "&", "UP", ")", "{", "UP", ".", "UpperBound", "=", "true", ";", "if", "(", "!", "ST", "->", "isMClass", "(", ")", ")", "return", "BasicTTIImplBase", "::", "getUnrollingPreferences", "(", "L", ",", "SE", ",", "UP", ")", ";", "UP", ".", "OptSizeThreshold", "=", "0", ";", "UP", ".", "PartialOptSizeThreshold", "=", "0", ";", "if", "(", "L", "->", "getHeader", "(", ")", "->", "getParent", "(", ")", "->", "hasOptSize", "(", ")", ")", "return", ";", "SmallVector", "<", "BasicBlock", "*", ",", "4", ">", "ExitingBlocks", ";", "L", "->", "getExitingBlocks", "(", "ExitingBlocks", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Loop has:\\n\"", "<<", "\"Blocks: \"", "<<", "L", "->", "getNumBlocks", "(", ")", "<<", "\"\\n\"", "<<", "\"Exit blocks: \"", "<<", "ExitingBlocks", ".", "size", "(", ")", "<<", "\"\\n\"", ")", ";", "if", "(", "ExitingBlocks", ".", "size", "(", ")", ">", "2", ")", "return", ";", "if", "(", "ST", "->", "hasBranchPredictor", "(", ")", "&&", "L", "->", "getNumBlocks", "(", ")", ">", "4", ")", "return", ";", "if", "(", "getBooleanLoopAttribute", "(", "L", ",", "\"llvm.loop.isvectorized\"", ")", ")", "return", ";", "InstructionCost", "Cost", "=", "0", ";", "for", "(", "auto", "*", "BB", ":", "L", "->", "getBlocks", "(", ")", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "BB", ")", "{", "if", "(", "I", ".", "getType", "(", ")", "->", "isVectorTy", "(", ")", ")", "return", ";", "if", "(", "isa", "<", "CallInst", ">", "(", "I", ")", "||", "isa", "<", "InvokeInst", ">", "(", "I", ")", ")", "{", "if", "(", "const", "Function", "*", "F", "=", "cast", "<", "CallBase", ">", "(", "I", ")", ".", "getCalledFunction", "(", ")", ")", "{", "if", "(", "!", "isLoweredToCall", "(", "F", ")", ")", "continue", ";", "}", "return", ";", "}", "SmallVector", "<", "const", "Value", "*", ",", "4", ">", "Operands", "(", "I", ".", "operand_values", "(", ")", ")", ";", "Cost", "+=", "getUserCost", "(", "&", "I", ",", "Operands", ",", "TargetTransformInfo", "::", "TCK_SizeAndLatency", ")", ";", "}", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"Cost of loop: \"", "<<", "Cost", "<<", "\"\\n\"", ")", ";", "UP", ".", "Partial", "=", "true", ";", "UP", ".", "Runtime", "=", "true", ";", "UP", ".", "UnrollRemainder", "=", "true", ";", "UP", ".", "DefaultUnrollRuntimeCount", "=", "4", ";", "UP", ".", "UnrollAndJam", "=", "true", ";", "UP", ".", "UnrollAndJamInnerLoopThreshold", "=", "60", ";", "if", "(", "Cost", "<", "12", ")", "UP", ".", "Force", "=", "true", ";", "}", ""], "natrual_language": ["Get", "target-customized", "preferences", "for", "the", "generic", "loop", "unrolling", "transformation", "."], "TS_V_token": ["ARM", "ARM", "0", "0", "4", "\"Loop has:\\n\"", "\"Blocks: \"", "\"\\n\"", "\"Exit blocks: \"", "\"\\n\"", "2", "4", "\"llvm.loop.isvectorized\"", "0", "4", "\"Cost of loop: \"", "\"\\n\"", "4", "60", "12"], "File": "ARMTargetTransformInfo54", "Func": "getUnrollingPreferences", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11801, "Length": 353} {"ground_truth": ["", "unsigned", "ARMTTIImpl", "::", "getFPOpCost", "(", "Type", "*", "Ty", ")", "{", "if", "(", "ST", "->", "hasVFP2", "(", ")", "&&", "!", "ST", "->", "isThumb1Only", "(", ")", ")", "{", "if", "(", "Ty", "->", "isFloatTy", "(", ")", ")", "{", "return", "TargetTransformInfo", "::", "TCC_Basic", ";", "}", "if", "(", "Ty", "->", "isDoubleTy", "(", ")", ")", "{", "return", "ST", "->", "isFPOnlySP", "(", ")", "?", "TargetTransformInfo", "::", "TCC_Expensive", ":", "TargetTransformInfo", "::", "TCC_Basic", ";", "}", "}", "return", "TargetTransformInfo", "::", "TCC_Expensive", ";", "}", ""], "natrual_language": ["Return", "the", "expected", "cost", "of", "supporting", "the", "floating", "point", "operation", "of", "the", "specified", "type", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMTargetTransformInfo62", "Func": "getFPOpCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11802, "Length": 73} {"ground_truth": ["", "virtual", "void", "*", "getAdjustedAnalysisPointer", "(", "const", "void", "*", "ID", ")", "{", "if", "(", "ID", "==", "&", "TargetTransformInfo", "::", "ID", ")", "return", "(", "TargetTransformInfo", "*", ")", "this", ";", "return", "this", ";", "}", ""], "natrual_language": ["getAdjustedAnalysisPointer", "-", "This", "method", "is", "used", "when", "a", "pass", "implements", "an", "analysis", "interface", "through", "multiple", "inheritance", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo", "Func": "getAdjustedAnalysisPointer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11803, "Length": 31} {"ground_truth": ["", "virtual", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "{", "TargetTransformInfo", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11804, "Length": 18} {"ground_truth": ["", "unsigned", "ARMTTI", "::", "getIntImmCost", "(", "const", "APInt", "&", "Imm", ",", "Type", "*", "Ty", ")", "const", "{", "assert", "(", "Ty", "->", "isIntegerTy", "(", ")", ")", ";", "unsigned", "Bits", "=", "Ty", "->", "getPrimitiveSizeInBits", "(", ")", ";", "if", "(", "Bits", "==", "0", "||", "Bits", ">", "32", ")", "return", "4", ";", "int32_t", "SImmVal", "=", "Imm", ".", "getSExtValue", "(", ")", ";", "uint32_t", "ZImmVal", "=", "Imm", ".", "getZExtValue", "(", ")", ";", "if", "(", "!", "ST", "->", "isThumb", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getSOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "else", "if", "(", "ST", "->", "isThumb2", "(", ")", ")", "{", "if", "(", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "65536", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "ZImmVal", ")", "!=", "-", "1", ")", "||", "(", "ARM_AM", "::", "getT2SOImmVal", "(", "~", "ZImmVal", ")", "!=", "-", "1", ")", ")", "return", "1", ";", "return", "ST", "->", "hasV6T2Ops", "(", ")", "?", "2", ":", "3", ";", "}", "else", "{", "if", "(", "SImmVal", ">=", "0", "&&", "SImmVal", "<", "256", ")", "return", "1", ";", "if", "(", "(", "~", "ZImmVal", "<", "256", ")", "||", "ARM_AM", "::", "isThumbImmShiftedVal", "(", "ZImmVal", ")", ")", "return", "2", ";", "return", "3", ";", "}", "return", "2", ";", "}", ""], "natrual_language": ["Calculate", "the", "cost", "of", "materializing", "a", "64-bit", "value", "."], "TS_V_token": ["ARM", "ARMTTI::getIntImmCost", "0", "32", "4", "0", "65536", "ARM_AM::getSOImmVal", "1", "ARM_AM::getSOImmVal", "1", "1", "2", "3", "0", "65536", "ARM_AM::getT2SOImmVal", "1", "ARM_AM::getT2SOImmVal", "1", "1", "2", "3", "0", "256", "1", "256", "ARM_AM::isThumbImmShiftedVal", "2", "3", "2"], "File": "ARMTargetTransformInfo", "Func": "getIntImmCost", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11805, "Length": 231} {"ground_truth": ["", "unsigned", "getNumberOfRegisters", "(", "bool", "Vector", ")", "{", "if", "(", "Vector", ")", "{", "if", "(", "ST", "->", "hasNEON", "(", ")", ")", "return", "16", ";", "return", "0", ";", "}", "if", "(", "ST", "->", "isThumb1Only", "(", ")", ")", "return", "8", ";", "return", "13", ";", "}", ""], "natrual_language": ["\ufffd", "?", "Vector", "TTI", "begin", "\ufffd", "?"], "TS_V_token": ["ARM", "16", "0", "8", "13"], "File": "ARMTargetTransformInfo", "Func": "getNumberOfRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11806, "Length": 42} {"ground_truth": ["", "virtual", "void", "initializePass", "(", ")", "{", "pushTTIStack", "(", "this", ")", ";", "}", ""], "natrual_language": ["initializePass", "-", "This", "method", "may", "be", "overriden", "by", "immutable", "passes", "to", "allow", "them", "to", "perform", "various", "initialization", "actions", "they", "require", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo", "Func": "initializePass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11807, "Length": 12} {"ground_truth": ["", "bool", "isFPVectorizationPotentiallyUnsafe", "(", ")", "{", "return", "!", "ST", "->", "isTargetDarwin", "(", ")", ";", "}", ""], "natrual_language": ["Indicate", "that", "it", "is", "potentially", "unsafe", "to", "automatically", "vectorize", "floating-point", "operations", "because", "the", "semantics", "of", "vector", "and", "scalar", "floating-point", "semantics", "may", "differ", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo", "Func": "isFPVectorizationPotentiallyUnsafe", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11808, "Length": 14} {"ground_truth": ["", "bool", "shouldBuildLookupTablesForConstant", "(", "Constant", "*", "C", ")", "const", "{", "if", "(", "ST", "->", "isROPI", "(", ")", "||", "ST", "->", "isRWPI", "(", ")", "||", "ST", "->", "isPIP", "(", ")", ")", "return", "!", "C", "->", "needsRelocation", "(", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "switches", "should", "be", "turned", "into", "lookup", "tables", "containing", "this", "constant", "value", "for", "the", "target", "."], "TS_V_token": ["ARM"], "File": "ARMTargetTransformInfo", "Func": "shouldBuildLookupTablesForConstant", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11809, "Length": 41} {"ground_truth": ["", "const", "std", "::", "string", "&", "ARMToARMStub", "::", "name", "(", ")", "const", "{", "return", "m_Name", ";", "}", ""], "natrual_language": ["Gets", "the", "name", "of", "the", "pass", "we", "are", "mixed", "into", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMToARMStub", "Func": "name", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11810, "Length": 16} {"ground_truth": ["", "size_t", "ARMToARMStub", "::", "size", "(", ")", "const", "{", "return", "m_Size", ";", "}", ""], "natrual_language": ["The", "number", "of", "name/type", "pairs", "is", "returned", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMToARMStub", "Func": "size", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11811, "Length": 12} {"ground_truth": ["", "const", "std", "::", "string", "&", "ARMToTHMStub", "::", "name", "(", ")", "const", "{", "return", "m_Name", ";", "}", ""], "natrual_language": ["Gets", "the", "name", "of", "the", "pass", "we", "are", "mixed", "into", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMToTHMStub", "Func": "name", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11812, "Length": 16} {"ground_truth": ["", "size_t", "ARMToTHMStub", "::", "size", "(", ")", "const", "{", "return", "m_Size", ";", "}", ""], "natrual_language": ["The", "number", "of", "name/type", "pairs", "is", "returned", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMToTHMStub", "Func": "size", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11813, "Length": 12} {"ground_truth": ["", "void", "UnwindOpcodeAssembler", "::", "EmitRegSave", "(", "uint32_t", "RegSave", ")", "{", "if", "(", "RegSave", "==", "0u", ")", "return", ";", "if", "(", "RegSave", "&", "(", "1u", "<<", "4", ")", ")", "{", "uint32_t", "Mask", "=", "RegSave", "&", "0xff0u", ";", "uint32_t", "Range", "=", "countTrailingOnes", "(", "Mask", ">>", "5", ")", ";", "Mask", "&=", "~", "(", "0xffffffe0u", "<<", "Range", ")", ";", "uint32_t", "UnmaskedReg", "=", "RegSave", "&", "0xfff0u", "&", "(", "~", "Mask", ")", ";", "if", "(", "UnmaskedReg", "==", "0u", ")", "{", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_REG_RANGE_R4", "|", "Range", ")", ";", "RegSave", "&=", "0x000fu", ";", "}", "else", "if", "(", "UnmaskedReg", "==", "(", "1u", "<<", "14", ")", ")", "{", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_REG_RANGE_R4_R14", "|", "Range", ")", ";", "RegSave", "&=", "0x000fu", ";", "}", "}", "if", "(", "(", "RegSave", "&", "0xfff0u", ")", "!=", "0", ")", "EmitInt16", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_REG_MASK_R4", "|", "(", "RegSave", ">>", "4", ")", ")", ";", "if", "(", "(", "RegSave", "&", "0x000fu", ")", "!=", "0", ")", "EmitInt16", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_REG_MASK", "|", "(", "RegSave", "&", "0x000fu", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "unwind", "opcodes", "for", ".save", "directives", "."], "TS_V_token": ["ARM", "0u", "1u", "4", "0xff0u", "5", "0xffffffe0u", "0xfff0u", "0u", "ARM::EHABI", "0x000fu", "1u", "14", "ARM::EHABI", "0x000fu", "0xfff0u", "0", "ARM::EHABI", "4", "0x000fu", "0", "ARM::EHABI", "0x000fu"], "File": "ARMUnwindOpAsm (2)", "Func": "EmitRegSave", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11814, "Length": 169} {"ground_truth": ["", "void", "UnwindOpcodeAssembler", "::", "EmitSetSP", "(", "uint16_t", "Reg", ")", "{", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_SET_VSP", "|", "Reg", ")", ";", "}", ""], "natrual_language": ["Emit", "unwind", "opcodes", "to", "copy", "address", "from", "source", "register", "to", "$", "sp", "."], "TS_V_token": ["ARM", "ARM::EHABI"], "File": "ARMUnwindOpAsm (2)", "Func": "EmitSetSP", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11815, "Length": 21} {"ground_truth": ["", "void", "UnwindOpcodeAssembler", "::", "EmitSPOffset", "(", "int64_t", "Offset", ")", "{", "if", "(", "Offset", ">", "0x200", ")", "{", "uint8_t", "Buff", "[", "16", "]", ";", "Buff", "[", "0", "]", "=", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_INC_VSP_ULEB128", ";", "size_t", "ULEBSize", "=", "encodeULEB128", "(", "(", "Offset", "-", "0x204", ")", ">>", "2", ",", "Buff", "+", "1", ")", ";", "EmitBytes", "(", "Buff", ",", "ULEBSize", "+", "1", ")", ";", "}", "else", "if", "(", "Offset", ">", "0", ")", "{", "if", "(", "Offset", ">", "0x100", ")", "{", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_INC_VSP", "|", "0x3fu", ")", ";", "Offset", "-=", "0x100", ";", "}", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_INC_VSP", "|", "static_cast", "<", "uint8_t", ">", "(", "(", "Offset", "-", "4", ")", ">>", "2", ")", ")", ";", "}", "else", "if", "(", "Offset", "<", "0", ")", "{", "while", "(", "Offset", "<", "-", "0x100", ")", "{", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_DEC_VSP", "|", "0x3fu", ")", ";", "Offset", "+=", "0x100", ";", "}", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_DEC_VSP", "|", "static_cast", "<", "uint8_t", ">", "(", "(", "(", "-", "Offset", ")", "-", "4", ")", ">>", "2", ")", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "unwind", "opcodes", "to", "add", "$", "sp", "with", "an", "offset", "."], "TS_V_token": ["ARM", "0x200", "16", "0", "ARM::EHABI", "0x204", "2", "1", "1", "0", "0x100", "ARM::EHABI", "0x3fu", "0x100", "ARM::EHABI", "4", "2", "0", "0x100", "ARM::EHABI", "0x3fu", "0x100", "ARM::EHABI", "4", "2"], "File": "ARMUnwindOpAsm (2)", "Func": "EmitSPOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11816, "Length": 176} {"ground_truth": ["", "void", "UnwindOpcodeAssembler", "::", "EmitVFPRegSave", "(", "uint32_t", "VFPRegSave", ")", "{", "for", "(", "uint32_t", "Regs", ":", "{", "VFPRegSave", "&", "0xffff0000u", ",", "VFPRegSave", "&", "0x0000ffffu", "}", ")", "{", "while", "(", "Regs", ")", "{", "auto", "RangeMSB", "=", "32", "-", "countLeadingZeros", "(", "Regs", ")", ";", "auto", "RangeLen", "=", "countLeadingOnes", "(", "Regs", "<<", "(", "32", "-", "RangeMSB", ")", ")", ";", "auto", "RangeLSB", "=", "RangeMSB", "-", "RangeLen", ";", "int", "Opcode", "=", "RangeLSB", ">=", "16", "?", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_VFP_REG_RANGE_FSTMFDD_D16", ":", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_VFP_REG_RANGE_FSTMFDD", ";", "EmitInt16", "(", "Opcode", "|", "(", "(", "RangeLSB", "%", "16", ")", "<<", "4", ")", "|", "(", "RangeLen", "-", "1", ")", ")", ";", "Regs", "&=", "~", "(", "-", "1u", "<<", "RangeLSB", ")", ";", "}", "}", "}", ""], "natrual_language": ["Emit", "unwind", "opcodes", "for", ".vsave", "directives", "."], "TS_V_token": ["ARM", "0xffff0000u", "0x0000ffffu", "32", "32", "16", "ARM::EHABI", "ARM::EHABI", "16", "4", "1", "1u"], "File": "ARMUnwindOpAsm (2)", "Func": "EmitVFPRegSave", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11817, "Length": 114} {"ground_truth": ["", "void", "UnwindOpcodeAssembler", "::", "Finalize", "(", "unsigned", "&", "PersonalityIndex", ",", "SmallVectorImpl", "<", "uint8_t", ">", "&", "Result", ")", "{", "UnwindOpcodeStreamer", "OpStreamer", "(", "Result", ")", ";", "if", "(", "HasPersonality", ")", "{", "PersonalityIndex", "=", "ARM", "::", "EHABI", "::", "NUM_PERSONALITY_INDEX", ";", "size_t", "TotalSize", "=", "Ops", ".", "size", "(", ")", "+", "1", ";", "size_t", "RoundUpSize", "=", "(", "TotalSize", "+", "3", ")", "/", "4", "*", "4", ";", "Result", ".", "resize", "(", "RoundUpSize", ")", ";", "OpStreamer", ".", "EmitSize", "(", "RoundUpSize", ")", ";", "}", "else", "{", "if", "(", "PersonalityIndex", "==", "ARM", "::", "EHABI", "::", "NUM_PERSONALITY_INDEX", ")", "PersonalityIndex", "=", "(", "Ops", ".", "size", "(", ")", "<=", "3", ")", "?", "ARM", "::", "EHABI", "::", "AEABI_UNWIND_CPP_PR0", ":", "ARM", "::", "EHABI", "::", "AEABI_UNWIND_CPP_PR1", ";", "if", "(", "PersonalityIndex", "==", "ARM", "::", "EHABI", "::", "AEABI_UNWIND_CPP_PR0", ")", "{", "assert", "(", "Ops", ".", "size", "(", ")", "<=", "3", "&&", "\"too many opcodes for __aeabi_unwind_cpp_pr0\"", ")", ";", "Result", ".", "resize", "(", "4", ")", ";", "OpStreamer", ".", "EmitPersonalityIndex", "(", "PersonalityIndex", ")", ";", "}", "else", "{", "size_t", "TotalSize", "=", "Ops", ".", "size", "(", ")", "+", "2", ";", "size_t", "RoundUpSize", "=", "(", "TotalSize", "+", "3", ")", "/", "4", "*", "4", ";", "Result", ".", "resize", "(", "RoundUpSize", ")", ";", "OpStreamer", ".", "EmitPersonalityIndex", "(", "PersonalityIndex", ")", ";", "OpStreamer", ".", "EmitSize", "(", "RoundUpSize", ")", ";", "}", "}", "for", "(", "size_t", "i", "=", "OpBegins", ".", "size", "(", ")", "-", "1", ";", "i", ">", "0", ";", "--", "i", ")", "for", "(", "size_t", "j", "=", "OpBegins", "[", "i", "-", "1", "]", ",", "end", "=", "OpBegins", "[", "i", "]", ";", "j", "<", "end", ";", "++", "j", ")", "OpStreamer", ".", "EmitByte", "(", "Ops", "[", "j", "]", ")", ";", "OpStreamer", ".", "FillFinishOpcode", "(", ")", ";", "Reset", "(", ")", ";", "}", ""], "natrual_language": ["Finalize", "the", "unwind", "opcode", "sequence", "for", "emitBytes", "(", ")"], "TS_V_token": ["ARM", "ARM::EHABI", "1", "3", "4", "4", "ARM::EHABI", "3", "ARM::EHABI", "ARM::EHABI", "ARM::EHABI", "3", "\"too many opcodes for __aeabi_unwind_cpp_pr0\"", "4", "2", "3", "4", "4", "1", "0", "1"], "File": "ARMUnwindOpAsm (2)", "Func": "Finalize", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11818, "Length": 266} {"ground_truth": ["", "void", "Reset", "(", ")", "{", "Ops", ".", "clear", "(", ")", ";", "OpBegins", ".", "clear", "(", ")", ";", "OpBegins", ".", "push_back", "(", "0", ")", ";", "HasPersonality", "=", "false", ";", "}", ""], "natrual_language": ["Reset", "the", "unwind", "opcode", "assembler", "."], "TS_V_token": ["ARM", "0"], "File": "ARMUnwindOpAsm15", "Func": "Reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11819, "Length": 29} {"ground_truth": ["", "void", "setPersonality", "(", "const", "MCSymbol", "*", "Per", ")", "{", "HasPersonality", "=", "true", ";", "}", ""], "natrual_language": ["Set", "the", "personality", "."], "TS_V_token": ["ARM"], "File": "ARMUnwindOpAsm15", "Func": "setPersonality", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11820, "Length": 14} {"ground_truth": ["", "void", "UnwindOpcodeAssembler", "::", "EmitRegSave", "(", "uint32_t", "RegSave", ")", "{", "if", "(", "RegSave", "==", "0u", ")", "{", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_RA_AUTH_CODE", ")", ";", "return", ";", "}", "if", "(", "RegSave", "&", "(", "1u", "<<", "4", ")", ")", "{", "uint32_t", "Mask", "=", "RegSave", "&", "0xff0u", ";", "uint32_t", "Range", "=", "countTrailingOnes", "(", "Mask", ">>", "5", ")", ";", "Mask", "&=", "~", "(", "0xffffffe0u", "<<", "Range", ")", ";", "uint32_t", "UnmaskedReg", "=", "RegSave", "&", "0xfff0u", "&", "(", "~", "Mask", ")", ";", "if", "(", "UnmaskedReg", "==", "0u", ")", "{", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_REG_RANGE_R4", "|", "Range", ")", ";", "RegSave", "&=", "0x000fu", ";", "}", "else", "if", "(", "UnmaskedReg", "==", "(", "1u", "<<", "14", ")", ")", "{", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_REG_RANGE_R4_R14", "|", "Range", ")", ";", "RegSave", "&=", "0x000fu", ";", "}", "}", "if", "(", "(", "RegSave", "&", "0xfff0u", ")", "!=", "0", ")", "EmitInt16", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_REG_MASK_R4", "|", "(", "RegSave", ">>", "4", ")", ")", ";", "if", "(", "(", "RegSave", "&", "0x000fu", ")", "!=", "0", ")", "EmitInt16", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_REG_MASK", "|", "(", "RegSave", "&", "0x000fu", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "unwind", "opcodes", "for", ".save", "directives", "."], "TS_V_token": ["ARM", "0u", "ARM::EHABI", "1u", "4", "0xff0u", "5", "0xffffffe0u", "0xfff0u", "0u", "ARM::EHABI", "0x000fu", "1u", "14", "ARM::EHABI", "0x000fu", "0xfff0u", "0", "ARM::EHABI", "4", "0x000fu", "0", "ARM::EHABI", "0x000fu"], "File": "ARMUnwindOpAsm5", "Func": "EmitRegSave", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11821, "Length": 180} {"ground_truth": ["", "void", "UnwindOpcodeAssembler", "::", "EmitSPOffset", "(", "int64_t", "Offset", ")", "{", "if", "(", "Offset", ">", "0x200", ")", "{", "uint8_t", "Buff", "[", "16", "]", ";", "Buff", "[", "0", "]", "=", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_INC_VSP_ULEB128", ";", "size_t", "ULEBSize", "=", "encodeULEB128", "(", "(", "Offset", "-", "0x204", ")", ">>", "2", ",", "Buff", "+", "1", ")", ";", "emitBytes", "(", "Buff", ",", "ULEBSize", "+", "1", ")", ";", "}", "else", "if", "(", "Offset", ">", "0", ")", "{", "if", "(", "Offset", ">", "0x100", ")", "{", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_INC_VSP", "|", "0x3fu", ")", ";", "Offset", "-=", "0x100", ";", "}", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_INC_VSP", "|", "static_cast", "<", "uint8_t", ">", "(", "(", "Offset", "-", "4", ")", ">>", "2", ")", ")", ";", "}", "else", "if", "(", "Offset", "<", "0", ")", "{", "while", "(", "Offset", "<", "-", "0x100", ")", "{", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_DEC_VSP", "|", "0x3fu", ")", ";", "Offset", "+=", "0x100", ";", "}", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_DEC_VSP", "|", "static_cast", "<", "uint8_t", ">", "(", "(", "(", "-", "Offset", ")", "-", "4", ")", ">>", "2", ")", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "unwind", "opcodes", "to", "add", "$", "sp", "with", "an", "offset", "."], "TS_V_token": ["ARM", "0x200", "16", "0", "ARM::EHABI", "0x204", "2", "1", "1", "0", "0x100", "ARM::EHABI", "0x3fu", "0x100", "ARM::EHABI", "4", "2", "0", "0x100", "ARM::EHABI", "0x3fu", "0x100", "ARM::EHABI", "4", "2"], "File": "ARMUnwindOpAsm5", "Func": "EmitSPOffset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11822, "Length": 176} {"ground_truth": ["", "void", "emitBytes", "(", "const", "uint8_t", "*", "Opcode", ",", "size_t", "Size", ")", "{", "Ops", ".", "insert", "(", "Ops", ".", "end", "(", ")", ",", "Opcode", ",", "Opcode", "+", "Size", ")", ";", "OpBegins", ".", "push_back", "(", "OpBegins", ".", "back", "(", ")", "+", "Size", ")", ";", "}", ""], "natrual_language": ["Emit", "the", "bytes", "in", "Data", "into", "the", "output", "."], "TS_V_token": ["ARM"], "File": "ARMUnwindOpAsm6", "Func": "emitBytes", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11823, "Length": 43} {"ground_truth": ["", "void", "UnwindOpcodeAssembler", "::", "EmitRegSave", "(", "uint32_t", "RegSave", ")", "{", "if", "(", "RegSave", "==", "0u", ")", "return", ";", "if", "(", "RegSave", "&", "(", "1u", "<<", "4", ")", ")", "{", "uint32_t", "Range", "=", "0", ";", "uint32_t", "Mask", "=", "(", "1u", "<<", "4", ")", ";", "for", "(", "uint32_t", "Bit", "=", "(", "1u", "<<", "5", ")", ";", "Bit", "<", "(", "1u", "<<", "12", ")", ";", "Bit", "<<=", "1", ")", "{", "if", "(", "(", "RegSave", "&", "Bit", ")", "==", "0u", ")", "break", ";", "++", "Range", ";", "Mask", "|=", "Bit", ";", "}", "uint32_t", "UnmaskedReg", "=", "RegSave", "&", "0xfff0u", "&", "(", "~", "Mask", ")", ";", "if", "(", "UnmaskedReg", "==", "0u", ")", "{", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_REG_RANGE_R4", "|", "Range", ")", ";", "RegSave", "&=", "0x000fu", ";", "}", "else", "if", "(", "UnmaskedReg", "==", "(", "1u", "<<", "14", ")", ")", "{", "EmitInt8", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_REG_RANGE_R4_R14", "|", "Range", ")", ";", "RegSave", "&=", "0x000fu", ";", "}", "}", "if", "(", "(", "RegSave", "&", "0xfff0u", ")", "!=", "0", ")", "EmitInt16", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_REG_MASK_R4", "|", "(", "RegSave", ">>", "4", ")", ")", ";", "if", "(", "(", "RegSave", "&", "0x000fu", ")", "!=", "0", ")", "EmitInt16", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_REG_MASK", "|", "(", "RegSave", "&", "0x000fu", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "unwind", "opcodes", "for", ".save", "directives", "."], "TS_V_token": ["ARM", "0u", "1u", "4", "0", "1u", "4", "1u", "5", "1u", "12", "1", "0u", "0xfff0u", "0u", "ARM::EHABI", "0x000fu", "1u", "14", "ARM::EHABI", "0x000fu", "0xfff0u", "0", "ARM::EHABI", "4", "0x000fu", "0", "ARM::EHABI", "0x000fu"], "File": "ARMUnwindOpAsm7", "Func": "EmitRegSave", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11824, "Length": 201} {"ground_truth": ["", "void", "UnwindOpcodeAssembler", "::", "EmitVFPRegSave", "(", "uint32_t", "VFPRegSave", ")", "{", "size_t", "i", "=", "32", ";", "while", "(", "i", ">", "16", ")", "{", "uint32_t", "Bit", "=", "1u", "<<", "(", "i", "-", "1", ")", ";", "if", "(", "(", "VFPRegSave", "&", "Bit", ")", "==", "0u", ")", "{", "--", "i", ";", "continue", ";", "}", "uint32_t", "Range", "=", "0", ";", "--", "i", ";", "Bit", ">>=", "1", ";", "while", "(", "i", ">", "16", "&&", "(", "VFPRegSave", "&", "Bit", ")", ")", "{", "--", "i", ";", "++", "Range", ";", "Bit", ">>=", "1", ";", "}", "EmitInt16", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_VFP_REG_RANGE_FSTMFDD_D16", "|", "(", "(", "i", "-", "16", ")", "<<", "4", ")", "|", "Range", ")", ";", "}", "while", "(", "i", ">", "0", ")", "{", "uint32_t", "Bit", "=", "1u", "<<", "(", "i", "-", "1", ")", ";", "if", "(", "(", "VFPRegSave", "&", "Bit", ")", "==", "0u", ")", "{", "--", "i", ";", "continue", ";", "}", "uint32_t", "Range", "=", "0", ";", "--", "i", ";", "Bit", ">>=", "1", ";", "while", "(", "i", ">", "0", "&&", "(", "VFPRegSave", "&", "Bit", ")", ")", "{", "--", "i", ";", "++", "Range", ";", "Bit", ">>=", "1", ";", "}", "EmitInt16", "(", "ARM", "::", "EHABI", "::", "UNWIND_OPCODE_POP_VFP_REG_RANGE_FSTMFDD", "|", "(", "i", "<<", "4", ")", "|", "Range", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "unwind", "opcodes", "for", ".vsave", "directives", "."], "TS_V_token": ["ARM", "32", "16", "1u", "1", "0u", "0", "1", "16", "1", "ARM::EHABI", "16", "4", "0", "1u", "1", "0u", "0", "1", "0", "1", "ARM::EHABI", "4"], "File": "ARMUnwindOpAsm7", "Func": "EmitVFPRegSave", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11825, "Length": 197} {"ground_truth": ["", "void", "EmitRaw", "(", "const", "SmallVectorImpl", "<", "uint8_t", ">", "&", "Opcodes", ")", "{", "Ops", ".", "insert", "(", "Ops", ".", "end", "(", ")", ",", "Opcodes", ".", "begin", "(", ")", ",", "Opcodes", ".", "end", "(", ")", ")", ";", "OpBegins", ".", "push_back", "(", "OpBegins", ".", "back", "(", ")", "+", "Opcodes", ".", "size", "(", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "unwind", "raw", "opcodes", "."], "TS_V_token": ["ARM"], "File": "ARMUnwindOpAsm", "Func": "EmitRaw", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11826, "Length": 53} {"ground_truth": ["", "void", "Reset", "(", ")", "{", "Ops", ".", "clear", "(", ")", ";", "OpBegins", ".", "clear", "(", ")", ";", "OpBegins", ".", "push_back", "(", "0", ")", ";", "HasPersonality", "=", "0", ";", "}", ""], "natrual_language": ["Reset", "the", "unwind", "opcode", "assembler", "."], "TS_V_token": ["ARM", "0", "0"], "File": "ARMUnwindOpAsm", "Func": "Reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11827, "Length": 29} {"ground_truth": ["", "void", "setPersonality", "(", "const", "MCSymbol", "*", "Per", ")", "{", "HasPersonality", "=", "1", ";", "}", ""], "natrual_language": ["Set", "the", "personality", "."], "TS_V_token": ["ARM", "1"], "File": "ARMUnwindOpAsm", "Func": "setPersonality", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11828, "Length": 14} {"ground_truth": ["", "bool", "ARMWinCOFFObjectWriter", "::", "recordRelocation", "(", "const", "MCFixup", "&", "Fixup", ")", "const", "{", "return", "static_cast", "<", "unsigned", ">", "(", "Fixup", ".", "getKind", "(", ")", ")", "!=", "ARM", "::", "fixup_t2_movt_hi16", ";", "}", ""], "natrual_language": ["Record", "a", "relocation", "entry", "."], "TS_V_token": ["ARM", "ARM", "ARM::fixup_t2_movt_hi16"], "File": "ARMWinCOFFObjectWriter", "Func": "recordRelocation", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11829, "Length": 30} {"ground_truth": ["", "void", "ARMWinCOFFStreamer", "::", "finishImpl", "(", ")", "{", "emitFrames", "(", "nullptr", ")", ";", "emitWindowsUnwindTables", "(", ")", ";", "MCWinCOFFStreamer", "::", "finishImpl", "(", ")", ";", "}", ""], "natrual_language": ["Streamer", "specific", "finalization", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMWinCOFFStreamer5", "Func": "finishImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11830, "Length": 23} {"ground_truth": ["", "void", "ARMWinCOFFStreamer", "::", "emitThumbFunc", "(", "MCSymbol", "*", "Symbol", ")", "{", "getAssembler", "(", ")", ".", "setIsThumbFunc", "(", "Symbol", ")", ";", "}", ""], "natrual_language": ["Note", "in", "the", "output", "that", "the", "specified", "Func", "is", "a", "Thumb", "mode", "function", "(", "ARM", "target", "only", ")", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMWinCOFFStreamer", "Func": "emitThumbFunc", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11831, "Length": 20} {"ground_truth": ["", "void", "ARMWinCOFFStreamer", "::", "finishImpl", "(", ")", "{", "emitFrames", "(", "nullptr", ")", ";", "MCWinCOFFStreamer", "::", "finishImpl", "(", ")", ";", "}", ""], "natrual_language": ["Streamer", "specific", "finalization", "."], "TS_V_token": ["ARM", "ARM"], "File": "ARMWinCOFFStreamer", "Func": "finishImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11832, "Length": 19} {"ground_truth": ["", "bool", "MLxExpansion", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "skipFunction", "(", "*", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "Fn", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "const", "ARMSubtarget", "*", "STI", "=", "&", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", "->", "expandMLx", "(", ")", ")", "return", "false", ";", "isLikeA9", "=", "STI", "->", "isLikeA9", "(", ")", "||", "STI", "->", "isSwift", "(", ")", ";", "isSwift", "=", "STI", "->", "isSwift", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "ExpandFPMLxInstructions", "(", "MBB", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "MLxExpansionPass (2)1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11833, "Length": 139} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM MLA / MLS expansion pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM MLA / MLS expansion pass\""], "File": "MLxExpansionPass (2)", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11834, "Length": 13} {"ground_truth": ["", "bool", "MLxExpansion", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Fn", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "Fn", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "const", "ARMSubtarget", "*", "STI", "=", "&", "Fn", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "isLikeA9", "=", "STI", "->", "isLikeA9", "(", ")", "||", "STI", "->", "isSwift", "(", ")", ";", "isSwift", "=", "STI", "->", "isSwift", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "ExpandFPMLxInstructions", "(", "MBB", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "MLxExpansionPass (2)", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11835, "Length": 116} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"ARM MLA / MLS expansion pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM MLA / MLS expansion pass\""], "File": "MLxExpansionPass10", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11836, "Length": 13} {"ground_truth": ["", "bool", "MLxExpansion", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Fn", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "Fn", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "ExpandFPMLxInstructions", "(", "MBB", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "MLxExpansionPass10", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11837, "Length": 104} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM MLA / MLS expansion pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM MLA / MLS expansion pass\""], "File": "MLxExpansionPass11", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11838, "Length": 11} {"ground_truth": ["", "bool", "MLxExpansion", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "skipFunction", "(", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "Fn", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "const", "ARMSubtarget", "*", "STI", "=", "&", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", "->", "expandMLx", "(", ")", ")", "return", "false", ";", "isLikeA9", "=", "STI", "->", "isLikeA9", "(", ")", "||", "STI", "->", "isSwift", "(", ")", ";", "isSwift", "=", "STI", "->", "isSwift", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "ExpandFPMLxInstructions", "(", "MBB", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "MLxExpansionPass11", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11839, "Length": 138} {"ground_truth": ["", "bool", "MLxExpansion", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Fn", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "Fn", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "const", "ARMSubtarget", "*", "STI", "=", "&", "Fn", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "isLikeA9", "=", "STI", "->", "isLikeA9", "(", ")", "||", "STI", "->", "isSwift", "(", ")", ";", "isSwift", "=", "STI", "->", "isSwift", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "ExpandFPMLxInstructions", "(", "MBB", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "MLxExpansionPass15", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11840, "Length": 145} {"ground_truth": ["", "bool", "MLxExpansion", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Fn", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "Fn", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "const", "ARMSubtarget", "*", "STI", "=", "&", "Fn", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "isA9", "=", "STI", "->", "isCortexA9", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "ExpandFPMLxInstructions", "(", "MBB", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "MLxExpansionPass17", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11841, "Length": 131} {"ground_truth": ["", "bool", "MLxExpansion", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "Fn", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "const", "ARMSubtarget", "*", "STI", "=", "&", "Fn", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "isLikeA9", "=", "STI", "->", "isLikeA9", "(", ")", "||", "STI", "->", "isSwift", "(", ")", ";", "isSwift", "=", "STI", "->", "isSwift", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "ExpandFPMLxInstructions", "(", "MBB", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "MLxExpansionPass21", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11842, "Length": 116} {"ground_truth": ["", "bool", "MLxExpansion", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "Fn", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "const", "ARMSubtarget", "*", "STI", "=", "&", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", "->", "isCortexA9", "(", ")", ")", "return", "false", ";", "isLikeA9", "=", "STI", "->", "isLikeA9", "(", ")", "||", "STI", "->", "isSwift", "(", ")", ";", "isSwift", "=", "STI", "->", "isSwift", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "ExpandFPMLxInstructions", "(", "MBB", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "MLxExpansionPass23", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11843, "Length": 124} {"ground_truth": ["", "bool", "MLxExpansion", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "skipFunction", "(", "*", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "Fn", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "const", "ARMSubtarget", "*", "STI", "=", "&", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", "->", "isCortexA9", "(", ")", ")", "return", "false", ";", "isLikeA9", "=", "STI", "->", "isLikeA9", "(", ")", "||", "STI", "->", "isSwift", "(", ")", ";", "isSwift", "=", "STI", "->", "isSwift", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "ExpandFPMLxInstructions", "(", "MBB", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "MLxExpansionPass26", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11844, "Length": 139} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "setPreservesCFG", "(", ")", ";", "AU", ".", "addRequired", "<", "TargetPassConfig", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "LoopInfoWrapperPass", ">", "(", ")", ";", "FunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "MVEGatherScatterLowering (2)", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11845, "Length": 42} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"MVE gather/scatter lowering\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"MVE gather/scatter lowering\""], "File": "MVEGatherScatterLowering (2)", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11846, "Length": 11} {"ground_truth": ["", "bool", "MVEGatherScatterLowering", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", ")", "return", "false", ";", "auto", "&", "TPC", "=", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "auto", "&", "TM", "=", "TPC", ".", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "auto", "*", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "LI", "=", "&", "getAnalysis", "<", "LoopInfoWrapperPass", ">", "(", ")", ".", "getLoopInfo", "(", ")", ";", "DL", "=", "&", "F", ".", "getParent", "(", ")", "->", "getDataLayout", "(", ")", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Gathers", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Scatters", ";", "bool", "Changed", "=", "false", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "Changed", "|=", "SimplifyInstructionsInBlock", "(", "&", "BB", ")", ";", "for", "(", "Instruction", "&", "I", ":", "BB", ")", "{", "IntrinsicInst", "*", "II", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ";", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_gather", "&&", "isa", "<", "FixedVectorType", ">", "(", "II", "->", "getType", "(", ")", ")", ")", "{", "Gathers", ".", "push_back", "(", "II", ")", ";", "Changed", "|=", "optimiseAddress", "(", "II", "->", "getArgOperand", "(", "0", ")", ",", "II", "->", "getParent", "(", ")", ",", "LI", ")", ";", "}", "else", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_scatter", "&&", "isa", "<", "FixedVectorType", ">", "(", "II", "->", "getArgOperand", "(", "0", ")", "->", "getType", "(", ")", ")", ")", "{", "Scatters", ".", "push_back", "(", "II", ")", ";", "Changed", "|=", "optimiseAddress", "(", "II", "->", "getArgOperand", "(", "1", ")", ",", "II", "->", "getParent", "(", ")", ",", "LI", ")", ";", "}", "}", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Gathers", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Gathers", "[", "i", "]", ";", "Instruction", "*", "L", "=", "lowerGather", "(", "I", ")", ";", "if", "(", "L", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "L", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Scatters", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Scatters", "[", "i", "]", ";", "Instruction", "*", "S", "=", "lowerScatter", "(", "I", ")", ";", "if", "(", "S", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "S", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "Intrinsic::masked_gather", "0", "Intrinsic::masked_scatter", "0", "1", "0", "0"], "File": "MVEGatherScatterLowering (2)", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11847, "Length": 398} {"ground_truth": ["", "bool", "MVEGatherScatterLowering", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", ")", "return", "false", ";", "auto", "&", "TPC", "=", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "auto", "&", "TM", "=", "TPC", ".", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "auto", "*", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "LI", "=", "&", "getAnalysis", "<", "LoopInfoWrapperPass", ">", "(", ")", ".", "getLoopInfo", "(", ")", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Gathers", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Scatters", ";", "bool", "Changed", "=", "false", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "Changed", "|=", "SimplifyInstructionsInBlock", "(", "&", "BB", ")", ";", "for", "(", "Instruction", "&", "I", ":", "BB", ")", "{", "IntrinsicInst", "*", "II", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ";", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_gather", "&&", "isa", "<", "FixedVectorType", ">", "(", "II", "->", "getType", "(", ")", ")", ")", "{", "Gathers", ".", "push_back", "(", "II", ")", ";", "Changed", "|=", "optimiseAddress", "(", "II", "->", "getArgOperand", "(", "0", ")", ",", "II", "->", "getParent", "(", ")", ",", "LI", ")", ";", "}", "else", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_scatter", "&&", "isa", "<", "FixedVectorType", ">", "(", "II", "->", "getArgOperand", "(", "0", ")", "->", "getType", "(", ")", ")", ")", "{", "Scatters", ".", "push_back", "(", "II", ")", ";", "Changed", "|=", "optimiseAddress", "(", "II", "->", "getArgOperand", "(", "1", ")", ",", "II", "->", "getParent", "(", ")", ",", "LI", ")", ";", "}", "}", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Gathers", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Gathers", "[", "i", "]", ";", "Instruction", "*", "L", "=", "lowerGather", "(", "I", ")", ";", "if", "(", "L", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "L", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Scatters", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Scatters", "[", "i", "]", ";", "Instruction", "*", "S", "=", "lowerScatter", "(", "I", ")", ";", "if", "(", "S", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "S", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "Intrinsic::masked_gather", "0", "Intrinsic::masked_scatter", "0", "1", "0", "0"], "File": "MVEGatherScatterLowering10", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11848, "Length": 385} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "setPreservesCFG", "(", ")", ";", "AU", ".", "addRequired", "<", "TargetPassConfig", ">", "(", ")", ";", "FunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "MVEGatherScatterLowering11", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11849, "Length": 33} {"ground_truth": ["", "bool", "MVEGatherScatterLowering", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", ")", "return", "false", ";", "auto", "&", "TPC", "=", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "auto", "&", "TM", "=", "TPC", ".", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "auto", "*", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Gathers", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "for", "(", "Instruction", "&", "I", ":", "BB", ")", "{", "IntrinsicInst", "*", "II", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ";", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_gather", ")", "Gathers", ".", "push_back", "(", "II", ")", ";", "}", "}", "if", "(", "Gathers", ".", "empty", "(", ")", ")", "return", "false", ";", "for", "(", "IntrinsicInst", "*", "I", ":", "Gathers", ")", "lowerGather", "(", "I", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "4", "Intrinsic::masked_gather"], "File": "MVEGatherScatterLowering11", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11850, "Length": 160} {"ground_truth": ["", "bool", "MVEGatherScatterLowering", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", ")", "return", "false", ";", "auto", "&", "TPC", "=", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "auto", "&", "TM", "=", "TPC", ".", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "auto", "*", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "LI", "=", "&", "getAnalysis", "<", "LoopInfoWrapperPass", ">", "(", ")", ".", "getLoopInfo", "(", ")", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Gathers", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Scatters", ";", "bool", "Changed", "=", "false", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "Changed", "|=", "SimplifyInstructionsInBlock", "(", "&", "BB", ")", ";", "for", "(", "Instruction", "&", "I", ":", "BB", ")", "{", "IntrinsicInst", "*", "II", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ";", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_gather", "&&", "isa", "<", "FixedVectorType", ">", "(", "II", "->", "getType", "(", ")", ")", ")", "{", "Gathers", ".", "push_back", "(", "II", ")", ";", "Changed", "|=", "optimiseAddress", "(", "II", "->", "getArgOperand", "(", "0", ")", ",", "II", "->", "getParent", "(", ")", ",", "LI", ")", ";", "}", "else", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_scatter", "&&", "isa", "<", "FixedVectorType", ">", "(", "II", "->", "getArgOperand", "(", "0", ")", "->", "getType", "(", ")", ")", ")", "{", "Scatters", ".", "push_back", "(", "II", ")", ";", "Changed", "|=", "optimiseAddress", "(", "II", "->", "getArgOperand", "(", "1", ")", ",", "II", "->", "getParent", "(", ")", ",", "LI", ")", ";", "}", "}", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Gathers", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Gathers", "[", "i", "]", ";", "Value", "*", "L", "=", "lowerGather", "(", "I", ")", ";", "if", "(", "L", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "cast", "<", "Instruction", ">", "(", "L", ")", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Scatters", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Scatters", "[", "i", "]", ";", "Value", "*", "S", "=", "lowerScatter", "(", "I", ")", ";", "if", "(", "S", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "cast", "<", "Instruction", ">", "(", "S", ")", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "Intrinsic::masked_gather", "0", "Intrinsic::masked_scatter", "0", "1", "0", "0"], "File": "MVEGatherScatterLowering14", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11851, "Length": 397} {"ground_truth": ["", "bool", "MVEGatherScatterLowering", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", ")", "return", "false", ";", "auto", "&", "TPC", "=", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "auto", "&", "TM", "=", "TPC", ".", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "auto", "*", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Gathers", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Scatters", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "for", "(", "Instruction", "&", "I", ":", "BB", ")", "{", "IntrinsicInst", "*", "II", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ";", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_gather", ")", "Gathers", ".", "push_back", "(", "II", ")", ";", "else", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_scatter", ")", "Scatters", ".", "push_back", "(", "II", ")", ";", "}", "}", "bool", "Changed", "=", "false", ";", "for", "(", "IntrinsicInst", "*", "I", ":", "Gathers", ")", "Changed", "|=", "lowerGather", "(", "I", ")", ";", "for", "(", "IntrinsicInst", "*", "I", ":", "Scatters", ")", "Changed", "|=", "lowerScatter", "(", "I", ")", ";", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "Intrinsic::masked_gather", "Intrinsic::masked_scatter"], "File": "MVEGatherScatterLowering15", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11852, "Length": 202} {"ground_truth": ["", "bool", "MVEGatherScatterLowering", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", ")", "return", "false", ";", "auto", "&", "TPC", "=", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "auto", "&", "TM", "=", "TPC", ".", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "auto", "*", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Gathers", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Scatters", ";", "LoopInfo", "&", "LI", "=", "getAnalysis", "<", "LoopInfoWrapperPass", ">", "(", ")", ".", "getLoopInfo", "(", ")", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "for", "(", "Instruction", "&", "I", ":", "BB", ")", "{", "IntrinsicInst", "*", "II", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ";", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_gather", ")", "Gathers", ".", "push_back", "(", "II", ")", ";", "else", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_scatter", ")", "Scatters", ".", "push_back", "(", "II", ")", ";", "}", "}", "bool", "Changed", "=", "false", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Gathers", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Gathers", "[", "i", "]", ";", "if", "(", "isa", "<", "GetElementPtrInst", ">", "(", "I", "->", "getArgOperand", "(", "0", ")", ")", ")", "optimiseOffsets", "(", "cast", "<", "Instruction", ">", "(", "I", "->", "getArgOperand", "(", "0", ")", ")", "->", "getOperand", "(", "1", ")", ",", "I", "->", "getParent", "(", ")", ",", "&", "LI", ")", ";", "Value", "*", "L", "=", "lowerGather", "(", "I", ")", ";", "if", "(", "L", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "cast", "<", "Instruction", ">", "(", "L", ")", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Scatters", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Scatters", "[", "i", "]", ";", "if", "(", "isa", "<", "GetElementPtrInst", ">", "(", "I", "->", "getArgOperand", "(", "1", ")", ")", ")", "optimiseOffsets", "(", "cast", "<", "Instruction", ">", "(", "I", "->", "getArgOperand", "(", "1", ")", ")", "->", "getOperand", "(", "1", ")", ",", "I", "->", "getParent", "(", ")", ",", "&", "LI", ")", ";", "Value", "*", "S", "=", "lowerScatter", "(", "I", ")", ";", "if", "(", "S", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "cast", "<", "Instruction", ">", "(", "S", ")", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "Intrinsic::masked_gather", "Intrinsic::masked_scatter", "0", "0", "0", "1", "0", "1", "1", "1"], "File": "MVEGatherScatterLowering1", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11853, "Length": 407} {"ground_truth": ["", "bool", "MVEGatherScatterLowering", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", ")", "return", "false", ";", "auto", "&", "TPC", "=", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "auto", "&", "TM", "=", "TPC", ".", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "auto", "*", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "LI", "=", "&", "getAnalysis", "<", "LoopInfoWrapperPass", ">", "(", ")", ".", "getLoopInfo", "(", ")", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Gathers", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Scatters", ";", "bool", "Changed", "=", "false", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "for", "(", "Instruction", "&", "I", ":", "BB", ")", "{", "IntrinsicInst", "*", "II", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ";", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_gather", ")", "{", "Gathers", ".", "push_back", "(", "II", ")", ";", "if", "(", "isa", "<", "GetElementPtrInst", ">", "(", "II", "->", "getArgOperand", "(", "0", ")", ")", ")", "Changed", "|=", "optimiseOffsets", "(", "cast", "<", "Instruction", ">", "(", "II", "->", "getArgOperand", "(", "0", ")", ")", "->", "getOperand", "(", "1", ")", ",", "II", "->", "getParent", "(", ")", ",", "LI", ")", ";", "}", "else", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_scatter", ")", "{", "Scatters", ".", "push_back", "(", "II", ")", ";", "if", "(", "isa", "<", "GetElementPtrInst", ">", "(", "II", "->", "getArgOperand", "(", "1", ")", ")", ")", "Changed", "|=", "optimiseOffsets", "(", "cast", "<", "Instruction", ">", "(", "II", "->", "getArgOperand", "(", "1", ")", ")", "->", "getOperand", "(", "1", ")", ",", "II", "->", "getParent", "(", ")", ",", "LI", ")", ";", "}", "}", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Gathers", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Gathers", "[", "i", "]", ";", "Value", "*", "L", "=", "lowerGather", "(", "I", ")", ";", "if", "(", "L", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "cast", "<", "Instruction", ">", "(", "L", ")", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Scatters", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Scatters", "[", "i", "]", ";", "Value", "*", "S", "=", "lowerScatter", "(", "I", ")", ";", "if", "(", "S", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "cast", "<", "Instruction", ">", "(", "S", ")", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "Intrinsic::masked_gather", "0", "0", "1", "Intrinsic::masked_scatter", "1", "1", "1", "0", "0"], "File": "MVEGatherScatterLowering2", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11854, "Length": 412} {"ground_truth": ["", "bool", "MVEGatherScatterLowering", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", ")", "return", "false", ";", "auto", "&", "TPC", "=", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "auto", "&", "TM", "=", "TPC", ".", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "auto", "*", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "LI", "=", "&", "getAnalysis", "<", "LoopInfoWrapperPass", ">", "(", ")", ".", "getLoopInfo", "(", ")", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Gathers", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Scatters", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "for", "(", "Instruction", "&", "I", ":", "BB", ")", "{", "IntrinsicInst", "*", "II", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ";", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_gather", ")", "{", "Gathers", ".", "push_back", "(", "II", ")", ";", "if", "(", "isa", "<", "GetElementPtrInst", ">", "(", "II", "->", "getArgOperand", "(", "0", ")", ")", ")", "optimiseOffsets", "(", "cast", "<", "Instruction", ">", "(", "II", "->", "getArgOperand", "(", "0", ")", ")", "->", "getOperand", "(", "1", ")", ",", "II", "->", "getParent", "(", ")", ",", "LI", ")", ";", "}", "else", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_scatter", ")", "{", "Scatters", ".", "push_back", "(", "II", ")", ";", "if", "(", "isa", "<", "GetElementPtrInst", ">", "(", "II", "->", "getArgOperand", "(", "1", ")", ")", ")", "optimiseOffsets", "(", "cast", "<", "Instruction", ">", "(", "II", "->", "getArgOperand", "(", "1", ")", ")", "->", "getOperand", "(", "1", ")", ",", "II", "->", "getParent", "(", ")", ",", "LI", ")", ";", "}", "}", "}", "bool", "Changed", "=", "false", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Gathers", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Gathers", "[", "i", "]", ";", "Value", "*", "L", "=", "lowerGather", "(", "I", ")", ";", "if", "(", "L", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "cast", "<", "Instruction", ">", "(", "L", ")", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Scatters", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Scatters", "[", "i", "]", ";", "Value", "*", "S", "=", "lowerScatter", "(", "I", ")", ";", "if", "(", "S", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "cast", "<", "Instruction", ">", "(", "S", ")", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "Intrinsic::masked_gather", "0", "0", "1", "Intrinsic::masked_scatter", "1", "1", "1", "0", "0"], "File": "MVEGatherScatterLowering5", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11855, "Length": 408} {"ground_truth": ["", "bool", "MVEGatherScatterLowering", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "!", "EnableMaskedGatherScatters", ")", "return", "false", ";", "auto", "&", "TPC", "=", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "auto", "&", "TM", "=", "TPC", ".", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "auto", "*", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "LI", "=", "&", "getAnalysis", "<", "LoopInfoWrapperPass", ">", "(", ")", ".", "getLoopInfo", "(", ")", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Gathers", ";", "SmallVector", "<", "IntrinsicInst", "*", ",", "4", ">", "Scatters", ";", "bool", "Changed", "=", "false", ";", "for", "(", "BasicBlock", "&", "BB", ":", "F", ")", "{", "for", "(", "Instruction", "&", "I", ":", "BB", ")", "{", "IntrinsicInst", "*", "II", "=", "dyn_cast", "<", "IntrinsicInst", ">", "(", "&", "I", ")", ";", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_gather", "&&", "isa", "<", "FixedVectorType", ">", "(", "II", "->", "getType", "(", ")", ")", ")", "{", "Gathers", ".", "push_back", "(", "II", ")", ";", "Changed", "|=", "optimiseAddress", "(", "II", "->", "getArgOperand", "(", "0", ")", ",", "II", "->", "getParent", "(", ")", ",", "LI", ")", ";", "}", "else", "if", "(", "II", "&&", "II", "->", "getIntrinsicID", "(", ")", "==", "Intrinsic", "::", "masked_scatter", "&&", "isa", "<", "FixedVectorType", ">", "(", "II", "->", "getArgOperand", "(", "0", ")", "->", "getType", "(", ")", ")", ")", "{", "Scatters", ".", "push_back", "(", "II", ")", ";", "Changed", "|=", "optimiseAddress", "(", "II", "->", "getArgOperand", "(", "1", ")", ",", "II", "->", "getParent", "(", ")", ",", "LI", ")", ";", "}", "}", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Gathers", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Gathers", "[", "i", "]", ";", "Value", "*", "L", "=", "lowerGather", "(", "I", ")", ";", "if", "(", "L", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "cast", "<", "Instruction", ">", "(", "L", ")", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "Scatters", ".", "size", "(", ")", ";", "i", "++", ")", "{", "IntrinsicInst", "*", "I", "=", "Scatters", "[", "i", "]", ";", "Value", "*", "S", "=", "lowerScatter", "(", "I", ")", ";", "if", "(", "S", "==", "nullptr", ")", "continue", ";", "SimplifyInstructionsInBlock", "(", "cast", "<", "Instruction", ">", "(", "S", ")", "->", "getParent", "(", ")", ")", ";", "Changed", "=", "true", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "4", "4", "Intrinsic::masked_gather", "0", "Intrinsic::masked_scatter", "0", "1", "0", "0"], "File": "MVEGatherScatterLowering", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11856, "Length": 389} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"MVE lane interleaving\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"MVE lane interleaving\""], "File": "MVELaneInterleavingPass", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11857, "Length": 11} {"ground_truth": ["", "bool", "MVELaneInterleaving", "::", "runOnFunction", "(", "Function", "&", "F", ")", "{", "if", "(", "!", "EnableInterleave", ")", "return", "false", ";", "auto", "&", "TPC", "=", "getAnalysis", "<", "TargetPassConfig", ">", "(", ")", ";", "auto", "&", "TM", "=", "TPC", ".", "getTM", "<", "TargetMachine", ">", "(", ")", ";", "auto", "*", "ST", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", "F", ")", ";", "if", "(", "!", "ST", "->", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "bool", "Changed", "=", "false", ";", "SmallPtrSet", "<", "Instruction", "*", ",", "16", ">", "Visited", ";", "for", "(", "Instruction", "&", "I", ":", "reverse", "(", "instructions", "(", "F", ")", ")", ")", "{", "if", "(", "I", ".", "getType", "(", ")", "->", "isVectorTy", "(", ")", "&&", "(", "isa", "<", "TruncInst", ">", "(", "I", ")", "||", "isa", "<", "FPTruncInst", ">", "(", "I", ")", ")", "&&", "!", "Visited", ".", "count", "(", "&", "I", ")", ")", "Changed", "|=", "tryInterleave", "(", "&", "I", ",", "Visited", ")", ";", "}", "return", "Changed", ";", "}", ""], "natrual_language": ["runOnFunction", "-", "Virtual", "method", "overriden", "by", "subclasses", "to", "do", "the", "per-function", "processing", "of", "the", "pass", "."], "TS_V_token": ["ARM", "ARM", "16"], "File": "MVELaneInterleavingPass", "Func": "runOnFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11858, "Length": 152} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "addRequired", "<", "ScalarEvolutionWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "LoopInfoWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "TargetPassConfig", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "TargetTransformInfoWrapperPass", ">", "(", ")", ";", "AU", ".", "addPreserved", "<", "LoopInfoWrapperPass", ">", "(", ")", ";", "AU", ".", "setPreservesCFG", "(", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "MVETailPredication1", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11859, "Length": 62} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "addRequired", "<", "ScalarEvolutionWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "LoopInfoWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "TargetPassConfig", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "TargetTransformInfoWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "DominatorTreeWrapperPass", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "TargetLibraryInfoWrapperPass", ">", "(", ")", ";", "AU", ".", "addPreserved", "<", "LoopInfoWrapperPass", ">", "(", ")", ";", "AU", ".", "setPreservesCFG", "(", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "MVETailPredication", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11860, "Length": 80} {"ground_truth": ["", "static", "Value", "*", "getNumElements", "(", "BasicBlock", "*", "Preheader", ",", "Value", "*", "BTC", ")", "{", "for", "(", "auto", "&", "I", ":", "*", "Preheader", ")", "{", "if", "(", "I", ".", "getOpcode", "(", ")", "!=", "Instruction", "::", "Add", "||", "&", "I", "!=", "BTC", ")", "continue", ";", "ConstantInt", "*", "MinusOne", "=", "nullptr", ";", "if", "(", "!", "(", "MinusOne", "=", "dyn_cast", "<", "ConstantInt", ">", "(", "I", ".", "getOperand", "(", "1", ")", ")", ")", ")", "continue", ";", "if", "(", "MinusOne", "->", "getSExtValue", "(", ")", "==", "-", "1", ")", "{", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM TP: Found num elems: \"", "<<", "I", "<<", "\"\\n\"", ")", ";", "return", "I", ".", "getOperand", "(", "0", ")", ";", "}", "}", "IRBuilder", "<", ">", "Builder", "(", "Preheader", "->", "getTerminator", "(", ")", ")", ";", "Value", "*", "NumElements", "=", "Builder", ".", "CreateAdd", "(", "BTC", ",", "ConstantInt", "::", "get", "(", "BTC", "->", "getType", "(", ")", ",", "1", ")", ",", "\"num.elements\"", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"ARM TP: Created num elems: \"", "<<", "*", "NumElements", "<<", "\"\\n\"", ")", ";", "return", "NumElements", ";", "}", ""], "natrual_language": ["Random", "access", "to", "the", "elements", "."], "TS_V_token": ["ARM", "1", "1", "\"ARM TP: Found num elems: \"", "\"\\n\"", "0", "1", "\"num.elements\"", "\"ARM TP: Created num elems: \"", "\"\\n\""], "File": "MVETailPredication", "Func": "getNumElements", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11861, "Length": 162} {"ground_truth": ["", "bool", "MVETPAndVPTOptimisations", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", "||", "!", "STI", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MachineLoopInfo", "*", "MLI", "=", "&", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "MachineDominatorTree", "*", "DT", "=", "&", "getAnalysis", "<", "MachineDominatorTree", ">", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM MVE VPT Optimisations **********\\n\"", "<<", "\"********** Function: \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineLoop", "*", "ML", ":", "MLI", "->", "getBase", "(", ")", ".", "getLoopsInPreorder", "(", ")", ")", "{", "Modified", "|=", "LowerWhileLoopStart", "(", "ML", ")", ";", "Modified", "|=", "MergeLoopEnd", "(", "ML", ")", ";", "Modified", "|=", "ConvertTailPredLoop", "(", "ML", ",", "DT", ")", ";", "}", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "{", "Modified", "|=", "HintDoLoopStartReg", "(", "MBB", ")", ";", "Modified", "|=", "ReplaceConstByVPNOTs", "(", "MBB", ",", "DT", ")", ";", "Modified", "|=", "ReplaceVCMPsByVPNOTs", "(", "MBB", ")", ";", "Modified", "|=", "ReduceOldVCCRValueUses", "(", "MBB", ")", ";", "Modified", "|=", "ConvertVPSEL", "(", "MBB", ")", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"**************************************\\n\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"********** ARM MVE VPT Optimisations **********\\n\"", "\"********** Function: \"", "\"**************************************\\n\""], "File": "MVETPAndVPTOptimisationsPass4", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11862, "Length": 217} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "addRequired", "<", "MachineLoopInfo", ">", "(", ")", ";", "AU", ".", "addPreserved", "<", "MachineLoopInfo", ">", "(", ")", ";", "AU", ".", "addRequired", "<", "MachineDominatorTree", ">", "(", ")", ";", "AU", ".", "addPreserved", "<", "MachineDominatorTree", ">", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "MVETPAndVPTOptimisationsPass", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11863, "Length": 54} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM MVE TailPred and VPT Optimisation Pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM MVE TailPred and VPT Optimisation Pass\""], "File": "MVETPAndVPTOptimisationsPass", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11864, "Length": 11} {"ground_truth": ["", "bool", "MVETPAndVPTOptimisations", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", "||", "!", "STI", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MachineLoopInfo", "*", "MLI", "=", "&", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "MachineDominatorTree", "*", "DT", "=", "&", "getAnalysis", "<", "MachineDominatorTree", ">", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM MVE VPT Optimisations **********\\n\"", "<<", "\"********** Function: \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineLoop", "*", "ML", ":", "MLI", "->", "getBase", "(", ")", ".", "getLoopsInPreorder", "(", ")", ")", "{", "Modified", "|=", "LowerWhileLoopStart", "(", "ML", ")", ";", "Modified", "|=", "MergeLoopEnd", "(", "ML", ")", ";", "Modified", "|=", "ConvertTailPredLoop", "(", "ML", ",", "DT", ")", ";", "}", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "{", "Modified", "|=", "HintDoLoopStartReg", "(", "MBB", ")", ";", "Modified", "|=", "ReplaceConstByVPNOTs", "(", "MBB", ",", "DT", ")", ";", "Modified", "|=", "ReplaceVCMPsByVPNOTs", "(", "MBB", ")", ";", "Modified", "|=", "ReduceOldVCCRValueUses", "(", "MBB", ")", ";", "Modified", "|=", "ConvertVPSEL", "(", "MBB", ")", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"**************************************\\n\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"********** ARM MVE VPT Optimisations **********\\n\"", "\"********** Function: \"", "\"**************************************\\n\""], "File": "MVETPAndVPTOptimisationsPass", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11865, "Length": 222} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"MVE VPT block insertion pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"MVE VPT block insertion pass\""], "File": "MVEVPTBlockPass (2)", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11866, "Length": 11} {"ground_truth": ["", "bool", "MVEVPTBlock", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", "||", "!", "STI", ".", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM MVE VPT BLOCKS **********\\n\"", "<<", "\"********** Function: \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "InsertVPTBlocks", "(", "MBB", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"**************************************\\n\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"********** ARM MVE VPT BLOCKS **********\\n\"", "\"********** Function: \"", "\"**************************************\\n\""], "File": "MVEVPTBlockPass (2)", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11867, "Length": 119} {"ground_truth": ["", "void", "getAnalysisUsage", "(", "AnalysisUsage", "&", "AU", ")", "const", "override", "{", "AU", ".", "setPreservesCFG", "(", ")", ";", "AU", ".", "addRequired", "<", "ReachingDefAnalysis", ">", "(", ")", ";", "MachineFunctionPass", "::", "getAnalysisUsage", "(", "AU", ")", ";", "}", ""], "natrual_language": ["getAnalysisUsage", "-", "Subclasses", "that", "override", "getAnalysisUsage", "must", "call", "this", "."], "TS_V_token": ["ARM"], "File": "MVEVPTBlockPass12", "Func": "getAnalysisUsage", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11868, "Length": 33} {"ground_truth": ["", "bool", "MVEVPTBlock", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", "||", "!", "STI", ".", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "RDA", "=", "&", "getAnalysis", "<", "ReachingDefAnalysis", ">", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM MVE VPT BLOCKS **********\\n\"", "<<", "\"********** Function: \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "InsertVPTBlocks", "(", "MBB", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"**************************************\\n\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"********** ARM MVE VPT BLOCKS **********\\n\"", "\"********** Function: \"", "\"**************************************\\n\""], "File": "MVEVPTBlockPass12", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11869, "Length": 126} {"ground_truth": ["", "bool", "MVEVPTBlock", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "if", "(", "skipFunction", "(", "Fn", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", "||", "!", "STI", ".", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "RDA", "=", "&", "getAnalysis", "<", "ReachingDefAnalysis", ">", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM MVE VPT BLOCKS **********\\n\"", "<<", "\"********** Function: \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "InsertVPTBlocks", "(", "MBB", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"**************************************\\n\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"********** ARM MVE VPT BLOCKS **********\\n\"", "\"********** Function: \"", "\"**************************************\\n\""], "File": "MVEVPTBlockPass16", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11870, "Length": 140} {"ground_truth": ["", "bool", "MVEVPTBlock", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", "||", "!", "STI", ".", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM MVE VPT BLOCKS **********\\n\"", "<<", "\"********** Function: \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "InsertVPTBlocks", "(", "MBB", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"**************************************\\n\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"********** ARM MVE VPT BLOCKS **********\\n\"", "\"********** Function: \"", "\"**************************************\\n\""], "File": "MVEVPTBlockPass", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11871, "Length": 124} {"ground_truth": ["", "bool", "MVEVPTOptimisations", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", "||", "!", "STI", ".", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM MVE VPT Optimisations **********\\n\"", "<<", "\"********** Function: \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "{", "Modified", "|=", "ReplaceVCMPsByVPNOTs", "(", "MBB", ")", ";", "Modified", "|=", "ReduceOldVCCRValueUses", "(", "MBB", ")", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"**************************************\\n\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"********** ARM MVE VPT Optimisations **********\\n\"", "\"********** Function: \"", "\"**************************************\\n\""], "File": "MVEVPTOptimisationsPass1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11872, "Length": 134} {"ground_truth": ["", "bool", "MVEVPTOptimisations", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", "||", "!", "STI", ".", "hasLOB", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "MachineLoopInfo", "*", "MLI", "=", "&", "getAnalysis", "<", "MachineLoopInfo", ">", "(", ")", ";", "MachineDominatorTree", "*", "DT", "=", "&", "getAnalysis", "<", "MachineDominatorTree", ">", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM MVE VPT Optimisations **********\\n\"", "<<", "\"********** Function: \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineLoop", "*", "ML", ":", "MLI", "->", "getBase", "(", ")", ".", "getLoopsInPreorder", "(", ")", ")", "{", "Modified", "|=", "MergeLoopEnd", "(", "ML", ")", ";", "Modified", "|=", "ConvertTailPredLoop", "(", "ML", ",", "DT", ")", ";", "}", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "{", "Modified", "|=", "ReplaceConstByVPNOTs", "(", "MBB", ",", "DT", ")", ";", "Modified", "|=", "ReplaceVCMPsByVPNOTs", "(", "MBB", ")", ";", "Modified", "|=", "ReduceOldVCCRValueUses", "(", "MBB", ")", ";", "Modified", "|=", "ConvertVPSEL", "(", "MBB", ")", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"**************************************\\n\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"********** ARM MVE VPT Optimisations **********\\n\"", "\"********** Function: \"", "\"**************************************\\n\""], "File": "MVEVPTOptimisationsPass2", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11873, "Length": 208} {"ground_truth": ["", "bool", "MVEVPTOptimisations", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", "||", "!", "STI", ".", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM MVE VPT Optimisations **********\\n\"", "<<", "\"********** Function: \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "ReplaceVCMPsByVPNOTs", "(", "MBB", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"**************************************\\n\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"********** ARM MVE VPT Optimisations **********\\n\"", "\"********** Function: \"", "\"**************************************\\n\""], "File": "MVEVPTOptimisationsPass3", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11874, "Length": 125} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"ARM MVE VPT Optimisation Pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"ARM MVE VPT Optimisation Pass\""], "File": "MVEVPTOptimisationsPass", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11875, "Length": 11} {"ground_truth": ["", "bool", "MVEVPTOptimisations", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", "||", "!", "STI", ".", "hasMVEIntegerOps", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "MRI", "=", "&", "Fn", ".", "getRegInfo", "(", ")", ";", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"********** ARM MVE VPT Optimisations **********\\n\"", "<<", "\"********** Function: \"", "<<", "Fn", ".", "getName", "(", ")", "<<", "'\\n'", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "&", "MBB", ":", "Fn", ")", "{", "Modified", "|=", "ReplaceVCMPsByVPNOTs", "(", "MBB", ")", ";", "Modified", "|=", "ReduceOldVCCRValueUses", "(", "MBB", ")", ";", "Modified", "|=", "ConvertVPSEL", "(", "MBB", ")", ";", "}", "LLVM_DEBUG", "(", "dbgs", "(", ")", "<<", "\"**************************************\\n\"", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "\"********** ARM MVE VPT Optimisations **********\\n\"", "\"********** Function: \"", "\"**************************************\\n\""], "File": "MVEVPTOptimisationsPass", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11876, "Length": 141} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"NEON reg-reg move conversion\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"NEON reg-reg move conversion\""], "File": "NEONMoveFix1", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11877, "Length": 13} {"ground_truth": ["", "bool", "NEONMoveFixPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "ARMFunctionInfo", "*", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "Fn", ".", "getTarget", "(", ")", ";", "if", "(", "AFI", "->", "isThumb1OnlyFunction", "(", ")", ")", "return", "false", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "InsertMoves", "(", "MBB", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "NEONMoveFix1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11878, "Length": 122} {"ground_truth": ["", "bool", "NEONMoveFixPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "ARMFunctionInfo", "*", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetMachine", "&", "TM", "=", "Fn", ".", "getTarget", "(", ")", ";", "if", "(", "AFI", "->", "isThumbFunction", "(", ")", ")", "return", "false", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "InsertMoves", "(", "MBB", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "NEONMoveFix2", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11879, "Length": 122} {"ground_truth": ["", "bool", "NEONPreAllocPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "TII", "=", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "PreAllocNEONRegisters", "(", "MBB", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM"], "File": "NEONPreAllocPass1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11880, "Length": 84} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"NEON register pre-allocation pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"NEON register pre-allocation pass\""], "File": "NEONPreAllocPass", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11881, "Length": 13} {"ground_truth": ["", "bool", "NEONPreAllocPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "TII", "=", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "PreAllocNEONRegisters", "(", "MBB", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM"], "File": "NEONPreAllocPass", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11882, "Length": 75} {"ground_truth": ["", "const", "std", "::", "string", "&", "THMToARMStub", "::", "name", "(", ")", "const", "{", "return", "m_Name", ";", "}", ""], "natrual_language": ["Gets", "the", "name", "of", "the", "pass", "we", "are", "mixed", "into", "."], "TS_V_token": ["ARM", "ARM"], "File": "THMToARMStub", "Func": "name", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11883, "Length": 16} {"ground_truth": ["", "size_t", "THMToARMStub", "::", "size", "(", ")", "const", "{", "return", "m_Size", ";", "}", ""], "natrual_language": ["The", "number", "of", "name/type", "pairs", "is", "returned", "."], "TS_V_token": ["ARM", "ARM"], "File": "THMToARMStub", "Func": "size", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11884, "Length": 12} {"ground_truth": ["", "const", "std", "::", "string", "&", "THMToTHMStub", "::", "name", "(", ")", "const", "{", "return", "m_Name", ";", "}", ""], "natrual_language": ["Gets", "the", "name", "of", "the", "pass", "we", "are", "mixed", "into", "."], "TS_V_token": ["ARM"], "File": "THMToTHMStub", "Func": "name", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11885, "Length": 16} {"ground_truth": ["", "size_t", "THMToTHMStub", "::", "size", "(", ")", "const", "{", "return", "m_Size", ";", "}", ""], "natrual_language": ["The", "number", "of", "name/type", "pairs", "is", "returned", "."], "TS_V_token": ["ARM"], "File": "THMToTHMStub", "Func": "size", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11886, "Length": 12} {"ground_truth": ["", "static", "void", "emitSPUpdate", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "TargetInstrInfo", "&", "TII", ",", "DebugLoc", "dl", ",", "const", "Thumb1RegisterInfo", "&", "MRI", ",", "int", "NumBytes", ")", "{", "emitThumbRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "TII", ",", "MRI", ",", "dl", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "series", "of", "instructions", "to", "increment", "/", "decrement", "the", "stack", "pointer", "by", "a", "constant", "value", "."], "TS_V_token": ["ARM", "ARM::SP", "ARM::SP"], "File": "Thumb1FrameInfo", "Func": "emitSPUpdate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11887, "Length": 55} {"ground_truth": ["", "bool", "Thumb1FrameInfo", "::", "hasReservedCallFrame", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "FFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "CFSize", "=", "FFI", "->", "getMaxCallFrameSize", "(", ")", ";", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "8", ")", "-", "1", ")", "*", "4", "/", "2", ")", "return", "false", ";", "return", "!", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasReservedCallFrame", "-", "Under", "normal", "circumstances", ",", "when", "a", "frame", "pointer", "is", "not", "required", ",", "we", "reserve", "argument", "space", "for", "call", "sites", "in", "the", "function", "immediately", "on", "entry", "to", "the", "current", "function", "."], "TS_V_token": ["ARM", "1", "8", "1", "4", "2"], "File": "Thumb1FrameInfo", "Func": "hasReservedCallFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11888, "Length": 66} {"ground_truth": ["", "bool", "Thumb1FrameInfo", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1FrameInfo", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11889, "Length": 256} {"ground_truth": ["", "bool", "Thumb1FrameInfo", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPUSH", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "bool", "isKill", "=", "true", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "if", "(", "MF", ".", "getFrameInfo", "(", ")", "->", "isReturnAddressTaken", "(", ")", "&&", "MF", ".", "getRegInfo", "(", ")", ".", "isLiveIn", "(", "Reg", ")", ")", "isKill", "=", "false", ";", "}", "if", "(", "isKill", ")", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "MIB", ".", "addReg", "(", "Reg", ",", "getKillRegState", "(", "isKill", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM::tPUSH", "0", "1", "ARM::LR"], "File": "Thumb1FrameInfo", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11890, "Length": 230} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "Thumb1FrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "Thumb1InstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "Thumb1InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "const", "ThumbRegisterInfo", "*", "RegInfo", "=", "static_cast", "<", "const", "ThumbRegisterInfo", "*", ">", "(", "STI", ".", "getRegisterInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "&", "Old", "=", "*", "I", ";", "DebugLoc", "dl", "=", "Old", ".", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "TII", ".", "getFrameSize", "(", "Old", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "Amount", "=", "alignTo", "(", "Amount", ",", "getStackAlignment", "(", ")", ")", ";", "unsigned", "Opc", "=", "Old", ".", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitCallSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "-", "Amount", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitCallSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "Amount", ")", ";", "}", "}", "}", "return", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "0", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "Thumb1FrameLowering (2)1", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11891, "Length": 201} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "hasReservedCallFrame", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "CFSize", "=", "MFI", ".", "getMaxCallFrameSize", "(", ")", ";", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "8", ")", "-", "1", ")", "*", "4", "/", "2", ")", "return", "false", ";", "return", "!", "MFI", ".", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasReservedCallFrame", "-", "Under", "normal", "circumstances", ",", "when", "a", "frame", "pointer", "is", "not", "required", ",", "we", "reserve", "argument", "space", "for", "call", "sites", "in", "the", "function", "immediately", "on", "entry", "to", "the", "current", "function", "."], "TS_V_token": ["ARM", "1", "8", "1", "4", "2"], "File": "Thumb1FrameLowering (2)1", "Func": "hasReservedCallFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11892, "Length": 62} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "canUseAsEpilogue", "(", "const", "MachineBasicBlock", "&", "MBB", ")", "const", "{", "if", "(", "!", "needPopSpecialFixUp", "(", "*", "MBB", ".", "getParent", "(", ")", ")", ")", "return", "true", ";", "MachineBasicBlock", "*", "TmpMBB", "=", "const_cast", "<", "MachineBasicBlock", "*", ">", "(", "&", "MBB", ")", ";", "return", "emitPopSpecialFixUp", "(", "*", "TmpMBB", ",", "false", ")", ";", "}", ""], "natrual_language": ["Check", "whether", "or", "not", "the", "given", "MBB", "can", "be", "used", "as", "a", "epilogue", "for", "the", "target", "."], "TS_V_token": ["ARM"], "File": "Thumb1FrameLowering (2)", "Func": "canUseAsEpilogue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11893, "Length": 52} {"ground_truth": ["", "void", "Thumb1FrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "Thumb1InstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "Thumb1InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "const", "ThumbRegisterInfo", "*", "RegInfo", "=", "static_cast", "<", "const", "ThumbRegisterInfo", "*", ">", "(", "STI", ".", "getRegisterInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "-", "Amount", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "Amount", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "0", "0", "1", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "Thumb1FrameLowering (2)", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11894, "Length": 211} {"ground_truth": ["", "static", "void", "emitSPUpdate", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "TargetInstrInfo", "&", "TII", ",", "DebugLoc", "dl", ",", "const", "ThumbRegisterInfo", "&", "MRI", ",", "int", "NumBytes", ",", "unsigned", "MIFlags", "=", "MachineInstr", "::", "NoFlags", ")", "{", "emitThumbRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "dl", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "TII", ",", "MRI", ",", "MIFlags", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "series", "of", "instructions", "to", "increment", "/", "decrement", "the", "stack", "pointer", "by", "a", "constant", "value", "."], "TS_V_token": ["ARM", "ARM::SP", "ARM::SP"], "File": "Thumb1FrameLowering (2)", "Func": "emitSPUpdate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11895, "Length": 64} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "hasReservedCallFrame", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "FFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "CFSize", "=", "FFI", "->", "getMaxCallFrameSize", "(", ")", ";", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "8", ")", "-", "1", ")", "*", "4", "/", "2", ")", "return", "false", ";", "return", "!", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasReservedCallFrame", "-", "Under", "normal", "circumstances", ",", "when", "a", "frame", "pointer", "is", "not", "required", ",", "we", "reserve", "argument", "space", "for", "call", "sites", "in", "the", "function", "immediately", "on", "entry", "to", "the", "current", "function", "."], "TS_V_token": ["ARM", "1", "8", "1", "4", "2"], "File": "Thumb1FrameLowering (2)", "Func": "hasReservedCallFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11896, "Length": 66} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getArgRegsSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "!=", "MBB", ".", "end", "(", ")", "?", "MI", "->", "getDebugLoc", "(", ")", ":", "DebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", "&&", "MBB", ".", "succ_empty", "(", ")", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "if", "(", "!", "STI", ".", "hasV5TOps", "(", ")", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "MIB", ".", "copyImplicitOps", "(", "&", "*", "MI", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1FrameLowering (2)", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11897, "Length": 300} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPUSH", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "bool", "isKill", "=", "true", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "if", "(", "MF", ".", "getFrameInfo", "(", ")", "->", "isReturnAddressTaken", "(", ")", "&&", "MF", ".", "getRegInfo", "(", ")", ".", "isLiveIn", "(", "Reg", ")", ")", "isKill", "=", "false", ";", "}", "if", "(", "isKill", ")", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "MIB", ".", "addReg", "(", "Reg", ",", "getKillRegState", "(", "isKill", ")", ")", ";", "}", "MIB", ".", "setMIFlags", "(", "MachineInstr", "::", "FrameSetup", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM::tPUSH", "0", "1", "ARM::LR"], "File": "Thumb1FrameLowering (2)", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11898, "Length": 206} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "Thumb1FrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "Thumb1InstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "Thumb1InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "const", "ThumbRegisterInfo", "*", "RegInfo", "=", "static_cast", "<", "const", "ThumbRegisterInfo", "*", ">", "(", "STI", ".", "getRegisterInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "&", "Old", "=", "*", "I", ";", "DebugLoc", "dl", "=", "Old", ".", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "TII", ".", "getFrameSize", "(", "Old", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "Amount", "=", "alignTo", "(", "Amount", ",", "getStackAlign", "(", ")", ")", ";", "unsigned", "Opc", "=", "Old", ".", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitCallSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "-", "Amount", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitCallSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "Amount", ")", ";", "}", "}", "}", "return", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "0", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "Thumb1FrameLowering10", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11899, "Length": 201} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getArgRegsSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MIB", ".", "copyImplicitOps", "(", "&", "*", "MI", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1FrameLowering11", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11900, "Length": 265} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "Thumb1FrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "Thumb1InstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "Thumb1InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "const", "ThumbRegisterInfo", "*", "RegInfo", "=", "static_cast", "<", "const", "ThumbRegisterInfo", "*", ">", "(", "STI", ".", "getRegisterInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "&", "Old", "=", "*", "I", ";", "DebugLoc", "dl", "=", "Old", ".", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "TII", ".", "getFrameSize", "(", "Old", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "Amount", "=", "alignTo", "(", "Amount", ",", "getStackAlignment", "(", ")", ")", ";", "unsigned", "Opc", "=", "Old", ".", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "-", "Amount", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "Amount", ")", ";", "}", "}", "}", "return", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "0", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "Thumb1FrameLowering13", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11901, "Length": 201} {"ground_truth": ["", "static", "void", "emitSPUpdate", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "TargetInstrInfo", "&", "TII", ",", "const", "DebugLoc", "&", "dl", ",", "const", "ThumbRegisterInfo", "&", "MRI", ",", "int", "NumBytes", ",", "unsigned", "MIFlags", "=", "MachineInstr", "::", "NoFlags", ")", "{", "emitThumbRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "dl", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "TII", ",", "MRI", ",", "MIFlags", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "series", "of", "instructions", "to", "increment", "/", "decrement", "the", "stack", "pointer", "by", "a", "constant", "value", "."], "TS_V_token": ["ARM", "ARM::SP", "ARM::SP"], "File": "Thumb1FrameLowering13", "Func": "emitSPUpdate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11902, "Length": 66} {"ground_truth": ["", "bool", "enableShrinkWrapping", "(", "const", "MachineFunction", "&", "MF", ")", "const", "override", "{", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "will", "correctly", "handle", "shrink", "wrapping", "."], "TS_V_token": ["ARM"], "File": "Thumb1FrameLowering13", "Func": "enableShrinkWrapping", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11903, "Length": 15} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "Thumb1FrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "Thumb1InstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "Thumb1InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "const", "ThumbRegisterInfo", "*", "RegInfo", "=", "static_cast", "<", "const", "ThumbRegisterInfo", "*", ">", "(", "STI", ".", "getRegisterInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "&", "Old", "=", "*", "I", ";", "DebugLoc", "dl", "=", "Old", ".", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", ".", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "unsigned", "Opc", "=", "Old", ".", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "-", "Amount", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "Amount", ")", ";", "}", "}", "}", "return", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "0", "0", "1", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "Thumb1FrameLowering15", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11904, "Length": 215} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getArgRegsSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "!=", "MBB", ".", "end", "(", ")", "?", "MI", "->", "getDebugLoc", "(", ")", ":", "DebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NeedsPop", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "MBB", ".", "succ_empty", "(", ")", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "if", "(", "!", "STI", ".", "hasV5TOps", "(", ")", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "MIB", ".", "copyImplicitOps", "(", "&", "*", "MI", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "else", "continue", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NeedsPop", "=", "true", ";", "}", "if", "(", "NeedsPop", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1FrameLowering18", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11905, "Length": 307} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getArgRegsSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "if", "(", "STI", ".", "hasV4TOps", "(", ")", "&&", "!", "STI", ".", "hasV5TOps", "(", ")", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MIB", ".", "copyImplicitOps", "(", "&", "*", "MI", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1FrameLowering1", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11906, "Length": 278} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPUSH", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "bool", "isKill", "=", "true", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "if", "(", "MF", ".", "getFrameInfo", "(", ")", "->", "isReturnAddressTaken", "(", ")", "&&", "MF", ".", "getRegInfo", "(", ")", ".", "isLiveIn", "(", "Reg", ")", ")", "isKill", "=", "false", ";", "}", "if", "(", "isKill", ")", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "MIB", ".", "addReg", "(", "Reg", ",", "getKillRegState", "(", "isKill", ")", ")", ";", "}", "MIB", ".", "setMIFlags", "(", "MachineInstr", "::", "FrameSetup", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM::tPUSH", "0", "1", "ARM::LR"], "File": "Thumb1FrameLowering1", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11907, "Length": 224} {"ground_truth": ["", "void", "Thumb1FrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "Thumb1InstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "Thumb1InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "const", "Thumb1RegisterInfo", "*", "RegInfo", "=", "static_cast", "<", "const", "Thumb1RegisterInfo", "*", ">", "(", "STI", ".", "getRegisterInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "-", "Amount", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "Amount", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "0", "0", "1", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "Thumb1FrameLowering28", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11908, "Length": 211} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getArgRegsSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "!=", "MBB", ".", "end", "(", ")", "?", "MI", "->", "getDebugLoc", "(", ")", ":", "DebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NeedsPop", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "MBB", ".", "succ_empty", "(", ")", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "if", "(", "!", "STI", ".", "hasV5TOps", "(", ")", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "MIB", ".", "copyImplicitOps", "(", "*", "MI", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "else", "continue", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NeedsPop", "=", "true", ";", "}", "if", "(", "NeedsPop", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1FrameLowering2", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11909, "Length": 306} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPUSH", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "bool", "isKill", "=", "true", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "if", "(", "MF", ".", "getFrameInfo", "(", ")", ".", "isReturnAddressTaken", "(", ")", "&&", "MF", ".", "getRegInfo", "(", ")", ".", "isLiveIn", "(", "Reg", ")", ")", "isKill", "=", "false", ";", "}", "if", "(", "isKill", ")", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "MIB", ".", "addReg", "(", "Reg", ",", "getKillRegState", "(", "isKill", ")", ")", ";", "}", "MIB", ".", "setMIFlags", "(", "MachineInstr", "::", "FrameSetup", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM::tPUSH", "0", "1", "ARM::LR"], "File": "Thumb1FrameLowering2", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11910, "Length": 206} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getArgRegsSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "!=", "MBB", ".", "end", "(", ")", "?", "MI", "->", "getDebugLoc", "(", ")", ":", "DebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", "&&", "MBB", ".", "succ_empty", "(", ")", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "if", "(", "STI", ".", "hasV4TOps", "(", ")", "&&", "!", "STI", ".", "hasV5TOps", "(", ")", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "MIB", ".", "copyImplicitOps", "(", "&", "*", "MI", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1FrameLowering35", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11911, "Length": 306} {"ground_truth": ["", "MachineBasicBlock", "::", "iterator", "Thumb1FrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "Thumb1InstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "Thumb1InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "const", "ThumbRegisterInfo", "*", "RegInfo", "=", "static_cast", "<", "const", "ThumbRegisterInfo", "*", ">", "(", "STI", ".", "getRegisterInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "-", "Amount", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "Amount", ")", ";", "}", "}", "}", "return", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "0", "0", "1", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "Thumb1FrameLowering36", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11912, "Length": 214} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MIB", "->", "copyImplicitOps", "(", "&", "*", "MI", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1FrameLowering37", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11913, "Length": 265} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "hasReservedCallFrame", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "FFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "CFSize", "=", "FFI", "->", "getMaxCallFrameSize", "(", ")", ";", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "8", ")", "-", "1", ")", "*", "4", "/", "2", ")", "return", "false", ";", "return", "!", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasReservedCallFrame", "-", "Under", "normal", "circumstances", ",", "when", "a", "frame", "pointer", "is", "not", "required", ",", "we", "reserve", "argument", "space", "for", "call", "sites", "in", "the", "function", "immediately", "on", "entry", "to", "the", "current", "function", "."], "TS_V_token": ["ARM", "1", "8", "1", "4", "2"], "File": "Thumb1FrameLowering38", "Func": "hasReservedCallFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11914, "Length": 66} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1FrameLowering38", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11915, "Length": 256} {"ground_truth": ["", "void", "Thumb1FrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "Thumb1InstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "Thumb1InstrInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "const", "Thumb1RegisterInfo", "*", "RegInfo", "=", "static_cast", "<", "const", "Thumb1RegisterInfo", "*", ">", "(", "MF", ".", "getSubtarget", "(", ")", ".", "getRegisterInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "-", "Amount", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "Amount", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "0", "0", "1", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "Thumb1FrameLowering57", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11916, "Length": 219} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getArgRegsSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "if", "(", "STI", ".", "hasV4TOps", "(", ")", "&&", "!", "STI", ".", "hasV5TOps", "(", ")", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MIB", ".", "copyImplicitOps", "(", "&", "*", "MI", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1FrameLowering57", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11917, "Length": 282} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPUSH", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "bool", "isKill", "=", "true", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "if", "(", "MF", ".", "getFrameInfo", "(", ")", "->", "isReturnAddressTaken", "(", ")", "&&", "MF", ".", "getRegInfo", "(", ")", ".", "isLiveIn", "(", "Reg", ")", ")", "isKill", "=", "false", ";", "}", "if", "(", "isKill", ")", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "MIB", ".", "addReg", "(", "Reg", ",", "getKillRegState", "(", "isKill", ")", ")", ";", "}", "MIB", ".", "setMIFlags", "(", "MachineInstr", "::", "FrameSetup", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM::tPUSH", "0", "1", "ARM::LR"], "File": "Thumb1FrameLowering57", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11918, "Length": 239} {"ground_truth": ["", "void", "Thumb1FrameLowering", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "Thumb1InstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "Thumb1InstrInfo", "*", ">", "(", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "const", "Thumb1RegisterInfo", "*", "RegInfo", "=", "static_cast", "<", "const", "Thumb1RegisterInfo", "*", ">", "(", "MF", ".", "getTarget", "(", ")", ".", "getRegisterInfo", "(", ")", ")", ";", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "-", "Amount", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "RegInfo", ",", "Amount", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "0", "0", "1", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "Thumb1FrameLowering", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11919, "Length": 219} {"ground_truth": ["", "static", "void", "emitSPUpdate", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "TargetInstrInfo", "&", "TII", ",", "DebugLoc", "dl", ",", "const", "Thumb1RegisterInfo", "&", "MRI", ",", "int", "NumBytes", ",", "unsigned", "MIFlags", "=", "MachineInstr", "::", "NoFlags", ")", "{", "emitThumbRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "dl", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "TII", ",", "MRI", ",", "MIFlags", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "series", "of", "instructions", "to", "increment", "/", "decrement", "the", "stack", "pointer", "by", "a", "constant", "value", "."], "TS_V_token": ["ARM", "ARM::SP", "ARM::SP"], "File": "Thumb1FrameLowering", "Func": "emitSPUpdate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11920, "Length": 64} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "TII", ".", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MIB", ".", "copyImplicitOps", "(", "&", "*", "MI", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1FrameLowering", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11921, "Length": 265} {"ground_truth": ["", "bool", "Thumb1FrameLowering", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tPUSH", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "bool", "isKill", "=", "true", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "if", "(", "MF", ".", "getFrameInfo", "(", ")", "->", "isReturnAddressTaken", "(", ")", "&&", "MF", ".", "getRegInfo", "(", ")", ".", "isLiveIn", "(", "Reg", ")", ")", "isKill", "=", "false", ";", "}", "if", "(", "isKill", ")", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "MIB", ".", "addReg", "(", "Reg", ",", "getKillRegState", "(", "isKill", ")", ")", ";", "}", "MIB", ".", "setMIFlags", "(", "MachineInstr", "::", "FrameSetup", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM::tPUSH", "0", "1", "ARM::LR"], "File": "Thumb1FrameLowering", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11922, "Length": 239} {"ground_truth": ["", "bool", "Thumb1InstrInfo", "::", "canCopyGluedNodeDuringSchedule", "(", "SDNode", "*", "N", ")", "const", "{", "unsigned", "Opcode", "=", "N", "->", "getMachineOpcode", "(", ")", ";", "if", "(", "Opcode", "==", "ARM", "::", "tADCS", "||", "Opcode", "==", "ARM", "::", "tSBCS", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "given", "SDNode", "can", "be", "copied", "during", "scheduling", "even", "if", "it", "has", "glue", "."], "TS_V_token": ["ARM", "ARM::tADCS", "ARM::tSBCS"], "File": "Thumb1InstrInfo10", "Func": "canCopyGluedNodeDuringSchedule", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11923, "Length": 41} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "const", "DebugLoc", "&", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMSubtarget", "&", "st", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "assert", "(", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", "&&", "\"Thumb1 can only copy GPR registers\"", ")", ";", "if", "(", "st", ".", "hasV6Ops", "(", ")", "||", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "SrcReg", ")", "||", "!", "ARM", "::", "tGPRRegClass", ".", "contains", "(", "DestReg", ")", ")", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "else", "{", "const", "TargetRegisterInfo", "*", "RegInfo", "=", "st", ".", "getRegisterInfo", "(", ")", ";", "if", "(", "MBB", ".", "computeRegisterLiveness", "(", "RegInfo", ",", "ARM", "::", "CPSR", ",", "I", ")", "==", "MachineBasicBlock", "::", "LQR_Dead", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVSr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", "->", "addRegisterDead", "(", "ARM", "::", "CPSR", ",", "RegInfo", ")", ";", "return", ";", "}", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tPUSH", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tPOP", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ")", ";", "}", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegClass", "\"Thumb1 can only copy GPR registers\"", "ARM::hGPRRegClass", "ARM::tGPRRegClass", "ARM::tMOVr", "ARMCC::AL", "ARM::CPSR", "ARM::tMOVSr", "ARM::CPSR", "ARM::tPUSH", "ARMCC::AL", "ARM::tPOP", "ARMCC::AL"], "File": "Thumb1InstrInfo10", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11924, "Length": 283} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "->", "hasSuperClassEq", "(", "&", "ARM", "::", "tGPRRegClass", ")", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "->", "hasSuperClassEq", "(", "&", "ARM", "::", "tGPRRegClass", ")", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tLDRspi", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tLDRspi", "0", "ARMCC::AL"], "File": "Thumb1InstrInfo10", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11925, "Length": 213} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSTRspi", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tSTRspi", "0", "ARMCC::AL"], "File": "Thumb1InstrInfo10", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11926, "Length": 218} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "DebugLoc", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "bool", "tDest", "=", "ARM", "::", "tGPRRegClass", ".", "contains", "(", "DestReg", ")", ";", "bool", "tSrc", "=", "ARM", "::", "tGPRRegClass", ".", "contains", "(", "SrcReg", ")", ";", "unsigned", "Opc", "=", "ARM", "::", "tMOVgpr2gpr", ";", "if", "(", "tDest", "&&", "tSrc", ")", "Opc", "=", "ARM", "::", "tMOVr", ";", "else", "if", "(", "tSrc", ")", "Opc", "=", "ARM", "::", "tMOVtgpr2gpr", ";", "else", "if", "(", "tDest", ")", "Opc", "=", "ARM", "::", "tMOVgpr2tgpr", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "Opc", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ";", "assert", "(", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", "&&", "\"Thumb1 can only copy GPR registers\"", ")", ";", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM::tGPRRegClass", "ARM::tMOVgpr2gpr", "ARM::tMOVr", "ARM::tMOVtgpr2gpr", "ARM::tMOVgpr2tgpr", "ARM::GPRRegClass", "\"Thumb1 can only copy GPR registers\""], "File": "Thumb1InstrInfo11", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11927, "Length": 136} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tRestore", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM", "0", "ARM::tRestore", "0"], "File": "Thumb1InstrInfo11", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11928, "Length": 199} {"ground_truth": ["", "bool", "Thumb1InstrInfo", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1InstrInfo11", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11929, "Length": 236} {"ground_truth": ["", "bool", "Thumb1InstrInfo", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MI", ",", "DL", ",", "get", "(", "ARM", "::", "tPUSH", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "bool", "isKill", "=", "true", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "if", "(", "MF", ".", "getFrameInfo", "(", ")", "->", "isReturnAddressTaken", "(", ")", "&&", "MF", ".", "getRegInfo", "(", ")", ".", "isLiveIn", "(", "Reg", ")", ")", "isKill", "=", "false", ";", "}", "if", "(", "isKill", ")", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "MIB", ".", "addReg", "(", "Reg", ",", "getKillRegState", "(", "isKill", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM::tPUSH", "0", "1", "ARM::LR"], "File": "Thumb1InstrInfo11", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11930, "Length": 201} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSpill", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM", "0", "ARM::tSpill", "0"], "File": "Thumb1InstrInfo11", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11931, "Length": 210} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "DebugLoc", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMSubtarget", "&", "st", "=", "MF", ".", "getTarget", "(", ")", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "assert", "(", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", "&&", "\"Thumb1 can only copy GPR registers\"", ")", ";", "if", "(", "st", ".", "hasV6Ops", "(", ")", "||", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "SrcReg", ")", "||", "!", "ARM", "::", "tGPRRegClass", ".", "contains", "(", "DestReg", ")", ")", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ")", ";", "else", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tPUSH", ")", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tPOP", ")", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ")", ";", "}", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegClass", "\"Thumb1 can only copy GPR registers\"", "ARM::hGPRRegClass", "ARM::tGPRRegClass", "ARM::tMOVr", "ARM::tPUSH", "ARM::tPOP"], "File": "Thumb1InstrInfo14", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11932, "Length": 193} {"ground_truth": ["", "MachineInstr", "*", "foldMemoryOperandImpl", "(", "MachineFunction", "&", "MF", ",", "MachineInstr", "*", "MI", ",", "const", "SmallVectorImpl", "<", "unsigned", ">", "&", "Ops", ",", "MachineInstr", "*", "LoadMI", ")", "const", "{", "return", "0", ";", "}", ""], "natrual_language": ["foldMemoryOperand", "-", "Same", "as", "the", "previous", "version", "except", "it", "allows", "folding", "of", "any", "load", "and", "store", "from", "/", "to", "any", "address", ",", "not", "just", "from", "a", "specific", "stack", "slot", "."], "TS_V_token": ["ARM", "0"], "File": "Thumb1InstrInfo14", "Func": "foldMemoryOperandImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11933, "Length": 30} {"ground_truth": ["", "const", "Thumb1RegisterInfo", "&", "getRegisterInfo", "(", ")", "const", "{", "return", "RI", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM"], "File": "Thumb1InstrInfo14", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11934, "Length": 12} {"ground_truth": ["", "MachineInstr", "*", "Thumb1InstrInfo", "::", "foldMemoryOperandImpl", "(", "MachineFunction", "&", "MF", ",", "MachineInstr", "*", "MI", ",", "const", "SmallVectorImpl", "<", "unsigned", ">", "&", "Ops", ",", "int", "FI", ")", "const", "{", "if", "(", "Ops", ".", "size", "(", ")", "!=", "1", ")", "return", "NULL", ";", "unsigned", "OpNum", "=", "Ops", "[", "0", "]", ";", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "MachineInstr", "*", "NewMI", "=", "NULL", ";", "switch", "(", "Opc", ")", "{", "default", ":", "break", ";", "case", "ARM", "::", "tMOVr", ":", "case", "ARM", "::", "tMOVtgpr2gpr", ":", "case", "ARM", "::", "tMOVgpr2tgpr", ":", "case", "ARM", "::", "tMOVgpr2gpr", ":", "{", "if", "(", "OpNum", "==", "0", ")", "{", "unsigned", "SrcReg", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getReg", "(", ")", ";", "bool", "isKill", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "isKill", "(", ")", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "!", "isARMLowRegister", "(", "SrcReg", ")", ")", "break", ";", "NewMI", "=", "AddDefaultPred", "(", "BuildMI", "(", "MF", ",", "MI", "->", "getDebugLoc", "(", ")", ",", "get", "(", "ARM", "::", "tSpill", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "else", "{", "unsigned", "DstReg", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DstReg", ")", "&&", "!", "isARMLowRegister", "(", "DstReg", ")", ")", "break", ";", "bool", "isDead", "=", "MI", "->", "getOperand", "(", "0", ")", ".", "isDead", "(", ")", ";", "NewMI", "=", "AddDefaultPred", "(", "BuildMI", "(", "MF", ",", "MI", "->", "getDebugLoc", "(", ")", ",", "get", "(", "ARM", "::", "tRestore", ")", ")", ".", "addReg", "(", "DstReg", ",", "RegState", "::", "Define", "|", "getDeadRegState", "(", "isDead", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "break", ";", "}", "}", "return", "NewMI", ";", "}", ""], "natrual_language": ["foldMemoryOperand", "-", "Same", "as", "the", "previous", "version", "except", "it", "allows", "folding", "of", "any", "load", "and", "store", "from", "/", "to", "any", "address", ",", "not", "just", "from", "a", "specific", "stack", "slot", "."], "TS_V_token": ["ARM", "1", "0", "ARM::tMOVr", "ARM::tMOVtgpr2gpr", "ARM::tMOVgpr2tgpr", "ARM::tMOVgpr2gpr", "0", "1", "1", "ARM", "ARM::tSpill", "0", "0", "ARM", "0", "ARM::tRestore", "0"], "File": "Thumb1InstrInfo15", "Func": "foldMemoryOperandImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11935, "Length": 292} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tRestore", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM::tRestore", "0"], "File": "Thumb1InstrInfo15", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11936, "Length": 123} {"ground_truth": ["", "bool", "Thumb1InstrInfo", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "0", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "++", "NumRegs", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1InstrInfo15", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11937, "Length": 222} {"ground_truth": ["", "bool", "Thumb1InstrInfo", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MI", ",", "DL", ",", "get", "(", "ARM", "::", "tPUSH", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "MIB", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM::tPUSH", "0", "1"], "File": "Thumb1InstrInfo15", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11938, "Length": 144} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSpill", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM::tSpill", "0"], "File": "Thumb1InstrInfo15", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11939, "Length": 134} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "const", "DebugLoc", "&", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMSubtarget", "&", "st", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "assert", "(", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", "&&", "\"Thumb1 can only copy GPR registers\"", ")", ";", "if", "(", "st", ".", "hasV6Ops", "(", ")", "||", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "SrcReg", ")", "||", "!", "ARM", "::", "tGPRRegClass", ".", "contains", "(", "DestReg", ")", ")", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "else", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tPUSH", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tPOP", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ")", ";", "}", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegClass", "\"Thumb1 can only copy GPR registers\"", "ARM::hGPRRegClass", "ARM::tGPRRegClass", "ARM::tMOVr", "ARMCC::AL", "ARM::tPUSH", "ARMCC::AL", "ARM::tPOP", "ARMCC::AL"], "File": "Thumb1InstrInfo19", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11940, "Length": 212} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tLDRspi", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tLDRspi", "0", "ARMCC::AL"], "File": "Thumb1InstrInfo19", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11941, "Length": 207} {"ground_truth": ["", "const", "ThumbRegisterInfo", "&", "getRegisterInfo", "(", ")", "const", "override", "{", "return", "RI", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM"], "File": "Thumb1InstrInfo1", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11942, "Length": 13} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "const", "DebugLoc", "&", "DL", ",", "MCRegister", "DestReg", ",", "MCRegister", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMSubtarget", "&", "st", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "assert", "(", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", "&&", "\"Thumb1 can only copy GPR registers\"", ")", ";", "if", "(", "st", ".", "hasV6Ops", "(", ")", "||", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "SrcReg", ")", "||", "!", "ARM", "::", "tGPRRegClass", ".", "contains", "(", "DestReg", ")", ")", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "else", "{", "const", "TargetRegisterInfo", "*", "RegInfo", "=", "st", ".", "getRegisterInfo", "(", ")", ";", "if", "(", "MBB", ".", "computeRegisterLiveness", "(", "RegInfo", ",", "ARM", "::", "CPSR", ",", "I", ")", "==", "MachineBasicBlock", "::", "LQR_Dead", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVSr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", "->", "addRegisterDead", "(", "ARM", "::", "CPSR", ",", "RegInfo", ")", ";", "return", ";", "}", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tPUSH", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tPOP", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ")", ";", "}", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegClass", "\"Thumb1 can only copy GPR registers\"", "ARM::hGPRRegClass", "ARM::tGPRRegClass", "ARM::tMOVr", "ARMCC::AL", "ARM::CPSR", "ARM::tMOVSr", "ARM::CPSR", "ARM::tPUSH", "ARMCC::AL", "ARM::tPOP", "ARMCC::AL"], "File": "Thumb1InstrInfo20", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11943, "Length": 283} {"ground_truth": ["", "MCInst", "Thumb1InstrInfo", "::", "getNop", "(", ")", "const", "{", "return", "MCInstBuilder", "(", "ARM", "::", "tMOVr", ")", ".", "addReg", "(", "ARM", "::", "R8", ")", ".", "addReg", "(", "ARM", "::", "R8", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ";", "}", ""], "natrual_language": ["Return", "the", "noop", "instruction", "to", "use", "for", "a", "noop", "."], "TS_V_token": ["ARM", "ARM::tMOVr", "ARM::R8", "ARM::R8", "ARMCC::AL", "0"], "File": "Thumb1InstrInfo20", "Func": "getNop", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11944, "Length": 43} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "Register", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "->", "hasSuperClassEq", "(", "&", "ARM", "::", "tGPRRegClass", ")", "||", "(", "Register", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "->", "hasSuperClassEq", "(", "&", "ARM", "::", "tGPRRegClass", ")", "||", "(", "Register", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlign", "(", "FI", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tLDRspi", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tLDRspi", "0", "ARMCC::AL"], "File": "Thumb1InstrInfo20", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11945, "Length": 213} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "Register", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "Register", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "Register", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlign", "(", "FI", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSTRspi", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tSTRspi", "0", "ARMCC::AL"], "File": "Thumb1InstrInfo20", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11946, "Length": 218} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "const", "DebugLoc", "&", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMSubtarget", "&", "st", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "assert", "(", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", "&&", "\"Thumb1 can only copy GPR registers\"", ")", ";", "if", "(", "st", ".", "hasV6Ops", "(", ")", "||", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "SrcReg", ")", "||", "!", "ARM", "::", "tGPRRegClass", ".", "contains", "(", "DestReg", ")", ")", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ")", ";", "else", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tPUSH", ")", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tPOP", ")", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ")", ";", "}", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegClass", "\"Thumb1 can only copy GPR registers\"", "ARM::hGPRRegClass", "ARM::tGPRRegClass", "ARM::tMOVr", "ARM::tPUSH", "ARM::tPOP"], "File": "Thumb1InstrInfo21", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11947, "Length": 191} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tLDRspi", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tLDRspi", "0"], "File": "Thumb1InstrInfo21", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11948, "Length": 201} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSTRspi", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tSTRspi", "0"], "File": "Thumb1InstrInfo21", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11949, "Length": 212} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tRestore", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM", "0", "ARM::tRestore", "0"], "File": "Thumb1InstrInfo22", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11950, "Length": 200} {"ground_truth": ["", "bool", "Thumb1InstrInfo", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "MIB", ".", "addReg", "(", "0", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1InstrInfo22", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11951, "Length": 230} {"ground_truth": ["", "bool", "Thumb1InstrInfo", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MI", ",", "DL", ",", "get", "(", "ARM", "::", "tPUSH", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "MIB", ".", "addReg", "(", "0", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "MIB", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM::tPUSH", "0", "0", "1"], "File": "Thumb1InstrInfo22", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11952, "Length": 151} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSpill", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM", "0", "ARM::tSpill", "0"], "File": "Thumb1InstrInfo22", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11953, "Length": 211} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "->", "hasSuperClassEq", "(", "&", "ARM", "::", "tGPRRegClass", ")", "||", "(", "Register", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "->", "hasSuperClassEq", "(", "&", "ARM", "::", "tGPRRegClass", ")", "||", "(", "Register", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tLDRspi", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tLDRspi", "0", "ARMCC::AL"], "File": "Thumb1InstrInfo25", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11954, "Length": 213} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "Register", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "Register", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSTRspi", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tSTRspi", "0", "ARMCC::AL"], "File": "Thumb1InstrInfo25", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11955, "Length": 218} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "Register", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "->", "hasSuperClassEq", "(", "&", "ARM", "::", "tGPRRegClass", ")", "||", "(", "Register", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "->", "hasSuperClassEq", "(", "&", "ARM", "::", "tGPRRegClass", ")", "||", "(", "Register", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tLDRspi", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tLDRspi", "0", "ARMCC::AL"], "File": "Thumb1InstrInfo26", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11956, "Length": 213} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "Register", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "Register", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "Register", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSTRspi", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tSTRspi", "0", "ARMCC::AL"], "File": "Thumb1InstrInfo26", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11957, "Length": 218} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tRestore", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM", "ARM::tRestore", "0"], "File": "Thumb1InstrInfo27", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11958, "Length": 200} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSpill", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM", "ARM::tSpill", "0"], "File": "Thumb1InstrInfo27", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11959, "Length": 211} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "DebugLoc", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMSubtarget", "&", "st", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "assert", "(", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", "&&", "\"Thumb1 can only copy GPR registers\"", ")", ";", "if", "(", "st", ".", "hasV6Ops", "(", ")", "||", "ARM", "::", "hGPRRegClass", ".", "contains", "(", "SrcReg", ")", "||", "!", "ARM", "::", "tGPRRegClass", ".", "contains", "(", "DestReg", ")", ")", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ")", ";", "else", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tPUSH", ")", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tPOP", ")", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ")", ";", "}", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::GPRRegClass", "\"Thumb1 can only copy GPR registers\"", "ARM::hGPRRegClass", "ARM::tGPRRegClass", "ARM::tMOVr", "ARM::tPUSH", "ARM::tPOP"], "File": "Thumb1InstrInfo28", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11960, "Length": 189} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tRestore", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM", "0", "ARM::tRestore", "0"], "File": "Thumb1InstrInfo2", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11961, "Length": 194} {"ground_truth": ["", "bool", "Thumb1InstrInfo", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "else", "MF", ".", "DeleteMachineInstr", "(", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1InstrInfo2", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11962, "Length": 231} {"ground_truth": ["", "bool", "Thumb1InstrInfo", "::", "spillCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "DebugLoc", "DL", ";", "if", "(", "MI", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "MI", ",", "DL", ",", "get", "(", "ARM", "::", "tPUSH", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "MBB", ".", "addLiveIn", "(", "Reg", ")", ";", "MIB", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["spillCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "spill", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "store", "instructions", "via", "storeRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM::tPUSH", "0", "1"], "File": "Thumb1InstrInfo2", "Func": "spillCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11963, "Length": 138} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSpill", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM", "0", "ARM::tSpill", "0"], "File": "Thumb1InstrInfo2", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11964, "Length": 205} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tLDRspi", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tLDRspi", "0"], "File": "Thumb1InstrInfo30", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11965, "Length": 200} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSTRspi", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tSTRspi", "0"], "File": "Thumb1InstrInfo30", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11966, "Length": 211} {"ground_truth": ["", "bool", "Thumb1InstrInfo", "::", "restoreCalleeSavedRegisters", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MI", ",", "const", "std", "::", "vector", "<", "CalleeSavedInfo", ">", "&", "CSI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "CSI", ".", "empty", "(", ")", ")", "return", "false", ";", "bool", "isVarArg", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ">", "0", ";", "DebugLoc", "DL", "=", "MI", "->", "getDebugLoc", "(", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MF", ",", "DL", ",", "get", "(", "ARM", "::", "tPOP", ")", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "bool", "NumRegs", "=", "false", ";", "for", "(", "unsigned", "i", "=", "CSI", ".", "size", "(", ")", ";", "i", "!=", "0", ";", "--", "i", ")", "{", "unsigned", "Reg", "=", "CSI", "[", "i", "-", "1", "]", ".", "getReg", "(", ")", ";", "if", "(", "Reg", "==", "ARM", "::", "LR", ")", "{", "if", "(", "isVarArg", ")", "continue", ";", "Reg", "=", "ARM", "::", "PC", ";", "(", "*", "MIB", ")", ".", "setDesc", "(", "get", "(", "ARM", "::", "tPOP_RET", ")", ")", ";", "MI", "=", "MBB", ".", "erase", "(", "MI", ")", ";", "}", "MIB", ".", "addReg", "(", "Reg", ",", "getDefRegState", "(", "true", ")", ")", ";", "NumRegs", "=", "true", ";", "}", "if", "(", "NumRegs", ")", "MBB", ".", "insert", "(", "MI", ",", "&", "*", "MIB", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["restoreCalleeSavedRegisters", "-", "Issues", "instruction", "(", "s", ")", "to", "restore", "all", "callee", "saved", "registers", "and", "returns", "true", "if", "it", "is", "n't", "possible", "/", "profitable", "to", "do", "so", "by", "issuing", "a", "series", "of", "load", "instructions", "via", "loadRegToStackSlot", "(", ")", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARM::tPOP", "0", "1", "ARM::LR", "ARM::PC", "ARM::tPOP_RET"], "File": "Thumb1InstrInfo38", "Func": "restoreCalleeSavedRegisters", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11967, "Length": 223} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tLDRspi", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM", "ARM::tLDRspi", "0"], "File": "Thumb1InstrInfo41", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11968, "Length": 200} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSTRspi", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM", "ARM::tSTRspi", "0"], "File": "Thumb1InstrInfo41", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11969, "Length": 211} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tLDRspi", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM", "ARM::tLDRspi", "0"], "File": "Thumb1InstrInfo4", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11970, "Length": 197} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSTRspi", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegisterClass", "ARM", "ARM::tSTRspi", "0"], "File": "Thumb1InstrInfo4", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11971, "Length": 208} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "DebugLoc", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ")", ";", "assert", "(", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", "&&", "\"Thumb1 can only copy GPR registers\"", ")", ";", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM::tMOVr", "ARM::GPRRegClass", "\"Thumb1 can only copy GPR registers\""], "File": "Thumb1InstrInfo", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11972, "Length": 76} {"ground_truth": ["", "const", "Thumb1RegisterInfo", "&", "getRegisterInfo", "(", ")", "const", "override", "{", "return", "RI", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM"], "File": "Thumb1InstrInfo", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11973, "Length": 13} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", "&&", "isARMLowRegister", "(", "DestReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tLDRspi", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tLDRspi", "0"], "File": "Thumb1InstrInfo", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11974, "Length": 199} {"ground_truth": ["", "void", "Thumb1InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "assert", "(", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "&&", "\"Unknown regclass!\"", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "SrcReg", ")", "&&", "isARMLowRegister", "(", "SrcReg", ")", ")", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tSTRspi", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "}", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM", "\"Unknown regclass!\"", "ARM::tGPRRegClass", "ARM", "ARM::tSTRspi", "0"], "File": "Thumb1InstrInfo", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11975, "Length": 210} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "TargetFrameInfo", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", ";", "if", "(", "!", "TFI", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", "->", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "this", ",", "-", "Amount", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "this", ",", "Amount", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "0", "0", "1", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "Thumb1RegisterInfo12", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11976, "Length": 199} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tLDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "4", "ARM::tLDRcp"], "File": "Thumb1RegisterInfo12", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11977, "Length": 147} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "resolveFrameIndex", "(", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "MachineInstr", "&", "MI", "=", "*", "I", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "false", ";", "Done", "=", "rewriteFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "\"Unable to resolve frame index!\""], "File": "Thumb1RegisterInfo12", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11978, "Length": 95} {"ground_truth": ["", "bool", "Thumb1RegisterInfo", "::", "saveScavengerRegister", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "MachineBasicBlock", "::", "iterator", "&", "UseMI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Reg", ")", "const", "{", "DebugLoc", "DL", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVtgpr2gpr", ")", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ";", "bool", "done", "=", "false", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "II", "=", "I", ";", "!", "done", "&&", "II", "!=", "UseMI", ";", "++", "II", ")", "{", "if", "(", "II", "->", "isDebugValue", "(", ")", ")", "continue", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "II", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "II", "->", "getOperand", "(", "i", ")", ";", "if", "(", "!", "MO", ".", "isReg", "(", ")", "||", "MO", ".", "isUndef", "(", ")", "||", "!", "MO", ".", "getReg", "(", ")", "||", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "MO", ".", "getReg", "(", ")", ")", ")", "continue", ";", "if", "(", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "R12", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "}", "}", "BuildMI", "(", "MBB", ",", "UseMI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVgpr2tgpr", ")", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Kill", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Spill", "the", "register", "so", "it", "can", "be", "used", "by", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM::tMOVtgpr2gpr", "ARM::R12", "0", "ARM::R12", "ARM::tMOVgpr2tgpr", "ARM::R12"], "File": "Thumb1RegisterInfo12", "Func": "saveScavengerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11979, "Length": 244} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "if", "(", "!", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameInfo", "(", ")", "->", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "this", ",", "-", "Amount", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "this", ",", "Amount", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "0", "0", "1", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "Thumb1RegisterInfo13", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11980, "Length": 182} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "emitEpilogue", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ")", "const", "{", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "prior", "(", "MBB", ".", "end", "(", ")", ")", ";", "assert", "(", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tBX_RET", "||", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", ")", "&&", "\"Can only insert epilog into returning blocks\"", ")", ";", "DebugLoc", "dl", "=", "MBBI", "->", "getDebugLoc", "(", ")", ";", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "VARegSaveSize", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ";", "int", "NumBytes", "=", "(", "int", ")", "MFI", "->", "getStackSize", "(", ")", ";", "if", "(", "!", "AFI", "->", "hasStackFrame", "(", ")", ")", "{", "if", "(", "NumBytes", "!=", "0", ")", "emitSPUpdate", "(", "MBB", ",", "MBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "NumBytes", ")", ";", "}", "else", "{", "const", "unsigned", "*", "CSRegs", "=", "getCalleeSavedRegs", "(", ")", ";", "if", "(", "MBBI", "!=", "MBB", ".", "begin", "(", ")", ")", "{", "do", "--", "MBBI", ";", "while", "(", "MBBI", "!=", "MBB", ".", "begin", "(", ")", "&&", "isCSRestore", "(", "MBBI", ",", "CSRegs", ")", ")", ";", "if", "(", "!", "isCSRestore", "(", "MBBI", ",", "CSRegs", ")", ")", "++", "MBBI", ";", "}", "NumBytes", "-=", "(", "AFI", "->", "getGPRCalleeSavedArea1Size", "(", ")", "+", "AFI", "->", "getGPRCalleeSavedArea2Size", "(", ")", "+", "AFI", "->", "getDPRCalleeSavedAreaSize", "(", ")", ")", ";", "if", "(", "hasFP", "(", "MF", ")", ")", "{", "NumBytes", "=", "AFI", "->", "getFramePtrSpillOffset", "(", ")", "-", "NumBytes", ";", "if", "(", "NumBytes", ")", "emitThumbRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "ARM", "::", "SP", ",", "FramePtr", ",", "-", "NumBytes", ",", "TII", ",", "*", "this", ",", "dl", ")", ";", "else", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVtgpr2gpr", ")", ",", "ARM", "::", "SP", ")", ".", "addReg", "(", "FramePtr", ")", ";", "}", "else", "{", "if", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tBX_RET", "&&", "&", "MBB", ".", "front", "(", ")", "!=", "MBBI", "&&", "prior", "(", "MBBI", ")", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP", ")", "{", "MachineBasicBlock", "::", "iterator", "PMBBI", "=", "prior", "(", "MBBI", ")", ";", "emitSPUpdate", "(", "MBB", ",", "PMBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "NumBytes", ")", ";", "}", "else", "emitSPUpdate", "(", "MBB", ",", "MBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "NumBytes", ")", ";", "}", "}", "if", "(", "VARegSaveSize", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ")", ".", "addReg", "(", "ARM", "::", "R3", ")", ";", "emitSPUpdate", "(", "MBB", ",", "MBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "VARegSaveSize", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tBX_RET_vararg", ")", ")", ".", "addReg", "(", "ARM", "::", "R3", ")", ";", "MBB", ".", "erase", "(", "MBBI", ")", ";", "}", "}", ""], "natrual_language": ["Insert", "epilog", "code", "into", "the", "function", "."], "TS_V_token": ["ARM", "ARM::tBX_RET", "ARM::tPOP_RET", "\"Can only insert epilog into returning blocks\"", "ARM", "ARM", "0", "ARM::SP", "ARM::tMOVtgpr2gpr", "ARM::SP", "ARM::tBX_RET", "ARM::tPOP", "ARM::tPOP", "ARM::R3", "ARM::tBX_RET_vararg", "ARM::R3"], "File": "Thumb1RegisterInfo13", "Func": "emitEpilogue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11981, "Length": 462} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tLDRcp", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "4", "ARM::tLDRcp"], "File": "Thumb1RegisterInfo13", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11982, "Length": 146} {"ground_truth": ["", "bool", "Thumb1RegisterInfo", "::", "hasReservedCallFrame", "(", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "FFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "CFSize", "=", "FFI", "->", "getMaxCallFrameSize", "(", ")", ";", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "8", ")", "-", "1", ")", "*", "4", "/", "2", ")", "return", "false", ";", "return", "!", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasReservedCallFrame", "-", "Under", "normal", "circumstances", ",", "when", "a", "frame", "pointer", "is", "not", "required", ",", "we", "reserve", "argument", "space", "for", "call", "sites", "in", "the", "function", "immediately", "on", "entry", "to", "the", "current", "function", "."], "TS_V_token": ["ARM", "1", "8", "1", "4", "2"], "File": "Thumb1RegisterInfo13", "Func": "hasReservedCallFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11983, "Length": 65} {"ground_truth": ["", "bool", "Thumb1RegisterInfo", "::", "requiresRegisterScavenging", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "ThumbRegScavenging", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "requires", "(", "and", "can", "make", "use", "of", ")", "the", "register", "scavenger", "."], "TS_V_token": ["ARM"], "File": "Thumb1RegisterInfo13", "Func": "requiresRegisterScavenging", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11984, "Length": 16} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tLDRpci", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "4", "ARM::tLDRpci"], "File": "Thumb1RegisterInfo14", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11985, "Length": 171} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "resolveFrameIndex", "(", "MachineInstr", "&", "MI", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getTarget", "(", ")", ".", "getSubtargetImpl", "(", ")", "->", "getInstrInfo", "(", ")", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "rewriteFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "\"Unable to resolve frame index!\""], "File": "Thumb1RegisterInfo14", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11986, "Length": 124} {"ground_truth": ["", "bool", "Thumb1RegisterInfo", "::", "saveScavengerRegister", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "MachineBasicBlock", "::", "iterator", "&", "UseMI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Reg", ")", "const", "{", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MBB", ".", "getParent", "(", ")", "->", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "DebugLoc", "DL", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ")", ";", "bool", "done", "=", "false", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "II", "=", "I", ";", "!", "done", "&&", "II", "!=", "UseMI", ";", "++", "II", ")", "{", "if", "(", "II", "->", "isDebugValue", "(", ")", ")", "continue", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "II", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "II", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isRegMask", "(", ")", "&&", "MO", ".", "clobbersPhysReg", "(", "ARM", "::", "R12", ")", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "if", "(", "!", "MO", ".", "isReg", "(", ")", "||", "MO", ".", "isUndef", "(", ")", "||", "!", "MO", ".", "getReg", "(", ")", "||", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "MO", ".", "getReg", "(", ")", ")", ")", "continue", ";", "if", "(", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "R12", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "}", "}", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "UseMI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Kill", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Spill", "the", "register", "so", "it", "can", "be", "used", "by", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM::tMOVr", "ARM::R12", "0", "ARM::R12", "ARM::R12", "ARM::tMOVr", "ARM::R12"], "File": "Thumb1RegisterInfo14", "Func": "saveScavengerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11987, "Length": 299} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "eliminateCallFramePseudoInstr", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ")", "const", "{", "const", "TargetFrameLowering", "*", "TFI", "=", "MF", ".", "getTarget", "(", ")", ".", "getFrameLowering", "(", ")", ";", "if", "(", "!", "TFI", "->", "hasReservedCallFrame", "(", "MF", ")", ")", "{", "MachineInstr", "*", "Old", "=", "I", ";", "DebugLoc", "dl", "=", "Old", "->", "getDebugLoc", "(", ")", ";", "unsigned", "Amount", "=", "Old", "->", "getOperand", "(", "0", ")", ".", "getImm", "(", ")", ";", "if", "(", "Amount", "!=", "0", ")", "{", "unsigned", "Align", "=", "TFI", "->", "getStackAlignment", "(", ")", ";", "Amount", "=", "(", "Amount", "+", "Align", "-", "1", ")", "/", "Align", "*", "Align", ";", "unsigned", "Opc", "=", "Old", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKDOWN", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKDOWN", ")", "{", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "this", ",", "-", "Amount", ")", ";", "}", "else", "{", "assert", "(", "Opc", "==", "ARM", "::", "ADJCALLSTACKUP", "||", "Opc", "==", "ARM", "::", "tADJCALLSTACKUP", ")", ";", "emitSPUpdate", "(", "MBB", ",", "I", ",", "TII", ",", "dl", ",", "*", "this", ",", "Amount", ")", ";", "}", "}", "}", "MBB", ".", "erase", "(", "I", ")", ";", "}", ""], "natrual_language": ["This", "method", "is", "called", "during", "prolog/epilog", "code", "insertion", "to", "eliminate", "call", "frame", "setup", "and", "destroy", "pseudo", "instructions", "(", "but", "only", "if", "the", "Target", "is", "using", "them", ")", "."], "TS_V_token": ["ARM", "0", "0", "1", "ARM::ADJCALLSTACKDOWN", "ARM::tADJCALLSTACKDOWN", "ARM::ADJCALLSTACKUP", "ARM::tADJCALLSTACKUP"], "File": "Thumb1RegisterInfo15", "Func": "eliminateCallFramePseudoInstr", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11988, "Length": 191} {"ground_truth": ["", "static", "void", "emitSPUpdate", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "TargetInstrInfo", "&", "TII", ",", "DebugLoc", "dl", ",", "const", "Thumb1RegisterInfo", "&", "MRI", ",", "int", "NumBytes", ")", "{", "emitThumbRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "dl", ",", "ARM", "::", "SP", ",", "ARM", "::", "SP", ",", "NumBytes", ",", "TII", ",", "MRI", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "series", "of", "instructions", "to", "increment", "/", "decrement", "the", "stack", "pointer", "by", "a", "constant", "value", "."], "TS_V_token": ["ARM", "ARM::SP", "ARM::SP"], "File": "Thumb1RegisterInfo15", "Func": "emitSPUpdate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11989, "Length": 55} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "emitEpilogue", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ")", "const", "{", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "prior", "(", "MBB", ".", "end", "(", ")", ")", ";", "assert", "(", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tBX_RET", "||", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", ")", "&&", "\"Can only insert epilog into returning blocks\"", ")", ";", "DebugLoc", "dl", "=", "MBBI", "->", "getDebugLoc", "(", ")", ";", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "VARegSaveSize", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ";", "int", "NumBytes", "=", "(", "int", ")", "MFI", "->", "getStackSize", "(", ")", ";", "const", "unsigned", "*", "CSRegs", "=", "getCalleeSavedRegs", "(", ")", ";", "if", "(", "!", "AFI", "->", "hasStackFrame", "(", ")", ")", "{", "if", "(", "NumBytes", "!=", "0", ")", "emitSPUpdate", "(", "MBB", ",", "MBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "NumBytes", ")", ";", "}", "else", "{", "if", "(", "MBBI", "!=", "MBB", ".", "begin", "(", ")", ")", "{", "do", "--", "MBBI", ";", "while", "(", "MBBI", "!=", "MBB", ".", "begin", "(", ")", "&&", "isCSRestore", "(", "MBBI", ",", "CSRegs", ")", ")", ";", "if", "(", "!", "isCSRestore", "(", "MBBI", ",", "CSRegs", ")", ")", "++", "MBBI", ";", "}", "NumBytes", "-=", "(", "AFI", "->", "getGPRCalleeSavedArea1Size", "(", ")", "+", "AFI", "->", "getGPRCalleeSavedArea2Size", "(", ")", "+", "AFI", "->", "getDPRCalleeSavedAreaSize", "(", ")", ")", ";", "if", "(", "hasFP", "(", "MF", ")", ")", "{", "NumBytes", "=", "AFI", "->", "getFramePtrSpillOffset", "(", ")", "-", "NumBytes", ";", "if", "(", "NumBytes", ")", "emitThumbRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "ARM", "::", "SP", ",", "FramePtr", ",", "-", "NumBytes", ",", "TII", ",", "*", "this", ",", "dl", ")", ";", "else", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVtgpr2gpr", ")", ",", "ARM", "::", "SP", ")", ".", "addReg", "(", "FramePtr", ")", ";", "}", "else", "{", "if", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tBX_RET", "&&", "&", "MBB", ".", "front", "(", ")", "!=", "MBBI", "&&", "prior", "(", "MBBI", ")", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP", ")", "{", "MachineBasicBlock", "::", "iterator", "PMBBI", "=", "prior", "(", "MBBI", ")", ";", "emitSPUpdate", "(", "MBB", ",", "PMBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "NumBytes", ")", ";", "}", "else", "emitSPUpdate", "(", "MBB", ",", "MBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "NumBytes", ")", ";", "}", "}", "if", "(", "VARegSaveSize", ")", "{", "while", "(", "MBBI", "!=", "MBB", ".", "end", "(", ")", "&&", "isCSRestore", "(", "MBBI", ",", "CSRegs", ")", ")", "++", "MBBI", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ")", ".", "addReg", "(", "0", ")", ".", "addReg", "(", "ARM", "::", "R3", ",", "RegState", "::", "Define", ")", ";", "emitSPUpdate", "(", "MBB", ",", "MBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "VARegSaveSize", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tBX_RET_vararg", ")", ")", ".", "addReg", "(", "ARM", "::", "R3", ",", "RegState", "::", "Kill", ")", ";", "MBB", ".", "erase", "(", "MBBI", ")", ";", "}", "}", ""], "natrual_language": ["Insert", "epilog", "code", "into", "the", "function", "."], "TS_V_token": ["ARM", "ARM::tBX_RET", "ARM::tPOP_RET", "\"Can only insert epilog into returning blocks\"", "ARM", "ARM", "0", "ARM::SP", "ARM::tMOVtgpr2gpr", "ARM::SP", "ARM::tBX_RET", "ARM::tPOP", "ARM::tPOP", "0", "ARM::R3", "ARM::tBX_RET_vararg", "ARM::R3"], "File": "Thumb1RegisterInfo16", "Func": "emitEpilogue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11990, "Length": 495} {"ground_truth": ["", "bool", "Thumb1RegisterInfo", "::", "saveScavengerRegister", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "MachineBasicBlock", "::", "iterator", "&", "UseMI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Reg", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVtgpr2gpr", ")", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ";", "bool", "done", "=", "false", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "II", "=", "I", ";", "!", "done", "&&", "II", "!=", "UseMI", ";", "++", "II", ")", "{", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "II", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "II", "->", "getOperand", "(", "i", ")", ";", "if", "(", "!", "MO", ".", "isReg", "(", ")", "||", "MO", ".", "isUndef", "(", ")", "||", "!", "MO", ".", "getReg", "(", ")", "||", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "MO", ".", "getReg", "(", ")", ")", ")", "continue", ";", "if", "(", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "R12", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "}", "}", "BuildMI", "(", "MBB", ",", "UseMI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVgpr2tgpr", ")", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Kill", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Spill", "the", "register", "so", "it", "can", "be", "used", "by", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM::tMOVtgpr2gpr", "ARM::R12", "0", "ARM::R12", "ARM::tMOVgpr2tgpr", "ARM::R12"], "File": "Thumb1RegisterInfo16", "Func": "saveScavengerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11991, "Length": 240} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "Thumb1RegisterInfo", "::", "getLargestLegalSuperClass", "(", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "if", "(", "ARM", "::", "tGPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "return", "ARM", "::", "tGPRRegisterClass", ";", "return", "ARMBaseRegisterInfo", "::", "getLargestLegalSuperClass", "(", "RC", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "largest", "super", "class", "of", "RC", "that", "is", "legal", "to", "use", "in", "the", "current", "sub-target", "and", "has", "the", "same", "spill", "size", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM::tGPRRegisterClass", "ARM"], "File": "Thumb1RegisterInfo17", "Func": "getLargestLegalSuperClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11992, "Length": 39} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "Thumb1RegisterInfo", "::", "getPointerRegClass", "(", "unsigned", "Kind", ")", "const", "{", "return", "ARM", "::", "tGPRRegisterClass", ";", "}", ""], "natrual_language": ["getPointerRegClass", "-", "Returns", "a", "TargetRegisterClass", "used", "for", "pointer", "values", "."], "TS_V_token": ["ARM", "ARM::tGPRRegisterClass"], "File": "Thumb1RegisterInfo17", "Func": "getPointerRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11993, "Length": 18} {"ground_truth": ["", "bool", "Thumb1RegisterInfo", "::", "saveScavengerRegister", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "MachineBasicBlock", "::", "iterator", "&", "UseMI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Reg", ")", "const", "{", "DebugLoc", "DL", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ")", ";", "bool", "done", "=", "false", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "II", "=", "I", ";", "!", "done", "&&", "II", "!=", "UseMI", ";", "++", "II", ")", "{", "if", "(", "II", "->", "isDebugValue", "(", ")", ")", "continue", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "II", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "II", "->", "getOperand", "(", "i", ")", ";", "if", "(", "!", "MO", ".", "isReg", "(", ")", "||", "MO", ".", "isUndef", "(", ")", "||", "!", "MO", ".", "getReg", "(", ")", "||", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "MO", ".", "getReg", "(", ")", ")", ")", "continue", ";", "if", "(", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "R12", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "}", "}", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "UseMI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Kill", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Spill", "the", "register", "so", "it", "can", "be", "used", "by", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM::tMOVr", "ARM::R12", "0", "ARM::R12", "ARM::tMOVr", "ARM::R12"], "File": "Thumb1RegisterInfo17", "Func": "saveScavengerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11994, "Length": 250} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tLDRpci", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "4", "ARM::tLDRpci"], "File": "Thumb1RegisterInfo1", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11995, "Length": 171} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "resolveFrameIndex", "(", "MachineInstr", "&", "MI", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "rewriteFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "\"Unable to resolve frame index!\""], "File": "Thumb1RegisterInfo1", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11996, "Length": 120} {"ground_truth": ["", "bool", "Thumb1RegisterInfo", "::", "saveScavengerRegister", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "MachineBasicBlock", "::", "iterator", "&", "UseMI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Reg", ")", "const", "{", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MBB", ".", "getParent", "(", ")", "->", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "DebugLoc", "DL", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ")", ";", "bool", "done", "=", "false", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "II", "=", "I", ";", "!", "done", "&&", "II", "!=", "UseMI", ";", "++", "II", ")", "{", "if", "(", "II", "->", "isDebugValue", "(", ")", ")", "continue", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "II", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "II", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isRegMask", "(", ")", "&&", "MO", ".", "clobbersPhysReg", "(", "ARM", "::", "R12", ")", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "if", "(", "!", "MO", ".", "isReg", "(", ")", "||", "MO", ".", "isUndef", "(", ")", "||", "!", "MO", ".", "getReg", "(", ")", "||", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "MO", ".", "getReg", "(", ")", ")", ")", "continue", ";", "if", "(", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "R12", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "}", "}", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "UseMI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Kill", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Spill", "the", "register", "so", "it", "can", "be", "used", "by", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM::tMOVr", "ARM::R12", "0", "ARM::R12", "ARM::R12", "ARM::tMOVr", "ARM::R12"], "File": "Thumb1RegisterInfo1", "Func": "saveScavengerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11997, "Length": 299} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "resolveFrameIndex", "(", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "MachineInstr", "&", "MI", "=", "*", "I", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "static_cast", "<", "const", "ARMBaseInstrInfo", "*", ">", "(", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", "->", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "rewriteFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "\"Unable to resolve frame index!\""], "File": "Thumb1RegisterInfo23", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11998, "Length": 128} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "emitEpilogue", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ")", "const", "{", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "prior", "(", "MBB", ".", "end", "(", ")", ")", ";", "assert", "(", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tBX_RET", "||", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", ")", "&&", "\"Can only insert epilog into returning blocks\"", ")", ";", "DebugLoc", "dl", "=", "MBBI", "->", "getDebugLoc", "(", ")", ";", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "VARegSaveSize", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ";", "int", "NumBytes", "=", "(", "int", ")", "MFI", "->", "getStackSize", "(", ")", ";", "const", "unsigned", "*", "CSRegs", "=", "getCalleeSavedRegs", "(", ")", ";", "if", "(", "!", "AFI", "->", "hasStackFrame", "(", ")", ")", "{", "if", "(", "NumBytes", "!=", "0", ")", "emitSPUpdate", "(", "MBB", ",", "MBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "NumBytes", ")", ";", "}", "else", "{", "if", "(", "MBBI", "!=", "MBB", ".", "begin", "(", ")", ")", "{", "do", "--", "MBBI", ";", "while", "(", "MBBI", "!=", "MBB", ".", "begin", "(", ")", "&&", "isCSRestore", "(", "MBBI", ",", "CSRegs", ")", ")", ";", "if", "(", "!", "isCSRestore", "(", "MBBI", ",", "CSRegs", ")", ")", "++", "MBBI", ";", "}", "NumBytes", "-=", "(", "AFI", "->", "getGPRCalleeSavedArea1Size", "(", ")", "+", "AFI", "->", "getGPRCalleeSavedArea2Size", "(", ")", "+", "AFI", "->", "getDPRCalleeSavedAreaSize", "(", ")", ")", ";", "if", "(", "hasFP", "(", "MF", ")", ")", "{", "NumBytes", "=", "AFI", "->", "getFramePtrSpillOffset", "(", ")", "-", "NumBytes", ";", "if", "(", "NumBytes", ")", "emitThumbRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "ARM", "::", "SP", ",", "FramePtr", ",", "-", "NumBytes", ",", "TII", ",", "*", "this", ",", "dl", ")", ";", "else", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVtgpr2gpr", ")", ",", "ARM", "::", "SP", ")", ".", "addReg", "(", "FramePtr", ")", ";", "}", "else", "{", "if", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tBX_RET", "&&", "&", "MBB", ".", "front", "(", ")", "!=", "MBBI", "&&", "prior", "(", "MBBI", ")", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP", ")", "{", "MachineBasicBlock", "::", "iterator", "PMBBI", "=", "prior", "(", "MBBI", ")", ";", "emitSPUpdate", "(", "MBB", ",", "PMBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "NumBytes", ")", ";", "}", "else", "emitSPUpdate", "(", "MBB", ",", "MBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "NumBytes", ")", ";", "}", "}", "if", "(", "VARegSaveSize", ")", "{", "while", "(", "MBBI", "!=", "MBB", ".", "end", "(", ")", "&&", "isCSRestore", "(", "MBBI", ",", "CSRegs", ")", ")", "++", "MBBI", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ")", ".", "addReg", "(", "ARM", "::", "R3", ",", "RegState", "::", "Define", ")", ";", "emitSPUpdate", "(", "MBB", ",", "MBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "VARegSaveSize", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tBX_RET_vararg", ")", ")", ".", "addReg", "(", "ARM", "::", "R3", ",", "RegState", "::", "Kill", ")", ";", "MBB", ".", "erase", "(", "MBBI", ")", ";", "}", "}", ""], "natrual_language": ["Insert", "epilog", "code", "into", "the", "function", "."], "TS_V_token": ["ARM", "ARM::tBX_RET", "ARM::tPOP_RET", "\"Can only insert epilog into returning blocks\"", "ARM", "ARM", "0", "ARM::SP", "ARM::tMOVtgpr2gpr", "ARM::SP", "ARM::tBX_RET", "ARM::tPOP", "ARM::tPOP", "ARM::R3", "ARM::tBX_RET_vararg", "ARM::R3"], "File": "Thumb1RegisterInfo24", "Func": "emitEpilogue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 11999, "Length": 490} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "assert", "(", "(", "isARMLowRegister", "(", "DestReg", ")", "||", "isVirtualRegister", "(", "DestReg", ")", ")", "&&", "\"Thumb1 does not have ldr to high register\"", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tLDRpci", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "ARM", "\"Thumb1 does not have ldr to high register\"", "4", "ARM::tLDRpci"], "File": "Thumb1RegisterInfo25", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12000, "Length": 188} {"ground_truth": ["", "bool", "Thumb1RegisterInfo", "::", "saveScavengerRegister", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "MachineBasicBlock", "::", "iterator", "&", "UseMI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Reg", ")", "const", "{", "DebugLoc", "DL", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVtgpr2gpr", ")", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ";", "bool", "done", "=", "false", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "II", "=", "I", ";", "!", "done", "&&", "II", "!=", "UseMI", ";", "++", "II", ")", "{", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "II", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "II", "->", "getOperand", "(", "i", ")", ";", "if", "(", "!", "MO", ".", "isReg", "(", ")", "||", "MO", ".", "isUndef", "(", ")", "||", "!", "MO", ".", "getReg", "(", ")", "||", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "MO", ".", "getReg", "(", ")", ")", ")", "continue", ";", "if", "(", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "R12", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "}", "}", "BuildMI", "(", "MBB", ",", "UseMI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVgpr2tgpr", ")", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Kill", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Spill", "the", "register", "so", "it", "can", "be", "used", "by", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM::tMOVtgpr2gpr", "ARM::R12", "0", "ARM::R12", "ARM::tMOVgpr2tgpr", "ARM::R12"], "File": "Thumb1RegisterInfo3", "Func": "saveScavengerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12001, "Length": 234} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "emitEpilogue", "(", "MachineFunction", "&", "MF", ",", "MachineBasicBlock", "&", "MBB", ")", "const", "{", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "prior", "(", "MBB", ".", "end", "(", ")", ")", ";", "assert", "(", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tBX_RET", "||", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP_RET", ")", "&&", "\"Can only insert epilog into returning blocks\"", ")", ";", "DebugLoc", "dl", "=", "MBBI", "->", "getDebugLoc", "(", ")", ";", "MachineFrameInfo", "*", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MF", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "unsigned", "VARegSaveSize", "=", "AFI", "->", "getVarArgsRegSaveSize", "(", ")", ";", "int", "NumBytes", "=", "(", "int", ")", "MFI", "->", "getStackSize", "(", ")", ";", "const", "unsigned", "*", "CSRegs", "=", "getCalleeSavedRegs", "(", ")", ";", "if", "(", "!", "AFI", "->", "hasStackFrame", "(", ")", ")", "{", "if", "(", "NumBytes", "!=", "0", ")", "emitSPUpdate", "(", "MBB", ",", "MBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "NumBytes", ")", ";", "}", "else", "{", "if", "(", "MBBI", "!=", "MBB", ".", "begin", "(", ")", ")", "{", "do", "--", "MBBI", ";", "while", "(", "MBBI", "!=", "MBB", ".", "begin", "(", ")", "&&", "isCSRestore", "(", "MBBI", ",", "CSRegs", ")", ")", ";", "if", "(", "!", "isCSRestore", "(", "MBBI", ",", "CSRegs", ")", ")", "++", "MBBI", ";", "}", "NumBytes", "-=", "(", "AFI", "->", "getGPRCalleeSavedArea1Size", "(", ")", "+", "AFI", "->", "getGPRCalleeSavedArea2Size", "(", ")", "+", "AFI", "->", "getDPRCalleeSavedAreaSize", "(", ")", ")", ";", "if", "(", "AFI", "->", "shouldRestoreSPFromFP", "(", ")", ")", "{", "NumBytes", "=", "AFI", "->", "getFramePtrSpillOffset", "(", ")", "-", "NumBytes", ";", "if", "(", "NumBytes", ")", "emitThumbRegPlusImmediate", "(", "MBB", ",", "MBBI", ",", "ARM", "::", "SP", ",", "FramePtr", ",", "-", "NumBytes", ",", "TII", ",", "*", "this", ",", "dl", ")", ";", "else", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVtgpr2gpr", ")", ",", "ARM", "::", "SP", ")", ".", "addReg", "(", "FramePtr", ")", ";", "}", "else", "{", "if", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tBX_RET", "&&", "&", "MBB", ".", "front", "(", ")", "!=", "MBBI", "&&", "prior", "(", "MBBI", ")", "->", "getOpcode", "(", ")", "==", "ARM", "::", "tPOP", ")", "{", "MachineBasicBlock", "::", "iterator", "PMBBI", "=", "prior", "(", "MBBI", ")", ";", "emitSPUpdate", "(", "MBB", ",", "PMBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "NumBytes", ")", ";", "}", "else", "emitSPUpdate", "(", "MBB", ",", "MBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "NumBytes", ")", ";", "}", "}", "if", "(", "VARegSaveSize", ")", "{", "while", "(", "MBBI", "!=", "MBB", ".", "end", "(", ")", "&&", "isCSRestore", "(", "MBBI", ",", "CSRegs", ")", ")", "++", "MBBI", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tPOP", ")", ")", ")", ".", "addReg", "(", "ARM", "::", "R3", ",", "RegState", "::", "Define", ")", ";", "emitSPUpdate", "(", "MBB", ",", "MBBI", ",", "TII", ",", "dl", ",", "*", "this", ",", "VARegSaveSize", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tBX_RET_vararg", ")", ")", ".", "addReg", "(", "ARM", "::", "R3", ",", "RegState", "::", "Kill", ")", ";", "MBB", ".", "erase", "(", "MBBI", ")", ";", "}", "}", ""], "natrual_language": ["Insert", "epilog", "code", "into", "the", "function", "."], "TS_V_token": ["ARM", "ARM::tBX_RET", "ARM::tPOP_RET", "\"Can only insert epilog into returning blocks\"", "ARM", "ARM", "0", "ARM::SP", "ARM::tMOVtgpr2gpr", "ARM::SP", "ARM::tBX_RET", "ARM::tPOP", "ARM::tPOP", "ARM::R3", "ARM::tBX_RET_vararg", "ARM::R3"], "File": "Thumb1RegisterInfo7", "Func": "emitEpilogue", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12002, "Length": 491} {"ground_truth": ["", "bool", "Thumb1RegisterInfo", "::", "hasReservedCallFrame", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "const", "MachineFrameInfo", "*", "FFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "unsigned", "CFSize", "=", "FFI", "->", "getMaxCallFrameSize", "(", ")", ";", "if", "(", "CFSize", ">=", "(", "(", "1", "<<", "8", ")", "-", "1", ")", "*", "4", "/", "2", ")", "return", "false", ";", "return", "!", "MF", ".", "getFrameInfo", "(", ")", "->", "hasVarSizedObjects", "(", ")", ";", "}", ""], "natrual_language": ["hasReservedCallFrame", "-", "Under", "normal", "circumstances", ",", "when", "a", "frame", "pointer", "is", "not", "required", ",", "we", "reserve", "argument", "space", "for", "call", "sites", "in", "the", "function", "immediately", "on", "entry", "to", "the", "current", "function", "."], "TS_V_token": ["ARM", "1", "8", "1", "4", "2"], "File": "Thumb1RegisterInfo7", "Func": "hasReservedCallFrame", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12003, "Length": 66} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "assert", "(", "(", "isARMLowRegister", "(", "DestReg", ")", "||", "isVirtualRegister", "(", "DestReg", ")", ")", "&&", "\"Thumb1 does not have ldr to high register\"", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tLDRpci", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "ARM", "\"Thumb1 does not have ldr to high register\"", "4", "ARM::tLDRpci"], "File": "Thumb1RegisterInfo8", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12004, "Length": 184} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "resolveFrameIndex", "(", "MachineInstr", "&", "MI", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "rewriteFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "\"Unable to resolve frame index!\""], "File": "Thumb1RegisterInfo8", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12005, "Length": 100} {"ground_truth": ["", "bool", "Thumb1RegisterInfo", "::", "saveScavengerRegister", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "MachineBasicBlock", "::", "iterator", "&", "UseMI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Reg", ")", "const", "{", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "DebugLoc", "DL", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ")", ";", "bool", "done", "=", "false", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "II", "=", "I", ";", "!", "done", "&&", "II", "!=", "UseMI", ";", "++", "II", ")", "{", "if", "(", "II", "->", "isDebugValue", "(", ")", ")", "continue", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "II", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "II", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isRegMask", "(", ")", "&&", "MO", ".", "clobbersPhysReg", "(", "ARM", "::", "R12", ")", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "if", "(", "!", "MO", ".", "isReg", "(", ")", "||", "MO", ".", "isUndef", "(", ")", "||", "!", "MO", ".", "getReg", "(", ")", "||", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "MO", ".", "getReg", "(", ")", ")", ")", "continue", ";", "if", "(", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "R12", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "}", "}", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "UseMI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Kill", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Spill", "the", "register", "so", "it", "can", "be", "used", "by", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM::tMOVr", "ARM::R12", "0", "ARM::R12", "ARM::R12", "ARM::tMOVr", "ARM::R12"], "File": "Thumb1RegisterInfo8", "Func": "saveScavengerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12006, "Length": 291} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "tLDRpci", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "Pred", ")", ".", "addReg", "(", "PredReg", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "4", "ARM::tLDRpci"], "File": "Thumb1RegisterInfo", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12007, "Length": 155} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "Thumb1RegisterInfo", "::", "getLargestLegalSuperClass", "(", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "if", "(", "ARM", "::", "tGPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "return", "&", "ARM", "::", "tGPRRegClass", ";", "return", "ARMBaseRegisterInfo", "::", "getLargestLegalSuperClass", "(", "RC", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "largest", "super", "class", "of", "RC", "that", "is", "legal", "to", "use", "in", "the", "current", "sub-target", "and", "has", "the", "same", "spill", "size", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass", "ARM::tGPRRegClass", "ARM"], "File": "Thumb1RegisterInfo", "Func": "getLargestLegalSuperClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12008, "Length": 40} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "Thumb1RegisterInfo", "::", "getPointerRegClass", "(", "const", "MachineFunction", "&", "MF", ",", "unsigned", "Kind", ")", "const", "{", "return", "&", "ARM", "::", "tGPRRegClass", ";", "}", ""], "natrual_language": ["getPointerRegClass", "-", "Returns", "a", "TargetRegisterClass", "used", "for", "pointer", "values", "."], "TS_V_token": ["ARM", "ARM::tGPRRegClass"], "File": "Thumb1RegisterInfo", "Func": "getPointerRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12009, "Length": 24} {"ground_truth": ["", "void", "Thumb1RegisterInfo", "::", "resolveFrameIndex", "(", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "MachineInstr", "&", "MI", "=", "*", "I", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "rewriteFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "\"Unable to resolve frame index!\""], "File": "Thumb1RegisterInfo", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12010, "Length": 96} {"ground_truth": ["", "bool", "Thumb1RegisterInfo", "::", "saveScavengerRegister", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "MachineBasicBlock", "::", "iterator", "&", "UseMI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Reg", ")", "const", "{", "DebugLoc", "DL", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ")", ";", "bool", "done", "=", "false", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "II", "=", "I", ";", "!", "done", "&&", "II", "!=", "UseMI", ";", "++", "II", ")", "{", "if", "(", "II", "->", "isDebugValue", "(", ")", ")", "continue", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "II", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "II", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isRegMask", "(", ")", "&&", "MO", ".", "clobbersPhysReg", "(", "ARM", "::", "R12", ")", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "if", "(", "!", "MO", ".", "isReg", "(", ")", "||", "MO", ".", "isUndef", "(", ")", "||", "!", "MO", ".", "getReg", "(", ")", "||", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "MO", ".", "getReg", "(", ")", ")", ")", "continue", ";", "if", "(", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "R12", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "}", "}", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "UseMI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Kill", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Spill", "the", "register", "so", "it", "can", "be", "used", "by", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM::tMOVr", "ARM::R12", "0", "ARM::R12", "ARM::R12", "ARM::tMOVr", "ARM::R12"], "File": "Thumb1RegisterInfo", "Func": "saveScavengerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12011, "Length": 279} {"ground_truth": ["", "void", "Thumb2HazardRecognizer", "::", "EmitInstruction", "(", "SUnit", "*", "SU", ")", "{", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "unsigned", "Opcode", "=", "MI", "->", "getOpcode", "(", ")", ";", "if", "(", "ITBlockSize", ")", "{", "--", "ITBlockSize", ";", "}", "else", "if", "(", "Opcode", "==", "ARM", "::", "t2IT", ")", "{", "unsigned", "Mask", "=", "MI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "unsigned", "NumTZ", "=", "CountTrailingZeros_32", "(", "Mask", ")", ";", "assert", "(", "NumTZ", "<=", "3", "&&", "\"Invalid IT mask!\"", ")", ";", "ITBlockSize", "=", "4", "-", "NumTZ", ";", "MachineBasicBlock", "::", "iterator", "I", "=", "MI", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "ITBlockSize", ";", "++", "i", ")", "{", "do", "{", "++", "I", ";", "}", "while", "(", "I", "->", "isDebugValue", "(", ")", ")", ";", "ITBlockMIs", "[", "ITBlockSize", "-", "1", "-", "i", "]", "=", "&", "*", "I", ";", "}", "}", "PostRAHazardRecognizer", "::", "EmitInstruction", "(", "SU", ")", ";", "}", ""], "natrual_language": ["EmitInstruction", "-", "This", "callback", "is", "invoked", "when", "an", "instruction", "is", "emitted", ",", "to", "advance", "the", "hazard", "state", "."], "TS_V_token": ["ARM", "ARM::t2IT", "1", "3", "\"Invalid IT mask!\"", "4", "0", "1"], "File": "Thumb2HazardRecognizer", "Func": "EmitInstruction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12012, "Length": 145} {"ground_truth": ["", "ScheduleHazardRecognizer", "::", "HazardType", "Thumb2HazardRecognizer", "::", "getHazardType", "(", "SUnit", "*", "SU", ")", "{", "if", "(", "ITBlockSize", ")", "{", "MachineInstr", "*", "MI", "=", "SU", "->", "getInstr", "(", ")", ";", "if", "(", "!", "MI", "->", "isDebugValue", "(", ")", "&&", "MI", "!=", "ITBlockMIs", "[", "ITBlockSize", "-", "1", "]", ")", "return", "Hazard", ";", "}", "return", "PostRAHazardRecognizer", "::", "getHazardType", "(", "SU", ")", ";", "}", ""], "natrual_language": ["getHazardType", "-", "Return", "the", "hazard", "type", "of", "emitting", "this", "node", "."], "TS_V_token": ["ARM", "1"], "File": "Thumb2HazardRecognizer", "Func": "getHazardType", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12013, "Length": 58} {"ground_truth": ["", "void", "Thumb2HazardRecognizer", "::", "Reset", "(", ")", "{", "ITBlockSize", "=", "0", ";", "PostRAHazardRecognizer", "::", "Reset", "(", ")", ";", "}", ""], "natrual_language": ["Reset", "the", "unwind", "opcode", "assembler", "."], "TS_V_token": ["ARM", "0"], "File": "Thumb2HazardRecognizer", "Func": "Reset", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12014, "Length": 18} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "const", "DebugLoc", "&", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "if", "(", "!", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", ")", "return", "ARMBaseInstrInfo", "::", "copyPhysReg", "(", "MBB", ",", "I", ",", "DL", ",", "DestReg", ",", "SrcReg", ",", "KillSrc", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM", "ARM::tMOVr", "ARMCC::AL"], "File": "Thumb2InstrInfo (2)1", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12015, "Length": 101} {"ground_truth": ["", "bool", "Thumb2InstrInfo", "::", "isLegalToSplitMBBAt", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MBBI", ")", "const", "{", "while", "(", "MBBI", "->", "isDebugInstr", "(", ")", ")", "{", "++", "MBBI", ";", "if", "(", "MBBI", "==", "MBB", ".", "end", "(", ")", ")", "return", "false", ";", "}", "unsigned", "PredReg", "=", "0", ";", "return", "getITInstrPredicate", "(", "*", "MBBI", ",", "PredReg", ")", "==", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "legal", "to", "split", "the", "given", "basic", "block", "at", "the", "specified", "instruction", "(", "i.e", "."], "TS_V_token": ["ARM", "0", "ARMCC::AL"], "File": "Thumb2InstrInfo (2)1", "Func": "isLegalToSplitMBBAt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12016, "Length": 61} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "DestReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "DestReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_rGPRRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_0", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_1", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", ")", "MIB", ".", "addReg", "(", "DestReg", ",", "RegState", "::", "ImplicitDefine", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::t2LDRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_rGPRRegClass", "ARM::t2LDRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo (2)1", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12017, "Length": 335} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "ReplaceTailWithBranchTo", "(", "MachineBasicBlock", "::", "iterator", "Tail", ",", "MachineBasicBlock", "*", "NewDest", ")", "const", "{", "MachineBasicBlock", "*", "MBB", "=", "Tail", "->", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "AFI", "->", "hasITBlocks", "(", ")", "||", "Tail", "->", "isBranch", "(", ")", ")", "{", "TargetInstrInfo", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "return", ";", "}", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "*", "Tail", ",", "PredReg", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "Tail", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "--", "MBBI", ";", "TargetInstrInfo", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "{", "MachineBasicBlock", "::", "iterator", "E", "=", "MBB", "->", "begin", "(", ")", ";", "unsigned", "Count", "=", "4", ";", "while", "(", "Count", "&&", "MBBI", "!=", "E", ")", "{", "if", "(", "MBBI", "->", "isDebugInstr", "(", ")", ")", "{", "--", "MBBI", ";", "continue", ";", "}", "if", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "{", "unsigned", "Mask", "=", "MBBI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "if", "(", "Count", "==", "4", ")", "MBBI", "->", "eraseFromParent", "(", ")", ";", "else", "{", "unsigned", "MaskOn", "=", "1", "<<", "Count", ";", "unsigned", "MaskOff", "=", "~", "(", "MaskOn", "-", "1", ")", ";", "MBBI", "->", "getOperand", "(", "1", ")", ".", "setImm", "(", "(", "Mask", "&", "MaskOff", ")", "|", "MaskOn", ")", ";", "}", "return", ";", "}", "--", "MBBI", ";", "--", "Count", ";", "}", "}", "}", ""], "natrual_language": ["Delete", "the", "instruction", "OldInst", "and", "everything", "after", "it", ",", "replacing", "it", "with", "an", "unconditional", "branch", "to", "NewDest", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARMCC::CondCodes", "ARMCC::AL", "ARMCC::AL", "4", "ARM::t2IT", "1", "4", "1", "1", "1"], "File": "Thumb2InstrInfo (2)1", "Func": "ReplaceTailWithBranchTo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12018, "Length": 254} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "SrcReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "SrcReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_rGPRRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_0", ",", "getKillRegState", "(", "isKill", ")", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_1", ",", "0", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::t2STRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_rGPRRegClass", "ARM::t2STRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo (2)1", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12019, "Length": 327} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "DebugLoc", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "if", "(", "!", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", ")", "return", "ARMBaseInstrInfo", "::", "copyPhysReg", "(", "MBB", ",", "I", ",", "DL", ",", "DestReg", ",", "SrcReg", ",", "KillSrc", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ")", ";", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM", "ARM::tMOVr"], "File": "Thumb2InstrInfo (2)", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12020, "Length": 92} {"ground_truth": ["", "bool", "Thumb2InstrInfo", "::", "isLegalToSplitMBBAt", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MBBI", ")", "const", "{", "while", "(", "MBBI", "->", "isDebugValue", "(", ")", ")", "{", "++", "MBBI", ";", "if", "(", "MBBI", "==", "MBB", ".", "end", "(", ")", ")", "return", "false", ";", "}", "unsigned", "PredReg", "=", "0", ";", "return", "getITInstrPredicate", "(", "MBBI", ",", "PredReg", ")", "==", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "legal", "to", "split", "the", "given", "basic", "block", "at", "the", "specified", "instruction", "(", "i.e", "."], "TS_V_token": ["ARM", "0", "ARMCC::AL"], "File": "Thumb2InstrInfo (2)", "Func": "isLegalToSplitMBBAt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12021, "Length": 60} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "GPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tcGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "rGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "GPRnopcRegClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "DestReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_rGPRRegClass", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_0", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_1", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", ")", "MIB", ".", "addReg", "(", "DestReg", ",", "RegState", "::", "ImplicitDefine", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::tGPRRegClass", "ARM::tcGPRRegClass", "ARM::rGPRRegClass", "ARM::GPRnopcRegClass", "ARM::t2LDRi12", "0", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_rGPRRegClass", "ARM::t2LDRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "ARM"], "File": "Thumb2InstrInfo (2)", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12022, "Length": 339} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "ReplaceTailWithBranchTo", "(", "MachineBasicBlock", "::", "iterator", "Tail", ",", "MachineBasicBlock", "*", "NewDest", ")", "const", "{", "MachineBasicBlock", "*", "MBB", "=", "Tail", "->", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "AFI", "->", "hasITBlocks", "(", ")", ")", "{", "TargetInstrInfo", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "return", ";", "}", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "Tail", ",", "PredReg", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "Tail", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "--", "MBBI", ";", "TargetInstrInfo", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "{", "MachineBasicBlock", "::", "iterator", "E", "=", "MBB", "->", "begin", "(", ")", ";", "unsigned", "Count", "=", "4", ";", "while", "(", "Count", "&&", "MBBI", "!=", "E", ")", "{", "if", "(", "MBBI", "->", "isDebugValue", "(", ")", ")", "{", "--", "MBBI", ";", "continue", ";", "}", "if", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "{", "unsigned", "Mask", "=", "MBBI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "if", "(", "Count", "==", "4", ")", "MBBI", "->", "eraseFromParent", "(", ")", ";", "else", "{", "unsigned", "MaskOn", "=", "1", "<<", "Count", ";", "unsigned", "MaskOff", "=", "~", "(", "MaskOn", "-", "1", ")", ";", "MBBI", "->", "getOperand", "(", "1", ")", ".", "setImm", "(", "(", "Mask", "&", "MaskOff", ")", "|", "MaskOn", ")", ";", "}", "return", ";", "}", "--", "MBBI", ";", "--", "Count", ";", "}", "}", "}", ""], "natrual_language": ["Delete", "the", "instruction", "OldInst", "and", "everything", "after", "it", ",", "replacing", "it", "with", "an", "unconditional", "branch", "to", "NewDest", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARMCC::CondCodes", "ARMCC::AL", "ARMCC::AL", "4", "ARM::t2IT", "1", "4", "1", "1", "1"], "File": "Thumb2InstrInfo (2)", "Func": "ReplaceTailWithBranchTo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12023, "Length": 247} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "GPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tcGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "rGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "GPRnopcRegClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "SrcReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_rGPRRegClass", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_0", ",", "getKillRegState", "(", "isKill", ")", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_1", ",", "0", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::tGPRRegClass", "ARM::tcGPRRegClass", "ARM::rGPRRegClass", "ARM::GPRnopcRegClass", "ARM::t2STRi12", "0", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_rGPRRegClass", "ARM::t2STRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "0", "ARM"], "File": "Thumb2InstrInfo (2)", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12024, "Length": 331} {"ground_truth": ["", "const", "Thumb2RegisterInfo", "&", "getRegisterInfo", "(", ")", "const", "override", "{", "return", "RI", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM"], "File": "Thumb2InstrInfo10", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12025, "Length": 13} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "Register", "::", "isVirtualRegister", "(", "DestReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "DestReg", ",", "&", "ARM", "::", "GPRPairnospRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_0", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_1", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "Register", "::", "isPhysicalRegister", "(", "DestReg", ")", ")", "MIB", ".", "addReg", "(", "DestReg", ",", "RegState", "::", "ImplicitDefine", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::t2LDRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPairnospRegClass", "ARM::t2LDRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo10", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12026, "Length": 335} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "Register", "::", "isVirtualRegister", "(", "SrcReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "SrcReg", ",", "&", "ARM", "::", "GPRPairnospRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_0", ",", "getKillRegState", "(", "isKill", ")", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_1", ",", "0", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::t2STRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPairnospRegClass", "ARM::t2STRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo10", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12027, "Length": 327} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "GPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tcGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "rGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "GPRnopcRegClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "DestReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_rGPRRegClass", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_0", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_1", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", ")", "MIB", ".", "addReg", "(", "DestReg", ",", "RegState", "::", "ImplicitDefine", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::tGPRRegClass", "ARM::tcGPRRegClass", "ARM::rGPRRegClass", "ARM::GPRnopcRegClass", "ARM::t2LDRi12", "0", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_rGPRRegClass", "ARM::t2LDRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "ARM"], "File": "Thumb2InstrInfo11", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12028, "Length": 337} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "GPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tcGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "rGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "GPRnopcRegClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "SrcReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_rGPRRegClass", ")", ";", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_0", ",", "getKillRegState", "(", "isKill", ")", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_1", ",", "0", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::tGPRRegClass", "ARM::tcGPRRegClass", "ARM::rGPRRegClass", "ARM::GPRnopcRegClass", "ARM::t2STRi12", "0", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_rGPRRegClass", "ARM::t2STRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "0", "ARM"], "File": "Thumb2InstrInfo11", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12029, "Length": 329} {"ground_truth": ["", "const", "Thumb2RegisterInfo", "&", "getRegisterInfo", "(", ")", "const", "{", "return", "RI", ";", "}", ""], "natrual_language": ["getRegisterInfo", "-", "TargetInstrInfo", "is", "a", "superset", "of", "MRegister", "info", "."], "TS_V_token": ["ARM"], "File": "Thumb2InstrInfo13", "Func": "getRegisterInfo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12030, "Length": 12} {"ground_truth": ["", "bool", "Thumb2InstrInfo", "::", "isLegalToSplitMBBAt", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MBBI", ")", "const", "{", "while", "(", "MBBI", "->", "isDebugValue", "(", ")", ")", "{", "++", "MBBI", ";", "if", "(", "MBBI", "==", "MBB", ".", "end", "(", ")", ")", "return", "false", ";", "}", "unsigned", "PredReg", "=", "0", ";", "return", "getITInstrPredicate", "(", "*", "MBBI", ",", "PredReg", ")", "==", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "legal", "to", "split", "the", "given", "basic", "block", "at", "the", "specified", "instruction", "(", "i.e", "."], "TS_V_token": ["ARM", "0", "ARMCC::AL"], "File": "Thumb2InstrInfo14", "Func": "isLegalToSplitMBBAt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12031, "Length": 61} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "GPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tcGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "rGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "GPRnopcRegClass", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "DestReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "DestReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_rGPRRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_0", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_1", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", ")", "MIB", ".", "addReg", "(", "DestReg", ",", "RegState", "::", "ImplicitDefine", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::tGPRRegClass", "ARM::tcGPRRegClass", "ARM::rGPRRegClass", "ARM::GPRnopcRegClass", "ARM::t2LDRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_rGPRRegClass", "ARM::t2LDRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo14", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12032, "Length": 361} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "ReplaceTailWithBranchTo", "(", "MachineBasicBlock", "::", "iterator", "Tail", ",", "MachineBasicBlock", "*", "NewDest", ")", "const", "{", "MachineBasicBlock", "*", "MBB", "=", "Tail", "->", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "AFI", "->", "hasITBlocks", "(", ")", "||", "Tail", "->", "isBranch", "(", ")", ")", "{", "TargetInstrInfo", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "return", ";", "}", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "*", "Tail", ",", "PredReg", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "Tail", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "--", "MBBI", ";", "TargetInstrInfo", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "{", "MachineBasicBlock", "::", "iterator", "E", "=", "MBB", "->", "begin", "(", ")", ";", "unsigned", "Count", "=", "4", ";", "while", "(", "Count", "&&", "MBBI", "!=", "E", ")", "{", "if", "(", "MBBI", "->", "isDebugValue", "(", ")", ")", "{", "--", "MBBI", ";", "continue", ";", "}", "if", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "{", "unsigned", "Mask", "=", "MBBI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "if", "(", "Count", "==", "4", ")", "MBBI", "->", "eraseFromParent", "(", ")", ";", "else", "{", "unsigned", "MaskOn", "=", "1", "<<", "Count", ";", "unsigned", "MaskOff", "=", "~", "(", "MaskOn", "-", "1", ")", ";", "MBBI", "->", "getOperand", "(", "1", ")", ".", "setImm", "(", "(", "Mask", "&", "MaskOff", ")", "|", "MaskOn", ")", ";", "}", "return", ";", "}", "--", "MBBI", ";", "--", "Count", ";", "}", "}", "}", ""], "natrual_language": ["Delete", "the", "instruction", "OldInst", "and", "everything", "after", "it", ",", "replacing", "it", "with", "an", "unconditional", "branch", "to", "NewDest", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARMCC::CondCodes", "ARMCC::AL", "ARMCC::AL", "4", "ARM::t2IT", "1", "4", "1", "1", "1"], "File": "Thumb2InstrInfo14", "Func": "ReplaceTailWithBranchTo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12033, "Length": 254} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "GPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tcGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "rGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "GPRnopcRegClass", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "SrcReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "SrcReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_rGPRRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_0", ",", "getKillRegState", "(", "isKill", ")", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_1", ",", "0", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::tGPRRegClass", "ARM::tcGPRRegClass", "ARM::rGPRRegClass", "ARM::GPRnopcRegClass", "ARM::t2STRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_rGPRRegClass", "ARM::t2STRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo14", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12034, "Length": 353} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "DebugLoc", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "if", "(", "!", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", ")", "return", "ARMBaseInstrInfo", "::", "copyPhysReg", "(", "MBB", ",", "I", ",", "DL", ",", "DestReg", ",", "SrcReg", ",", "KillSrc", ")", ";", "bool", "tDest", "=", "ARM", "::", "tGPRRegClass", ".", "contains", "(", "DestReg", ")", ";", "bool", "tSrc", "=", "ARM", "::", "tGPRRegClass", ".", "contains", "(", "SrcReg", ")", ";", "unsigned", "Opc", "=", "ARM", "::", "tMOVgpr2gpr", ";", "if", "(", "tDest", "&&", "tSrc", ")", "Opc", "=", "ARM", "::", "tMOVr", ";", "else", "if", "(", "tSrc", ")", "Opc", "=", "ARM", "::", "tMOVtgpr2gpr", ";", "else", "if", "(", "tDest", ")", "Opc", "=", "ARM", "::", "tMOVgpr2tgpr", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "Opc", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ";", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM", "ARM::tGPRRegClass", "ARM::tGPRRegClass", "ARM::tMOVgpr2gpr", "ARM::tMOVr", "ARM::tMOVtgpr2gpr", "ARM::tMOVgpr2tgpr"], "File": "Thumb2InstrInfo15", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12035, "Length": 152} {"ground_truth": ["", "ScheduleHazardRecognizer", "*", "Thumb2InstrInfo", "::", "CreateTargetPostRAHazardRecognizer", "(", "const", "InstrItineraryData", "&", "II", ")", "const", "{", "return", "(", "ScheduleHazardRecognizer", "*", ")", "new", "Thumb2HazardRecognizer", "(", "II", ")", ";", "}", ""], "natrual_language": ["Allocate", "and", "return", "a", "hazard", "recognizer", "to", "use", "for", "by", "non-scheduling", "passes", "."], "TS_V_token": ["ARM"], "File": "Thumb2InstrInfo15", "Func": "CreateTargetPostRAHazardRecognizer", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12036, "Length": 25} {"ground_truth": ["", "bool", "Thumb2InstrInfo", "::", "isLegalToSplitMBBAt", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MBBI", ")", "const", "{", "unsigned", "PredReg", "=", "0", ";", "return", "llvm", "::", "getITInstrPredicate", "(", "MBBI", ",", "PredReg", ")", "==", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "legal", "to", "split", "the", "given", "basic", "block", "at", "the", "specified", "instruction", "(", "i.e", "."], "TS_V_token": ["ARM", "0", "ARMCC::AL"], "File": "Thumb2InstrInfo15", "Func": "isLegalToSplitMBBAt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12037, "Length": 36} {"ground_truth": ["", "bool", "Thumb2InstrInfo", "::", "isProfitableToIfCvt", "(", "MachineBasicBlock", "&", "TMBB", ",", "unsigned", "NumT", ",", "MachineBasicBlock", "&", "FMBB", ",", "unsigned", "NumF", ")", "const", "{", "return", "NumT", "&&", "NumF", "&&", "NumT", "<=", "(", "IfCvtDiamondLimit", ")", "&&", "NumF", "<=", "(", "IfCvtDiamondLimit", ")", ";", "}", ""], "natrual_language": ["Second", "variant", "of", "isProfitableToIfCvt", "."], "TS_V_token": ["ARM"], "File": "Thumb2InstrInfo15", "Func": "isProfitableToIfCvt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12038, "Length": 39} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", "||", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "RC", "==", "ARM", "::", "tcGPRRegisterClass", "||", "RC", "==", "ARM", "::", "rGPRRegisterClass", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "ARM::tGPRRegisterClass", "ARM::tcGPRRegisterClass", "ARM::rGPRRegisterClass", "0", "ARM::t2LDRi12", "0", "ARM"], "File": "Thumb2InstrInfo15", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12039, "Length": 195} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "ReplaceTailWithBranchTo", "(", "MachineBasicBlock", "::", "iterator", "Tail", ",", "MachineBasicBlock", "*", "NewDest", ")", "const", "{", "MachineBasicBlock", "*", "MBB", "=", "Tail", "->", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "AFI", "->", "hasITBlocks", "(", ")", ")", "{", "TargetInstrInfoImpl", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "return", ";", "}", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "CC", "=", "llvm", "::", "getInstrPredicate", "(", "Tail", ",", "PredReg", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "Tail", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "--", "MBBI", ";", "TargetInstrInfoImpl", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "{", "MachineBasicBlock", "::", "iterator", "E", "=", "MBB", "->", "begin", "(", ")", ";", "unsigned", "Count", "=", "4", ";", "while", "(", "Count", "&&", "MBBI", "!=", "E", ")", "{", "if", "(", "MBBI", "->", "isDebugValue", "(", ")", ")", "{", "--", "MBBI", ";", "continue", ";", "}", "if", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "{", "unsigned", "Mask", "=", "MBBI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "if", "(", "Count", "==", "4", ")", "MBBI", "->", "eraseFromParent", "(", ")", ";", "else", "{", "unsigned", "MaskOn", "=", "1", "<<", "Count", ";", "unsigned", "MaskOff", "=", "~", "(", "MaskOn", "-", "1", ")", ";", "MBBI", "->", "getOperand", "(", "1", ")", ".", "setImm", "(", "(", "Mask", "&", "MaskOff", ")", "|", "MaskOn", ")", ";", "}", "return", ";", "}", "--", "MBBI", ";", "--", "Count", ";", "}", "}", "}", ""], "natrual_language": ["Delete", "the", "instruction", "OldInst", "and", "everything", "after", "it", ",", "replacing", "it", "with", "an", "unconditional", "branch", "to", "NewDest", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARMCC::CondCodes", "ARMCC::AL", "ARMCC::AL", "4", "ARM::t2IT", "1", "4", "1", "1", "1"], "File": "Thumb2InstrInfo15", "Func": "ReplaceTailWithBranchTo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12040, "Length": 249} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", "||", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "RC", "==", "ARM", "::", "tcGPRRegisterClass", "||", "RC", "==", "ARM", "::", "rGPRRegisterClass", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "ARM::tGPRRegisterClass", "ARM::tcGPRRegisterClass", "ARM::rGPRRegisterClass", "0", "ARM::t2STRi12", "0", "ARM"], "File": "Thumb2InstrInfo15", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12041, "Length": 208} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "RC", "==", "&", "ARM", "::", "GPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tcGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "rGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "GPRnopcRegClass", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::tGPRRegClass", "ARM::tcGPRRegClass", "ARM::rGPRRegClass", "ARM::GPRnopcRegClass", "ARM::t2LDRi12", "0", "ARM"], "File": "Thumb2InstrInfo17", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12042, "Length": 204} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "ReplaceTailWithBranchTo", "(", "MachineBasicBlock", "::", "iterator", "Tail", ",", "MachineBasicBlock", "*", "NewDest", ")", "const", "{", "MachineBasicBlock", "*", "MBB", "=", "Tail", "->", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "AFI", "->", "hasITBlocks", "(", ")", ")", "{", "TargetInstrInfoImpl", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "return", ";", "}", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "Tail", ",", "PredReg", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "Tail", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "--", "MBBI", ";", "TargetInstrInfoImpl", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "{", "MachineBasicBlock", "::", "iterator", "E", "=", "MBB", "->", "begin", "(", ")", ";", "unsigned", "Count", "=", "4", ";", "while", "(", "Count", "&&", "MBBI", "!=", "E", ")", "{", "if", "(", "MBBI", "->", "isDebugValue", "(", ")", ")", "{", "--", "MBBI", ";", "continue", ";", "}", "if", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "{", "unsigned", "Mask", "=", "MBBI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "if", "(", "Count", "==", "4", ")", "MBBI", "->", "eraseFromParent", "(", ")", ";", "else", "{", "unsigned", "MaskOn", "=", "1", "<<", "Count", ";", "unsigned", "MaskOff", "=", "~", "(", "MaskOn", "-", "1", ")", ";", "MBBI", "->", "getOperand", "(", "1", ")", ".", "setImm", "(", "(", "Mask", "&", "MaskOff", ")", "|", "MaskOn", ")", ";", "}", "return", ";", "}", "--", "MBBI", ";", "--", "Count", ";", "}", "}", "}", ""], "natrual_language": ["Delete", "the", "instruction", "OldInst", "and", "everything", "after", "it", ",", "replacing", "it", "with", "an", "unconditional", "branch", "to", "NewDest", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARMCC::CondCodes", "ARMCC::AL", "ARMCC::AL", "4", "ARM::t2IT", "1", "4", "1", "1", "1"], "File": "Thumb2InstrInfo17", "Func": "ReplaceTailWithBranchTo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12043, "Length": 247} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "RC", "==", "&", "ARM", "::", "GPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tcGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "rGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "GPRnopcRegClass", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::tGPRRegClass", "ARM::tcGPRRegClass", "ARM::rGPRRegClass", "ARM::GPRnopcRegClass", "ARM::t2STRi12", "0", "ARM"], "File": "Thumb2InstrInfo17", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12044, "Length": 217} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "const", "DebugLoc", "&", "DL", ",", "unsigned", "DestReg", ",", "unsigned", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "if", "(", "!", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", ")", "return", "ARMBaseInstrInfo", "::", "copyPhysReg", "(", "MBB", ",", "I", ",", "DL", ",", "DestReg", ",", "SrcReg", ",", "KillSrc", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ")", ";", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM", "ARM::tMOVr"], "File": "Thumb2InstrInfo18", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12045, "Length": 94} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "GPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tcGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "rGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "GPRnopcRegClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "DestReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "DestReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_rGPRRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_0", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_1", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", ")", "MIB", ".", "addReg", "(", "DestReg", ",", "RegState", "::", "ImplicitDefine", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::tGPRRegClass", "ARM::tcGPRRegClass", "ARM::rGPRRegClass", "ARM::GPRnopcRegClass", "ARM::t2LDRi12", "0", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_rGPRRegClass", "ARM::t2LDRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "ARM"], "File": "Thumb2InstrInfo18", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12046, "Length": 349} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "GPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tcGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "rGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "GPRnopcRegClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "SrcReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "SrcReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_rGPRRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_0", ",", "getKillRegState", "(", "isKill", ")", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_1", ",", "0", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::tGPRRegClass", "ARM::tcGPRRegClass", "ARM::rGPRRegClass", "ARM::GPRnopcRegClass", "ARM::t2STRi12", "0", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_rGPRRegClass", "ARM::t2STRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "0", "ARM"], "File": "Thumb2InstrInfo18", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12047, "Length": 341} {"ground_truth": ["", "bool", "Thumb2InstrInfo", "::", "isLegalToSplitMBBAt", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MBBI", ")", "const", "{", "while", "(", "MBBI", "->", "isDebugValue", "(", ")", ")", "{", "++", "MBBI", ";", "if", "(", "MBBI", "==", "MBB", ".", "end", "(", ")", ")", "return", "false", ";", "}", "unsigned", "PredReg", "=", "0", ";", "return", "llvm", "::", "getITInstrPredicate", "(", "MBBI", ",", "PredReg", ")", "==", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "legal", "to", "split", "the", "given", "basic", "block", "at", "the", "specified", "instruction", "(", "i.e", "."], "TS_V_token": ["ARM", "0", "ARMCC::AL"], "File": "Thumb2InstrInfo2", "Func": "isLegalToSplitMBBAt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12048, "Length": 62} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", "||", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "RC", "==", "ARM", "::", "tcGPRRegisterClass", "||", "RC", "==", "ARM", "::", "rGPRRegisterClass", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "ARM::tGPRRegisterClass", "ARM::tcGPRRegisterClass", "ARM::rGPRRegisterClass", "ARM::t2LDRi12", "0", "ARM"], "File": "Thumb2InstrInfo2", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12049, "Length": 196} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", "||", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "RC", "==", "ARM", "::", "tcGPRRegisterClass", "||", "RC", "==", "ARM", "::", "rGPRRegisterClass", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "ARM::tGPRRegisterClass", "ARM::tcGPRRegisterClass", "ARM::rGPRRegisterClass", "ARM::t2STRi12", "0", "ARM"], "File": "Thumb2InstrInfo2", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12050, "Length": 209} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "Register", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "Register", "::", "isVirtualRegister", "(", "DestReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "DestReg", ",", "&", "ARM", "::", "GPRPairnospRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_0", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_1", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "Register", "::", "isPhysicalRegister", "(", "DestReg", ")", ")", "MIB", ".", "addReg", "(", "DestReg", ",", "RegState", "::", "ImplicitDefine", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::t2LDRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPairnospRegClass", "ARM::t2LDRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo35", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12051, "Length": 335} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "Register", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "Register", "::", "isVirtualRegister", "(", "SrcReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "SrcReg", ",", "&", "ARM", "::", "GPRPairnospRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_0", ",", "getKillRegState", "(", "isKill", ")", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_1", ",", "0", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::t2STRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPairnospRegClass", "ARM::t2STRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo35", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12052, "Length": 327} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "0", "ARM::t2LDRi12", "0", "ARM"], "File": "Thumb2InstrInfo37", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12053, "Length": 176} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "0", "ARM::t2STRi12", "0", "ARM"], "File": "Thumb2InstrInfo37", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12054, "Length": 189} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "GPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tcGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "rGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "GPRnopcRegClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "DestReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "DestReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_rGPRRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_0", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_1", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", ")", "MIB", ".", "addReg", "(", "DestReg", ",", "RegState", "::", "ImplicitDefine", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::tGPRRegClass", "ARM::tcGPRRegClass", "ARM::rGPRRegClass", "ARM::GPRnopcRegClass", "ARM::t2LDRi12", "0", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_rGPRRegClass", "ARM::t2LDRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "ARM"], "File": "Thumb2InstrInfo40", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12055, "Length": 350} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "ReplaceTailWithBranchTo", "(", "MachineBasicBlock", "::", "iterator", "Tail", ",", "MachineBasicBlock", "*", "NewDest", ")", "const", "{", "MachineBasicBlock", "*", "MBB", "=", "Tail", "->", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "AFI", "->", "hasITBlocks", "(", ")", ")", "{", "TargetInstrInfo", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "return", ";", "}", "unsigned", "PredReg", "=", "0", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "*", "Tail", ",", "PredReg", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "Tail", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "--", "MBBI", ";", "TargetInstrInfo", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "{", "MachineBasicBlock", "::", "iterator", "E", "=", "MBB", "->", "begin", "(", ")", ";", "unsigned", "Count", "=", "4", ";", "while", "(", "Count", "&&", "MBBI", "!=", "E", ")", "{", "if", "(", "MBBI", "->", "isDebugValue", "(", ")", ")", "{", "--", "MBBI", ";", "continue", ";", "}", "if", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "{", "unsigned", "Mask", "=", "MBBI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "if", "(", "Count", "==", "4", ")", "MBBI", "->", "eraseFromParent", "(", ")", ";", "else", "{", "unsigned", "MaskOn", "=", "1", "<<", "Count", ";", "unsigned", "MaskOff", "=", "~", "(", "MaskOn", "-", "1", ")", ";", "MBBI", "->", "getOperand", "(", "1", ")", ".", "setImm", "(", "(", "Mask", "&", "MaskOff", ")", "|", "MaskOn", ")", ";", "}", "return", ";", "}", "--", "MBBI", ";", "--", "Count", ";", "}", "}", "}", ""], "natrual_language": ["Delete", "the", "instruction", "OldInst", "and", "everything", "after", "it", ",", "replacing", "it", "with", "an", "unconditional", "branch", "to", "NewDest", "."], "TS_V_token": ["ARM", "ARM", "ARM", "0", "ARMCC::CondCodes", "ARMCC::AL", "ARMCC::AL", "4", "ARM::t2IT", "1", "4", "1", "1", "1"], "File": "Thumb2InstrInfo40", "Func": "ReplaceTailWithBranchTo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12056, "Length": 248} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "if", "(", "RC", "==", "&", "ARM", "::", "GPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "tcGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "rGPRRegClass", "||", "RC", "==", "&", "ARM", "::", "GPRnopcRegClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "SrcReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "SrcReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_rGPRRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_0", ",", "getKillRegState", "(", "isKill", ")", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_1", ",", "0", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ";", "AddDefaultPred", "(", "MIB", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::tGPRRegClass", "ARM::tcGPRRegClass", "ARM::rGPRRegClass", "ARM::GPRnopcRegClass", "ARM::t2STRi12", "0", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_rGPRRegClass", "ARM::t2STRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "0", "ARM"], "File": "Thumb2InstrInfo40", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12057, "Length": 342} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", "||", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "RC", "==", "ARM", "::", "tcGPRRegisterClass", "||", "RC", "==", "ARM", "::", "rGPRRegisterClass", "||", "RC", "==", "ARM", "::", "GPRnopcRegisterClass", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "ARM::tGPRRegisterClass", "ARM::tcGPRRegisterClass", "ARM::rGPRRegisterClass", "ARM::GPRnopcRegisterClass", "ARM::t2LDRi12", "0", "ARM"], "File": "Thumb2InstrInfo41", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12058, "Length": 199} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", "||", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "RC", "==", "ARM", "::", "tcGPRRegisterClass", "||", "RC", "==", "ARM", "::", "rGPRRegisterClass", "||", "RC", "==", "ARM", "::", "GPRnopcRegisterClass", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "ARM::tGPRRegisterClass", "ARM::tcGPRRegisterClass", "ARM::rGPRRegisterClass", "ARM::GPRnopcRegisterClass", "ARM::t2STRi12", "0", "ARM"], "File": "Thumb2InstrInfo41", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12059, "Length": 212} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "ARM::t2LDRi12", "0", "ARM"], "File": "Thumb2InstrInfo49", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12060, "Length": 113} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", "=", "DebugLoc", "::", "getUnknownLoc", "(", ")", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", ")", "{", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "ARM::t2STRi12", "0", "ARM"], "File": "Thumb2InstrInfo49", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12061, "Length": 126} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", "||", "RC", "==", "ARM", "::", "tGPRRegisterClass", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "ARM::tGPRRegisterClass", "0", "ARM::t2LDRi12", "0", "ARM"], "File": "Thumb2InstrInfo4", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12062, "Length": 176} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", "||", "RC", "==", "ARM", "::", "tGPRRegisterClass", ")", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "0", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "ARM::tGPRRegisterClass", "0", "ARM::t2STRi12", "0", "ARM"], "File": "Thumb2InstrInfo4", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12063, "Length": 189} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "DestReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "DestReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_GPRwithAPSRnospRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_0", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_1", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "TargetRegisterInfo", "::", "isPhysicalRegister", "(", "DestReg", ")", ")", "MIB", ".", "addReg", "(", "DestReg", ",", "RegState", "::", "ImplicitDefine", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::t2LDRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_GPRwithAPSRnospRegClass", "ARM::t2LDRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo62", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12064, "Length": 335} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "SrcReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "SrcReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_GPRwithAPSRnospRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_0", ",", "getKillRegState", "(", "isKill", ")", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_1", ",", "0", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::t2STRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_GPRwithAPSRnospRegClass", "ARM::t2STRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo62", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12065, "Length": 327} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", "||", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "RC", "==", "ARM", "::", "tcGPRRegisterClass", "||", "RC", "==", "ARM", "::", "rGPRRegisterClass", "||", "RC", "==", "ARM", "::", "GPRnopcRegisterClass", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "ARM::tGPRRegisterClass", "ARM::tcGPRRegisterClass", "ARM::rGPRRegisterClass", "ARM::GPRnopcRegisterClass", "ARM::t2LDRi12", "0", "ARM"], "File": "Thumb2InstrInfo63", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12066, "Length": 202} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "if", "(", "RC", "==", "ARM", "::", "GPRRegisterClass", "||", "RC", "==", "ARM", "::", "tGPRRegisterClass", "||", "RC", "==", "ARM", "::", "tcGPRRegisterClass", "||", "RC", "==", "ARM", "::", "rGPRRegisterClass", "||", "RC", "==", "ARM", "::", "GPRnopcRegisterClass", ")", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "*", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "(", "PseudoSourceValue", "::", "getFixedStack", "(", "FI", ")", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegisterClass", "ARM::tGPRRegisterClass", "ARM::tcGPRRegisterClass", "ARM::rGPRRegisterClass", "ARM::GPRnopcRegisterClass", "ARM::t2STRi12", "0", "ARM"], "File": "Thumb2InstrInfo63", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12067, "Length": 215} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "Register", "::", "isVirtualRegister", "(", "DestReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "DestReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_GPRwithAPSRnospRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_0", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_1", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "Register", "::", "isPhysicalRegister", "(", "DestReg", ")", ")", "MIB", ".", "addReg", "(", "DestReg", ",", "RegState", "::", "ImplicitDefine", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::t2LDRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_GPRwithAPSRnospRegClass", "ARM::t2LDRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo67", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12068, "Length": 335} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "unsigned", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlignment", "(", "FI", ")", ")", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "Register", "::", "isVirtualRegister", "(", "SrcReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "SrcReg", ",", "&", "ARM", "::", "GPRPair_with_gsub_1_in_GPRwithAPSRnospRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_0", ",", "getKillRegState", "(", "isKill", ")", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_1", ",", "0", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::t2STRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPair_with_gsub_1_in_GPRwithAPSRnospRegClass", "ARM::t2STRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo67", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12069, "Length": 327} {"ground_truth": ["", "MachineInstr", "*", "Thumb2InstrInfo", "::", "commuteInstructionImpl", "(", "MachineInstr", "&", "MI", ",", "bool", "NewMI", ",", "unsigned", "OpIdx1", ",", "unsigned", "OpIdx2", ")", "const", "{", "switch", "(", "MI", ".", "getOpcode", "(", ")", ")", "{", "case", "ARM", "::", "MVE_VMAXNMAf16", ":", "case", "ARM", "::", "MVE_VMAXNMAf32", ":", "case", "ARM", "::", "MVE_VMINNMAf16", ":", "case", "ARM", "::", "MVE_VMINNMAf32", ":", "if", "(", "getVPTInstrPredicate", "(", "MI", ")", "!=", "ARMVCC", "::", "None", ")", "return", "nullptr", ";", "}", "return", "ARMBaseInstrInfo", "::", "commuteInstructionImpl", "(", "MI", ",", "NewMI", ",", "OpIdx1", ",", "OpIdx2", ")", ";", "}", ""], "natrual_language": ["Commutes", "the", "operands", "in", "the", "given", "instruction", "by", "changing", "the", "operands", "order", "and/or", "changing", "the", "instruction", "'s", "opcode", "and/or", "the", "immediate", "value", "operand", "."], "TS_V_token": ["ARM", "ARM::MVE_VMAXNMAf16", "ARM::MVE_VMAXNMAf32", "ARM::MVE_VMINNMAf16", "ARM::MVE_VMINNMAf32", "ARMVCC::None", "ARM"], "File": "Thumb2InstrInfo", "Func": "commuteInstructionImpl", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12070, "Length": 80} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "copyPhysReg", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "const", "DebugLoc", "&", "DL", ",", "MCRegister", "DestReg", ",", "MCRegister", "SrcReg", ",", "bool", "KillSrc", ")", "const", "{", "if", "(", "!", "ARM", "::", "GPRRegClass", ".", "contains", "(", "DestReg", ",", "SrcReg", ")", ")", "return", "ARMBaseInstrInfo", "::", "copyPhysReg", "(", "MBB", ",", "I", ",", "DL", ",", "DestReg", ",", "SrcReg", ",", "KillSrc", ")", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "tMOVr", ")", ",", "DestReg", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "KillSrc", ")", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "}", ""], "natrual_language": ["}", "Branch", "Analysis", "&", "Modification"], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM", "ARM::tMOVr", "ARMCC::AL"], "File": "Thumb2InstrInfo", "Func": "copyPhysReg", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12071, "Length": 101} {"ground_truth": ["", "MCInst", "Thumb2InstrInfo", "::", "getNop", "(", ")", "const", "{", "return", "MCInstBuilder", "(", "ARM", "::", "tHINT", ")", ".", "addImm", "(", "0", ")", ".", "addImm", "(", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ";", "}", ""], "natrual_language": ["Return", "the", "noop", "instruction", "to", "use", "for", "a", "noop", "."], "TS_V_token": ["ARM", "ARM::tHINT", "0", "ARMCC::AL", "0"], "File": "Thumb2InstrInfo", "Func": "getNop", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12072, "Length": 34} {"ground_truth": ["", "bool", "Thumb2InstrInfo", "::", "isLegalToSplitMBBAt", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "MBBI", ")", "const", "{", "while", "(", "MBBI", "->", "isDebugInstr", "(", ")", ")", "{", "++", "MBBI", ";", "if", "(", "MBBI", "==", "MBB", ".", "end", "(", ")", ")", "return", "false", ";", "}", "Register", "PredReg", ";", "return", "getITInstrPredicate", "(", "*", "MBBI", ",", "PredReg", ")", "==", "ARMCC", "::", "AL", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "'s", "legal", "to", "split", "the", "given", "basic", "block", "at", "the", "specified", "instruction", "(", "i.e", "."], "TS_V_token": ["ARM", "ARMCC::AL"], "File": "Thumb2InstrInfo", "Func": "isLegalToSplitMBBAt", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12073, "Length": 59} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "loadRegFromStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "Register", "DestReg", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOLoad", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlign", "(", "FI", ")", ")", ";", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRi12", ")", ",", "DestReg", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "Register", "::", "isVirtualRegister", "(", "DestReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "DestReg", ",", "&", "ARM", "::", "GPRPairnospRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2LDRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_0", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "DestReg", ",", "ARM", "::", "gsub_1", ",", "RegState", "::", "DefineNoRead", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "if", "(", "Register", "::", "isPhysicalRegister", "(", "DestReg", ")", ")", "MIB", ".", "addReg", "(", "DestReg", ",", "RegState", "::", "ImplicitDefine", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "loadRegFromStackSlot", "(", "MBB", ",", "I", ",", "DestReg", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Load", "the", "specified", "register", "of", "the", "given", "register", "class", "from", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::t2LDRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPairnospRegClass", "ARM::t2LDRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo", "Func": "loadRegFromStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12074, "Length": 335} {"ground_truth": ["", "MachineInstr", "*", "Thumb2InstrInfo", "::", "optimizeSelect", "(", "MachineInstr", "&", "MI", ",", "SmallPtrSetImpl", "<", "MachineInstr", "*", ">", "&", "SeenMIs", ",", "bool", "PreferFalse", ")", "const", "{", "MachineInstr", "*", "RV", "=", "ARMBaseInstrInfo", "::", "optimizeSelect", "(", "MI", ",", "SeenMIs", ",", "PreferFalse", ")", ";", "if", "(", "!", "RV", "&&", "getSubtarget", "(", ")", ".", "hasV8_1MMainlineOps", "(", ")", "&&", "!", "PreferNoCSEL", ")", "{", "Register", "DestReg", "=", "MI", ".", "getOperand", "(", "0", ")", ".", "getReg", "(", ")", ";", "if", "(", "!", "DestReg", ".", "isVirtual", "(", ")", ")", "return", "nullptr", ";", "MachineInstrBuilder", "NewMI", "=", "BuildMI", "(", "*", "MI", ".", "getParent", "(", ")", ",", "MI", ",", "MI", ".", "getDebugLoc", "(", ")", ",", "get", "(", "ARM", "::", "t2CSEL", ")", ",", "DestReg", ")", ".", "add", "(", "MI", ".", "getOperand", "(", "2", ")", ")", ".", "add", "(", "MI", ".", "getOperand", "(", "1", ")", ")", ".", "add", "(", "MI", ".", "getOperand", "(", "3", ")", ")", ";", "SeenMIs", ".", "insert", "(", "NewMI", ")", ";", "return", "NewMI", ";", "}", "return", "RV", ";", "}", ""], "natrual_language": ["Given", "a", "select", "instruction", "that", "was", "understood", "by", "analyzeSelect", "and", "returned", "Optimizable", "=", "true", ",", "attempt", "to", "optimize", "MI", "by", "merging", "it", "with", "one", "of", "its", "operands", "."], "TS_V_token": ["ARM", "ARM", "0", "ARM::t2CSEL", "2", "1", "3"], "File": "Thumb2InstrInfo", "Func": "optimizeSelect", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12075, "Length": 156} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "ReplaceTailWithBranchTo", "(", "MachineBasicBlock", "::", "iterator", "Tail", ",", "MachineBasicBlock", "*", "NewDest", ")", "const", "{", "MachineBasicBlock", "*", "MBB", "=", "Tail", "->", "getParent", "(", ")", ";", "ARMFunctionInfo", "*", "AFI", "=", "MBB", "->", "getParent", "(", ")", "->", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "if", "(", "!", "AFI", "->", "hasITBlocks", "(", ")", "||", "Tail", "->", "isBranch", "(", ")", ")", "{", "TargetInstrInfo", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "return", ";", "}", "Register", "PredReg", ";", "ARMCC", "::", "CondCodes", "CC", "=", "getInstrPredicate", "(", "*", "Tail", ",", "PredReg", ")", ";", "MachineBasicBlock", "::", "iterator", "MBBI", "=", "Tail", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "--", "MBBI", ";", "TargetInstrInfo", "::", "ReplaceTailWithBranchTo", "(", "Tail", ",", "NewDest", ")", ";", "if", "(", "CC", "!=", "ARMCC", "::", "AL", ")", "{", "MachineBasicBlock", "::", "iterator", "E", "=", "MBB", "->", "begin", "(", ")", ";", "unsigned", "Count", "=", "4", ";", "while", "(", "Count", "&&", "MBBI", "!=", "E", ")", "{", "if", "(", "MBBI", "->", "isDebugInstr", "(", ")", ")", "{", "--", "MBBI", ";", "continue", ";", "}", "if", "(", "MBBI", "->", "getOpcode", "(", ")", "==", "ARM", "::", "t2IT", ")", "{", "unsigned", "Mask", "=", "MBBI", "->", "getOperand", "(", "1", ")", ".", "getImm", "(", ")", ";", "if", "(", "Count", "==", "4", ")", "MBBI", "->", "eraseFromParent", "(", ")", ";", "else", "{", "unsigned", "MaskOn", "=", "1", "<<", "Count", ";", "unsigned", "MaskOff", "=", "~", "(", "MaskOn", "-", "1", ")", ";", "MBBI", "->", "getOperand", "(", "1", ")", ".", "setImm", "(", "(", "Mask", "&", "MaskOff", ")", "|", "MaskOn", ")", ";", "}", "return", ";", "}", "--", "MBBI", ";", "--", "Count", ";", "}", "}", "}", ""], "natrual_language": ["Delete", "the", "instruction", "OldInst", "and", "everything", "after", "it", ",", "replacing", "it", "with", "an", "unconditional", "branch", "to", "NewDest", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARMCC::CondCodes", "ARMCC::AL", "ARMCC::AL", "4", "ARM::t2IT", "1", "4", "1", "1", "1"], "File": "Thumb2InstrInfo", "Func": "ReplaceTailWithBranchTo", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12076, "Length": 252} {"ground_truth": ["", "void", "Thumb2InstrInfo", "::", "storeRegToStackSlot", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "Register", "SrcReg", ",", "bool", "isKill", ",", "int", "FI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "const", "TargetRegisterInfo", "*", "TRI", ")", "const", "{", "DebugLoc", "DL", ";", "if", "(", "I", "!=", "MBB", ".", "end", "(", ")", ")", "DL", "=", "I", "->", "getDebugLoc", "(", ")", ";", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineFrameInfo", "&", "MFI", "=", "MF", ".", "getFrameInfo", "(", ")", ";", "MachineMemOperand", "*", "MMO", "=", "MF", ".", "getMachineMemOperand", "(", "MachinePointerInfo", "::", "getFixedStack", "(", "MF", ",", "FI", ")", ",", "MachineMemOperand", "::", "MOStore", ",", "MFI", ".", "getObjectSize", "(", "FI", ")", ",", "MFI", ".", "getObjectAlign", "(", "FI", ")", ")", ";", "if", "(", "ARM", "::", "GPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRi12", ")", ")", ".", "addReg", "(", "SrcReg", ",", "getKillRegState", "(", "isKill", ")", ")", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "if", "(", "ARM", "::", "GPRPairRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "{", "if", "(", "Register", "::", "isVirtualRegister", "(", "SrcReg", ")", ")", "{", "MachineRegisterInfo", "*", "MRI", "=", "&", "MF", ".", "getRegInfo", "(", ")", ";", "MRI", "->", "constrainRegClass", "(", "SrcReg", ",", "&", "ARM", "::", "GPRPairnospRegClass", ")", ";", "}", "MachineInstrBuilder", "MIB", "=", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "get", "(", "ARM", "::", "t2STRDi8", ")", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_0", ",", "getKillRegState", "(", "isKill", ")", ",", "TRI", ")", ";", "AddDReg", "(", "MIB", ",", "SrcReg", ",", "ARM", "::", "gsub_1", ",", "0", ",", "TRI", ")", ";", "MIB", ".", "addFrameIndex", "(", "FI", ")", ".", "addImm", "(", "0", ")", ".", "addMemOperand", "(", "MMO", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", ";", "}", "ARMBaseInstrInfo", "::", "storeRegToStackSlot", "(", "MBB", ",", "I", ",", "SrcReg", ",", "isKill", ",", "FI", ",", "RC", ",", "TRI", ")", ";", "}", ""], "natrual_language": ["Store", "the", "specified", "register", "of", "the", "given", "register", "class", "to", "the", "specified", "stack", "frame", "index", "."], "TS_V_token": ["ARM", "ARM::GPRRegClass", "ARM::t2STRi12", "0", "ARMCC::AL", "ARM::GPRPairRegClass", "ARM::GPRPairnospRegClass", "ARM::t2STRDi8", "ARM::gsub_0", "ARM::gsub_1", "0", "0", "ARMCC::AL", "ARM"], "File": "Thumb2InstrInfo", "Func": "storeRegToStackSlot", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12077, "Length": 327} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "PASS_NAME", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM"], "File": "Thumb2ITBlockPass (2)1", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12078, "Length": 11} {"ground_truth": ["", "bool", "Thumb2ITBlock", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", ")", "return", "false", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "restrictIT", "=", "STI", ".", "restrictIT", "(", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "return", "false", ";", "bool", "Modified", "=", "false", ";", "for", "(", "auto", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "InsertITInstructions", "(", "MBB", ")", ";", "if", "(", "Modified", ")", "AFI", "->", "setHasITBlocks", "(", "true", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "Thumb2ITBlockPass (2)1", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12079, "Length": 131} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "\"Thumb IT blocks insertion pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"Thumb IT blocks insertion pass\""], "File": "Thumb2ITBlockPass (2)", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12080, "Length": 13} {"ground_truth": ["", "bool", "Thumb2ITBlockPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", ")", "return", "false", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "restrictIT", "=", "STI", ".", "restrictIT", "(", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "return", "false", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "++", "MFI", ";", "Modified", "|=", "InsertITInstructions", "(", "MBB", ")", ";", "}", "if", "(", "Modified", ")", "AFI", "->", "setHasITBlocks", "(", "true", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "Thumb2ITBlockPass (2)", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12081, "Length": 161} {"ground_truth": ["", "bool", "Thumb2ITBlockPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "TargetMachine", "&", "TM", "=", "Fn", ".", "getTarget", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "hasV8Ops", "=", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "hasV8Ops", "(", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "return", "false", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "++", "MFI", ";", "Modified", "|=", "InsertITInstructions", "(", "MBB", ")", ";", "}", "if", "(", "Modified", ")", "AFI", "->", "setHasITBlocks", "(", "true", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "Thumb2ITBlockPass11", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12082, "Length": 148} {"ground_truth": ["", "bool", "Thumb2ITBlockPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "Fn", ".", "getSubtarget", "(", ")", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "restrictIT", "=", "STI", ".", "restrictIT", "(", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "return", "false", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "++", "MFI", ";", "Modified", "|=", "InsertITInstructions", "(", "MBB", ")", ";", "}", "if", "(", "Modified", ")", "AFI", "->", "setHasITBlocks", "(", "true", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "Thumb2ITBlockPass18", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12083, "Length": 149} {"ground_truth": ["", "static", "ARMCC", "::", "CondCodes", "getPredicate", "(", "const", "MachineInstr", "*", "MI", ",", "const", "Thumb2InstrInfo", "*", "TII", ")", "{", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "tBcc", "||", "Opc", "==", "ARM", "::", "t2Bcc", ")", "return", "ARMCC", "::", "AL", ";", "return", "TII", "->", "getPredicate", "(", "MI", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "comparison", "predicate", "underlying", "the", "intrinsic", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "ARM::tBcc", "ARM::t2Bcc", "ARMCC::AL"], "File": "Thumb2ITBlockPass22", "Func": "getPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12084, "Length": 54} {"ground_truth": ["", "bool", "Thumb2ITBlockPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "TargetMachine", "&", "TM", "=", "Fn", ".", "getTarget", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "return", "false", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", "++", "MFI", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "Modified", "|=", "InsertITBlocks", "(", "MBB", ")", ";", "}", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2ITBlockPass22", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12085, "Length": 113} {"ground_truth": ["", "bool", "Thumb2ITBlock", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "ARMSubtarget", "&", "STI", "=", "Fn", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", ".", "isThumb2", "(", ")", ")", "return", "false", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "STI", ".", "getRegisterInfo", "(", ")", ";", "restrictIT", "=", "STI", ".", "restrictIT", "(", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "return", "false", ";", "bool", "Modified", "=", "false", ";", "for", "(", "auto", "&", "MBB", ":", "Fn", ")", "Modified", "|=", "InsertITInstructions", "(", "MBB", ")", ";", "if", "(", "Modified", ")", "AFI", "->", "setHasITBlocks", "(", "true", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM"], "File": "Thumb2ITBlockPass25", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12086, "Length": 126} {"ground_truth": ["", "bool", "Thumb2ITBlockPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "TargetMachine", "&", "TM", "=", "Fn", ".", "getTarget", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "restrictIT", "=", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "restrictIT", "(", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "return", "false", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "++", "MFI", ";", "Modified", "|=", "InsertITInstructions", "(", "MBB", ")", ";", "}", "if", "(", "Modified", ")", "AFI", "->", "setHasITBlocks", "(", "true", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "Thumb2ITBlockPass2", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12087, "Length": 148} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"Thumb IT blocks insertion pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"Thumb IT blocks insertion pass\""], "File": "Thumb2ITBlockPass31", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12088, "Length": 11} {"ground_truth": ["", "bool", "Thumb2ITBlockPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "TargetMachine", "&", "TM", "=", "Fn", ".", "getTarget", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "TM", ".", "getSubtargetImpl", "(", ")", "->", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "TM", ".", "getSubtargetImpl", "(", ")", "->", "getRegisterInfo", "(", ")", ";", "restrictIT", "=", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "restrictIT", "(", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "return", "false", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "++", "MFI", ";", "Modified", "|=", "InsertITInstructions", "(", "MBB", ")", ";", "}", "if", "(", "Modified", ")", "AFI", "->", "setHasITBlocks", "(", "true", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM", "ARM"], "File": "Thumb2ITBlockPass34", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12089, "Length": 156} {"ground_truth": ["", "static", "ARMCC", "::", "CondCodes", "getPredicate", "(", "const", "MachineInstr", "*", "MI", ",", "unsigned", "&", "PredReg", ")", "{", "unsigned", "Opc", "=", "MI", "->", "getOpcode", "(", ")", ";", "if", "(", "Opc", "==", "ARM", "::", "tBcc", "||", "Opc", "==", "ARM", "::", "t2Bcc", ")", "return", "ARMCC", "::", "AL", ";", "return", "llvm", "::", "getInstrPredicate", "(", "MI", ",", "PredReg", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "comparison", "predicate", "underlying", "the", "intrinsic", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "ARM::tBcc", "ARM::t2Bcc", "ARMCC::AL"], "File": "Thumb2ITBlockPass39", "Func": "getPredicate", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12090, "Length": 55} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"Thumb IT blocks insertion pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"Thumb IT blocks insertion pass\""], "File": "Thumb2ITBlockPass", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12091, "Length": 13} {"ground_truth": ["", "bool", "Thumb2ITBlockPass", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "Fn", ")", "{", "const", "TargetMachine", "&", "TM", "=", "Fn", ".", "getTarget", "(", ")", ";", "AFI", "=", "Fn", ".", "getInfo", "<", "ARMFunctionInfo", ">", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "TRI", "=", "TM", ".", "getRegisterInfo", "(", ")", ";", "if", "(", "!", "AFI", "->", "isThumbFunction", "(", ")", ")", "return", "false", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "MFI", "=", "Fn", ".", "begin", "(", ")", ",", "E", "=", "Fn", ".", "end", "(", ")", ";", "MFI", "!=", "E", ";", ")", "{", "MachineBasicBlock", "&", "MBB", "=", "*", "MFI", ";", "++", "MFI", ";", "Modified", "|=", "InsertITInstructions", "(", "MBB", ")", ";", "}", "if", "(", "Modified", ")", "AFI", "->", "setHasITBlocks", "(", "true", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2ITBlockPass", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12092, "Length": 133} {"ground_truth": ["", "void", "Thumb2RegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getSubtarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "t2LDRpci", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "(", "int64_t", ")", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "4", "ARM::t2LDRpci", "ARMCC::AL", "0"], "File": "Thumb2RegisterInfo10", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12093, "Length": 176} {"ground_truth": ["", "void", "Thumb2RegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "t2LDRpci", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "(", "int64_t", ")", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "4", "ARM::t2LDRpci", "ARMCC::AL", "0"], "File": "Thumb2RegisterInfo11", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12094, "Length": 151} {"ground_truth": ["", "void", "Thumb2RegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "t2LDRpci", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "(", "int64_t", ")", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "4", "ARM::t2LDRpci", "ARMCC::AL", "0"], "File": "Thumb2RegisterInfo1", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12095, "Length": 152} {"ground_truth": ["", "bool", "Thumb2RegisterInfo", "::", "requiresRegisterScavenging", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "requires", "(", "and", "can", "make", "use", "of", ")", "the", "register", "scavenger", "."], "TS_V_token": ["ARM"], "File": "Thumb2RegisterInfo2", "Func": "requiresRegisterScavenging", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12096, "Length": 16} {"ground_truth": ["", "void", "Thumb2RegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "t2LDRpci", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "(", "int64_t", ")", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "4", "ARM::t2LDRpci", "ARMCC::AL", "0"], "File": "Thumb2RegisterInfo3", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12097, "Length": 160} {"ground_truth": ["", "void", "Thumb2RegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "MF", ".", "getTarget", "(", ")", ".", "getInstrInfo", "(", ")", ";", "MachineConstantPool", "*", "ConstantPool", "=", "MF", ".", "getConstantPool", "(", ")", ";", "const", "Constant", "*", "C", "=", "ConstantInt", "::", "get", "(", "Type", "::", "getInt32Ty", "(", "MBB", ".", "getParent", "(", ")", "->", "getFunction", "(", ")", "->", "getContext", "(", ")", ")", ",", "Val", ")", ";", "unsigned", "Idx", "=", "ConstantPool", "->", "getConstantPoolIndex", "(", "C", ",", "4", ")", ";", "BuildMI", "(", "MBB", ",", "MBBI", ",", "dl", ",", "TII", ".", "get", "(", "ARM", "::", "t2LDRpci", ")", ")", ".", "addReg", "(", "DestReg", ",", "getDefRegState", "(", "true", ")", ",", "SubIdx", ")", ".", "addConstantPoolIndex", "(", "Idx", ")", ".", "addImm", "(", "(", "int64_t", ")", "ARMCC", "::", "AL", ")", ".", "addReg", "(", "0", ")", ".", "setMIFlags", "(", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "4", "ARM::t2LDRpci", "ARMCC::AL", "0"], "File": "Thumb2RegisterInfo", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12098, "Length": 176} {"ground_truth": ["", "const", "char", "*", "getPassName", "(", ")", "const", "override", "{", "return", "\"Thumb2 instruction size reduction pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"Thumb2 instruction size reduction pass\""], "File": "Thumb2SizeReduction (2)", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12099, "Length": 13} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "PredicateFtor", "&&", "!", "PredicateFtor", "(", "*", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "STI", "->", "isThumb1Only", "(", ")", "||", "STI", "->", "prefers32BitThumb", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", "->", "getInstrInfo", "(", ")", ")", ";", "OptimizeSize", "=", "MF", ".", "getFunction", "(", ")", "->", "optForSize", "(", ")", ";", "MinimizeSize", "=", "MF", ".", "getFunction", "(", ")", "->", "optForMinSize", "(", ")", ";", "BlockInfo", ".", "clear", "(", ")", ";", "BlockInfo", ".", "resize", "(", "MF", ".", "getNumBlockIDs", "(", ")", ")", ";", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "RPOT", "(", "&", "MF", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "::", "rpo_iterator", "I", "=", "RPOT", ".", "begin", "(", ")", ",", "E", "=", "RPOT", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction (2)", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12100, "Length": 180} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "THUMB2_SIZE_REDUCE_NAME", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM"], "File": "Thumb2SizeReduction10", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12101, "Length": 11} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "PredicateFtor", "&&", "!", "PredicateFtor", "(", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "STI", "->", "isThumb1Only", "(", ")", "||", "STI", "->", "prefers32BitThumb", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", "->", "getInstrInfo", "(", ")", ")", ";", "OptimizeSize", "=", "MF", ".", "getFunction", "(", ")", ".", "hasOptSize", "(", ")", ";", "MinimizeSize", "=", "STI", "->", "hasMinSize", "(", ")", ";", "BlockInfo", ".", "clear", "(", ")", ";", "BlockInfo", ".", "resize", "(", "MF", ".", "getNumBlockIDs", "(", ")", ")", ";", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "RPOT", "(", "&", "MF", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "::", "rpo_iterator", "I", "=", "RPOT", ".", "begin", "(", ")", ",", "E", "=", "RPOT", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction10", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12102, "Length": 175} {"ground_truth": ["", "virtual", "const", "char", "*", "getPassName", "(", ")", "const", "{", "return", "\"Thumb2 instruction size reduction pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"Thumb2 instruction size reduction pass\""], "File": "Thumb2SizeReduction14", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12103, "Length": 13} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "I", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM"], "File": "Thumb2SizeReduction14", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12104, "Length": 82} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", "->", "getInstrInfo", "(", ")", ")", ";", "AttributeSet", "FnAttrs", "=", "MF", ".", "getFunction", "(", ")", "->", "getAttributes", "(", ")", ";", "OptimizeSize", "=", "FnAttrs", ".", "hasAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "Attribute", "::", "OptimizeForSize", ")", ";", "MinimizeSize", "=", "FnAttrs", ".", "hasAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "Attribute", "::", "MinSize", ")", ";", "BlockInfo", ".", "clear", "(", ")", ";", "BlockInfo", ".", "resize", "(", "MF", ".", "getNumBlockIDs", "(", ")", ")", ";", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "RPOT", "(", "&", "MF", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "::", "rpo_iterator", "I", "=", "RPOT", ".", "begin", "(", ")", ",", "E", "=", "RPOT", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction15", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12105, "Length": 164} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "STI", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "AttributeSet", "FnAttrs", "=", "MF", ".", "getFunction", "(", ")", "->", "getAttributes", "(", ")", ";", "OptimizeSize", "=", "FnAttrs", ".", "hasAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "Attribute", "::", "OptimizeForSize", ")", ";", "MinimizeSize", "=", "STI", "->", "isMinSize", "(", ")", ";", "BlockInfo", ".", "clear", "(", ")", ";", "BlockInfo", ".", "resize", "(", "MF", ".", "getNumBlockIDs", "(", ")", ")", ";", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "RPOT", "(", "&", "MF", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "::", "rpo_iterator", "I", "=", "RPOT", ".", "begin", "(", ")", ",", "E", "=", "RPOT", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction16", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12106, "Length": 163} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "PredicateFtor", "&&", "!", "PredicateFtor", "(", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "STI", "->", "isThumb1Only", "(", ")", "||", "STI", "->", "prefers32BitThumb", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", "->", "getInstrInfo", "(", ")", ")", ";", "OptimizeSize", "=", "MF", ".", "getFunction", "(", ")", ".", "optForSize", "(", ")", ";", "MinimizeSize", "=", "MF", ".", "getFunction", "(", ")", ".", "optForMinSize", "(", ")", ";", "BlockInfo", ".", "clear", "(", ")", ";", "BlockInfo", ".", "resize", "(", "MF", ".", "getNumBlockIDs", "(", ")", ")", ";", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "RPOT", "(", "&", "MF", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "::", "rpo_iterator", "I", "=", "RPOT", ".", "begin", "(", ")", ",", "E", "=", "RPOT", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction18", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12107, "Length": 179} {"ground_truth": ["", "StringRef", "getPassName", "(", ")", "const", "override", "{", "return", "\"Thumb2 instruction size reduction pass\"", ";", "}", ""], "natrual_language": ["getPassName", "-", "Return", "a", "nice", "clean", "name", "for", "a", "pass", "."], "TS_V_token": ["ARM", "\"Thumb2 instruction size reduction pass\""], "File": "Thumb2SizeReduction19", "Func": "getPassName", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12108, "Length": 11} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "STI", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "AttributeSet", "FnAttrs", "=", "MF", ".", "getFunction", "(", ")", "->", "getAttributes", "(", ")", ";", "OptimizeSize", "=", "FnAttrs", ".", "hasAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "Attribute", "::", "OptimizeForSize", ")", ";", "MinimizeSize", "=", "FnAttrs", ".", "hasAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "Attribute", "::", "MinSize", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "I", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction24", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12109, "Length": 137} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "PredicateFtor", "&&", "!", "PredicateFtor", "(", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "STI", "->", "isThumb1Only", "(", ")", "||", "STI", "->", "prefers32BitThumb", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", "->", "getInstrInfo", "(", ")", ")", ";", "OptimizeSize", "=", "MF", ".", "getFunction", "(", ")", ".", "hasOptSize", "(", ")", ";", "MinimizeSize", "=", "STI", "->", "hasMinSize", "(", ")", ";", "BlockInfo", ".", "clear", "(", ")", ";", "BlockInfo", ".", "resize", "(", "MF", ".", "getNumBlockIDs", "(", ")", ")", ";", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "RPOT", "(", "&", "MF", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "*", "MBB", ":", "RPOT", ")", "Modified", "|=", "ReduceMBB", "(", "*", "MBB", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction25", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12110, "Length": 150} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "PredicateFtor", "&&", "!", "PredicateFtor", "(", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "STI", "=", "&", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "STI", "->", "isThumb1Only", "(", ")", "||", "STI", "->", "prefers32BitThumb", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", "->", "getInstrInfo", "(", ")", ")", ";", "OptimizeSize", "=", "MF", ".", "getFunction", "(", ")", ".", "hasOptSize", "(", ")", ";", "MinimizeSize", "=", "STI", "->", "hasMinSize", "(", ")", ";", "BlockInfo", ".", "clear", "(", ")", ";", "BlockInfo", ".", "resize", "(", "MF", ".", "getNumBlockIDs", "(", ")", ")", ";", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "RPOT", "(", "&", "MF", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineBasicBlock", "*", "MBB", ":", "RPOT", ")", "Modified", "|=", "ReduceMBB", "(", "*", "MBB", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction30", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12111, "Length": 145} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "STI", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "MachineFunction", "::", "iterator", "I", "=", "MF", ".", "begin", "(", ")", ",", "E", "=", "MF", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction37", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12112, "Length": 94} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "PredicateFtor", "&&", "!", "PredicateFtor", "(", "*", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "STI", "->", "isThumb1Only", "(", ")", "||", "STI", "->", "prefers32BitThumb", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", "->", "getInstrInfo", "(", ")", ")", ";", "OptimizeSize", "=", "MF", ".", "getFunction", "(", ")", "->", "hasFnAttribute", "(", "Attribute", "::", "OptimizeForSize", ")", ";", "MinimizeSize", "=", "MF", ".", "getFunction", "(", ")", "->", "hasFnAttribute", "(", "Attribute", "::", "MinSize", ")", ";", "BlockInfo", ".", "clear", "(", ")", ";", "BlockInfo", ".", "resize", "(", "MF", ".", "getNumBlockIDs", "(", ")", ")", ";", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "RPOT", "(", "&", "MF", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "::", "rpo_iterator", "I", "=", "RPOT", ".", "begin", "(", ")", ",", "E", "=", "RPOT", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction40", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12113, "Length": 186} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "STI", "->", "isThumb1Only", "(", ")", "||", "STI", "->", "prefers32BitThumb", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", "->", "getInstrInfo", "(", ")", ")", ";", "OptimizeSize", "=", "MF", ".", "getFunction", "(", ")", "->", "hasFnAttribute", "(", "Attribute", "::", "OptimizeForSize", ")", ";", "MinimizeSize", "=", "MF", ".", "getFunction", "(", ")", "->", "hasFnAttribute", "(", "Attribute", "::", "MinSize", ")", ";", "BlockInfo", ".", "clear", "(", ")", ";", "BlockInfo", ".", "resize", "(", "MF", ".", "getNumBlockIDs", "(", ")", ")", ";", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "RPOT", "(", "&", "MF", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "::", "rpo_iterator", "I", "=", "RPOT", ".", "begin", "(", ")", ",", "E", "=", "RPOT", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction44", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12114, "Length": 168} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "TM", ".", "getSubtargetImpl", "(", ")", "->", "getInstrInfo", "(", ")", ")", ";", "STI", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "AttributeSet", "FnAttrs", "=", "MF", ".", "getFunction", "(", ")", "->", "getAttributes", "(", ")", ";", "OptimizeSize", "=", "FnAttrs", ".", "hasAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "Attribute", "::", "OptimizeForSize", ")", ";", "MinimizeSize", "=", "FnAttrs", ".", "hasAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "Attribute", "::", "MinSize", ")", ";", "BlockInfo", ".", "clear", "(", ")", ";", "BlockInfo", ".", "resize", "(", "MF", ".", "getNumBlockIDs", "(", ")", ")", ";", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "RPOT", "(", "&", "MF", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "::", "rpo_iterator", "I", "=", "RPOT", ".", "begin", "(", ")", ",", "E", "=", "RPOT", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction53", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12115, "Length": 174} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "if", "(", "PredicateFtor", "&&", "!", "PredicateFtor", "(", "MF", ".", "getFunction", "(", ")", ")", ")", "return", "false", ";", "STI", "=", "&", "static_cast", "<", "const", "ARMSubtarget", "&", ">", "(", "MF", ".", "getSubtarget", "(", ")", ")", ";", "if", "(", "STI", "->", "isThumb1Only", "(", ")", "||", "STI", "->", "prefers32BitThumb", "(", ")", ")", "return", "false", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "STI", "->", "getInstrInfo", "(", ")", ")", ";", "OptimizeSize", "=", "MF", ".", "getFunction", "(", ")", ".", "optForSize", "(", ")", ";", "MinimizeSize", "=", "STI", "->", "optForMinSize", "(", ")", ";", "BlockInfo", ".", "clear", "(", ")", ";", "BlockInfo", ".", "resize", "(", "MF", ".", "getNumBlockIDs", "(", ")", ")", ";", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "RPOT", "(", "&", "MF", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "::", "rpo_iterator", "I", "=", "RPOT", ".", "begin", "(", ")", ",", "E", "=", "RPOT", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction65", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12116, "Length": 175} {"ground_truth": ["", "bool", "Thumb2SizeReduce", "::", "runOnMachineFunction", "(", "MachineFunction", "&", "MF", ")", "{", "const", "TargetMachine", "&", "TM", "=", "MF", ".", "getTarget", "(", ")", ";", "TII", "=", "static_cast", "<", "const", "Thumb2InstrInfo", "*", ">", "(", "TM", ".", "getInstrInfo", "(", ")", ")", ";", "STI", "=", "&", "TM", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "AttributeSet", "FnAttrs", "=", "MF", ".", "getFunction", "(", ")", "->", "getAttributes", "(", ")", ";", "OptimizeSize", "=", "FnAttrs", ".", "hasAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "Attribute", "::", "OptimizeForSize", ")", ";", "MinimizeSize", "=", "FnAttrs", ".", "hasAttribute", "(", "AttributeSet", "::", "FunctionIndex", ",", "Attribute", "::", "MinSize", ")", ";", "BlockInfo", ".", "clear", "(", ")", ";", "BlockInfo", ".", "resize", "(", "MF", ".", "getNumBlockIDs", "(", ")", ")", ";", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "RPOT", "(", "&", "MF", ")", ";", "bool", "Modified", "=", "false", ";", "for", "(", "ReversePostOrderTraversal", "<", "MachineFunction", "*", ">", "::", "rpo_iterator", "I", "=", "RPOT", ".", "begin", "(", ")", ",", "E", "=", "RPOT", ".", "end", "(", ")", ";", "I", "!=", "E", ";", "++", "I", ")", "Modified", "|=", "ReduceMBB", "(", "*", "*", "I", ")", ";", "return", "Modified", ";", "}", ""], "natrual_language": ["runOnMachineFunction", "-", "Emit", "the", "function", "body", "."], "TS_V_token": ["ARM", "ARM"], "File": "Thumb2SizeReduction7", "Func": "runOnMachineFunction", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12117, "Length": 170} {"ground_truth": ["", "void", "ThumbRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "DebugLoc", "&", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "STI", ".", "isThumb1Only", "(", ")", ")", "{", "assert", "(", "(", "isARMLowRegister", "(", "DestReg", ")", "||", "isVirtualRegister", "(", "DestReg", ")", ")", "&&", "\"Thumb1 does not have ldr to high register\"", ")", ";", "return", "emitThumb1LoadConstPool", "(", "MBB", ",", "MBBI", ",", "dl", ",", "DestReg", ",", "SubIdx", ",", "Val", ",", "Pred", ",", "PredReg", ",", "MIFlags", ")", ";", "}", "return", "emitThumb2LoadConstPool", "(", "MBB", ",", "MBBI", ",", "dl", ",", "DestReg", ",", "SubIdx", ",", "Val", ",", "Pred", ",", "PredReg", ",", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "ARM", "ARM", "ARM", "\"Thumb1 does not have ldr to high register\""], "File": "ThumbRegisterInfo (2)1", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12118, "Length": 139} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ThumbRegisterInfo", "::", "getLargestLegalSuperClass", "(", "const", "TargetRegisterClass", "*", "RC", ",", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "!", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb1Only", "(", ")", ")", "return", "ARMBaseRegisterInfo", "::", "getLargestLegalSuperClass", "(", "RC", ",", "MF", ")", ";", "if", "(", "ARM", "::", "tGPRRegClass", ".", "hasSubClassEq", "(", "RC", ")", ")", "return", "&", "ARM", "::", "tGPRRegClass", ";", "return", "ARMBaseRegisterInfo", "::", "getLargestLegalSuperClass", "(", "RC", ",", "MF", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "largest", "super", "class", "of", "RC", "that", "is", "legal", "to", "use", "in", "the", "current", "sub-target", "and", "has", "the", "same", "spill", "size", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::tGPRRegClass", "ARM::tGPRRegClass", "ARM"], "File": "ThumbRegisterInfo (2)1", "Func": "getLargestLegalSuperClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12119, "Length": 73} {"ground_truth": ["", "const", "TargetRegisterClass", "*", "ThumbRegisterInfo", "::", "getPointerRegClass", "(", "const", "MachineFunction", "&", "MF", ",", "unsigned", "Kind", ")", "const", "{", "if", "(", "!", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb1Only", "(", ")", ")", "return", "ARMBaseRegisterInfo", "::", "getPointerRegClass", "(", "MF", ",", "Kind", ")", ";", "return", "&", "ARM", "::", "tGPRRegClass", ";", "}", ""], "natrual_language": ["getPointerRegClass", "-", "Returns", "a", "TargetRegisterClass", "used", "for", "pointer", "values", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM::tGPRRegClass"], "File": "ThumbRegisterInfo (2)1", "Func": "getPointerRegClass", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12120, "Length": 50} {"ground_truth": ["", "void", "ThumbRegisterInfo", "::", "resolveFrameIndex", "(", "MachineInstr", "&", "MI", ",", "unsigned", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "const", "MachineFunction", "&", "MF", "=", "*", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", ".", "isThumb1Only", "(", ")", ")", "return", "ARMBaseRegisterInfo", "::", "resolveFrameIndex", "(", "MI", ",", "BaseReg", ",", "Offset", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "rewriteFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "\"Unable to resolve frame index!\""], "File": "ThumbRegisterInfo (2)1", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12121, "Length": 151} {"ground_truth": ["", "bool", "ThumbRegisterInfo", "::", "saveScavengerRegister", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "MachineBasicBlock", "::", "iterator", "&", "UseMI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Reg", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MBB", ".", "getParent", "(", ")", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", ".", "isThumb1Only", "(", ")", ")", "return", "ARMBaseRegisterInfo", "::", "saveScavengerRegister", "(", "MBB", ",", "I", ",", "UseMI", ",", "RC", ",", "Reg", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "DebugLoc", "DL", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "bool", "done", "=", "false", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "II", "=", "I", ";", "!", "done", "&&", "II", "!=", "UseMI", ";", "++", "II", ")", "{", "if", "(", "II", "->", "isDebugInstr", "(", ")", ")", "continue", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "II", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "II", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isRegMask", "(", ")", "&&", "MO", ".", "clobbersPhysReg", "(", "ARM", "::", "R12", ")", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "if", "(", "!", "MO", ".", "isReg", "(", ")", "||", "MO", ".", "isUndef", "(", ")", "||", "!", "MO", ".", "getReg", "(", ")", "||", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "MO", ".", "getReg", "(", ")", ")", ")", "continue", ";", "if", "(", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "R12", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "}", "}", "BuildMI", "(", "MBB", ",", "UseMI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Kill", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Spill", "the", "register", "so", "it", "can", "be", "used", "by", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::tMOVr", "ARM::R12", "ARMCC::AL", "0", "ARM::R12", "ARM::R12", "ARM::tMOVr", "ARM::R12", "ARMCC::AL"], "File": "ThumbRegisterInfo (2)1", "Func": "saveScavengerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12122, "Length": 348} {"ground_truth": ["", "void", "ThumbRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "DebugLoc", "&", "dl", ",", "Register", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "Register", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "STI", ".", "isThumb1Only", "(", ")", ")", "{", "assert", "(", "(", "isARMLowRegister", "(", "DestReg", ")", "||", "DestReg", ".", "isVirtual", "(", ")", ")", "&&", "\"Thumb1 does not have ldr to high register\"", ")", ";", "return", "emitThumb1LoadConstPool", "(", "MBB", ",", "MBBI", ",", "dl", ",", "DestReg", ",", "SubIdx", ",", "Val", ",", "Pred", ",", "PredReg", ",", "MIFlags", ")", ";", "}", "return", "emitThumb2LoadConstPool", "(", "MBB", ",", "MBBI", ",", "dl", ",", "DestReg", ",", "SubIdx", ",", "Val", ",", "Pred", ",", "PredReg", ",", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "ARM", "ARM", "ARM", "\"Thumb1 does not have ldr to high register\""], "File": "ThumbRegisterInfo10", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12123, "Length": 140} {"ground_truth": ["", "void", "ThumbRegisterInfo", "::", "resolveFrameIndex", "(", "MachineInstr", "&", "MI", ",", "Register", "BaseReg", ",", "int64_t", "Offset", ")", "const", "{", "const", "MachineFunction", "&", "MF", "=", "*", "MI", ".", "getParent", "(", ")", "->", "getParent", "(", ")", ";", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", ".", "isThumb1Only", "(", ")", ")", "return", "ARMBaseRegisterInfo", "::", "resolveFrameIndex", "(", "MI", ",", "BaseReg", ",", "Offset", ")", ";", "const", "ARMBaseInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "int", "Off", "=", "Offset", ";", "unsigned", "i", "=", "0", ";", "while", "(", "!", "MI", ".", "getOperand", "(", "i", ")", ".", "isFI", "(", ")", ")", "{", "++", "i", ";", "assert", "(", "i", "<", "MI", ".", "getNumOperands", "(", ")", "&&", "\"Instr doesn't have FrameIndex operand!\"", ")", ";", "}", "bool", "Done", "=", "rewriteFrameIndex", "(", "MI", ",", "i", ",", "BaseReg", ",", "Off", ",", "TII", ")", ";", "assert", "(", "Done", "&&", "\"Unable to resolve frame index!\"", ")", ";", "(", "void", ")", "Done", ";", "}", ""], "natrual_language": ["Resolve", "a", "frame", "index", "operand", "of", "an", "instruction", "to", "reference", "the", "indicated", "base", "register", "plus", "offset", "instead", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM", "0", "\"Instr doesn't have FrameIndex operand!\"", "\"Unable to resolve frame index!\""], "File": "ThumbRegisterInfo10", "Func": "resolveFrameIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12124, "Length": 151} {"ground_truth": ["", "bool", "ThumbRegisterInfo", "::", "useFPForScavengingIndex", "(", "const", "MachineFunction", "&", "MF", ")", "const", "{", "if", "(", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ".", "isThumb1Only", "(", ")", ")", "{", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "the", "target", "wants", "to", "use", "frame", "pointer", "based", "accesses", "to", "spill", "to", "the", "scavenger", "emergency", "spill", "slot", "."], "TS_V_token": ["ARM", "ARM"], "File": "ThumbRegisterInfo10", "Func": "useFPForScavengingIndex", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12125, "Length": 36} {"ground_truth": ["", "bool", "ThumbRegisterInfo", "::", "saveScavengerRegister", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "MachineBasicBlock", "::", "iterator", "&", "UseMI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Reg", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MBB", ".", "getParent", "(", ")", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", ".", "isThumb1Only", "(", ")", ")", "return", "ARMBaseRegisterInfo", "::", "saveScavengerRegister", "(", "MBB", ",", "I", ",", "UseMI", ",", "RC", ",", "Reg", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "DebugLoc", "DL", ";", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "bool", "done", "=", "false", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "II", "=", "I", ";", "!", "done", "&&", "II", "!=", "UseMI", ";", "++", "II", ")", "{", "if", "(", "II", "->", "isDebugValue", "(", ")", ")", "continue", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "II", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "II", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isRegMask", "(", ")", "&&", "MO", ".", "clobbersPhysReg", "(", "ARM", "::", "R12", ")", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "if", "(", "!", "MO", ".", "isReg", "(", ")", "||", "MO", ".", "isUndef", "(", ")", "||", "!", "MO", ".", "getReg", "(", ")", "||", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "MO", ".", "getReg", "(", ")", ")", ")", "continue", ";", "if", "(", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "R12", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "}", "}", "BuildMI", "(", "MBB", ",", "UseMI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Kill", ")", ".", "add", "(", "predOps", "(", "ARMCC", "::", "AL", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Spill", "the", "register", "so", "it", "can", "be", "used", "by", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::tMOVr", "ARM::R12", "ARMCC::AL", "0", "ARM::R12", "ARM::R12", "ARM::tMOVr", "ARM::R12", "ARMCC::AL"], "File": "ThumbRegisterInfo12", "Func": "saveScavengerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12126, "Length": 348} {"ground_truth": ["", "void", "ThumbRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "DebugLoc", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "STI", ".", "isThumb1Only", "(", ")", ")", "{", "assert", "(", "(", "isARMLowRegister", "(", "DestReg", ")", "||", "isVirtualRegister", "(", "DestReg", ")", ")", "&&", "\"Thumb1 does not have ldr to high register\"", ")", ";", "return", "emitThumb1LoadConstPool", "(", "MBB", ",", "MBBI", ",", "dl", ",", "DestReg", ",", "SubIdx", ",", "Val", ",", "Pred", ",", "PredReg", ",", "MIFlags", ")", ";", "}", "return", "emitThumb2LoadConstPool", "(", "MBB", ",", "MBBI", ",", "dl", ",", "DestReg", ",", "SubIdx", ",", "Val", ",", "Pred", ",", "PredReg", ",", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "ARM", "ARM", "ARM", "\"Thumb1 does not have ldr to high register\""], "File": "ThumbRegisterInfo13", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12127, "Length": 137} {"ground_truth": ["", "void", "ThumbRegisterInfo", "::", "emitLoadConstPool", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "&", "MBBI", ",", "const", "DebugLoc", "&", "dl", ",", "unsigned", "DestReg", ",", "unsigned", "SubIdx", ",", "int", "Val", ",", "ARMCC", "::", "CondCodes", "Pred", ",", "unsigned", "PredReg", ",", "unsigned", "MIFlags", ")", "const", "{", "MachineFunction", "&", "MF", "=", "*", "MBB", ".", "getParent", "(", ")", ";", "const", "ARMSubtarget", "&", "STI", "=", "MF", ".", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "STI", ".", "isThumb1Only", "(", ")", ")", "{", "assert", "(", "(", "isARMLowRegister", "(", "DestReg", ")", "||", "Register", "::", "isVirtualRegister", "(", "DestReg", ")", ")", "&&", "\"Thumb1 does not have ldr to high register\"", ")", ";", "return", "emitThumb1LoadConstPool", "(", "MBB", ",", "MBBI", ",", "dl", ",", "DestReg", ",", "SubIdx", ",", "Val", ",", "Pred", ",", "PredReg", ",", "MIFlags", ")", ";", "}", "return", "emitThumb2LoadConstPool", "(", "MBB", ",", "MBBI", ",", "dl", ",", "DestReg", ",", "SubIdx", ",", "Val", ",", "Pred", ",", "PredReg", ",", "MIFlags", ")", ";", "}", ""], "natrual_language": ["emitLoadConstPool", "-", "Emits", "a", "load", "from", "constpool", "to", "materialize", "the", "specified", "immediate", "."], "TS_V_token": ["ARM", "ARMCC::CondCodes", "ARM", "ARM", "ARM", "\"Thumb1 does not have ldr to high register\""], "File": "ThumbRegisterInfo3", "Func": "emitLoadConstPool", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12128, "Length": 141} {"ground_truth": ["", "bool", "ThumbRegisterInfo", "::", "saveScavengerRegister", "(", "MachineBasicBlock", "&", "MBB", ",", "MachineBasicBlock", "::", "iterator", "I", ",", "MachineBasicBlock", "::", "iterator", "&", "UseMI", ",", "const", "TargetRegisterClass", "*", "RC", ",", "unsigned", "Reg", ")", "const", "{", "const", "ARMSubtarget", "&", "STI", "=", "MBB", ".", "getParent", "(", ")", "->", "getSubtarget", "<", "ARMSubtarget", ">", "(", ")", ";", "if", "(", "!", "STI", ".", "isThumb1Only", "(", ")", ")", "return", "ARMBaseRegisterInfo", "::", "saveScavengerRegister", "(", "MBB", ",", "I", ",", "UseMI", ",", "RC", ",", "Reg", ")", ";", "const", "TargetInstrInfo", "&", "TII", "=", "*", "STI", ".", "getInstrInfo", "(", ")", ";", "DebugLoc", "DL", ";", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "I", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Kill", ")", ")", ";", "bool", "done", "=", "false", ";", "for", "(", "MachineBasicBlock", "::", "iterator", "II", "=", "I", ";", "!", "done", "&&", "II", "!=", "UseMI", ";", "++", "II", ")", "{", "if", "(", "II", "->", "isDebugValue", "(", ")", ")", "continue", ";", "for", "(", "unsigned", "i", "=", "0", ",", "e", "=", "II", "->", "getNumOperands", "(", ")", ";", "i", "!=", "e", ";", "++", "i", ")", "{", "const", "MachineOperand", "&", "MO", "=", "II", "->", "getOperand", "(", "i", ")", ";", "if", "(", "MO", ".", "isRegMask", "(", ")", "&&", "MO", ".", "clobbersPhysReg", "(", "ARM", "::", "R12", ")", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "if", "(", "!", "MO", ".", "isReg", "(", ")", "||", "MO", ".", "isUndef", "(", ")", "||", "!", "MO", ".", "getReg", "(", ")", "||", "TargetRegisterInfo", "::", "isVirtualRegister", "(", "MO", ".", "getReg", "(", ")", ")", ")", "continue", ";", "if", "(", "MO", ".", "getReg", "(", ")", "==", "ARM", "::", "R12", ")", "{", "UseMI", "=", "II", ";", "done", "=", "true", ";", "break", ";", "}", "}", "}", "AddDefaultPred", "(", "BuildMI", "(", "MBB", ",", "UseMI", ",", "DL", ",", "TII", ".", "get", "(", "ARM", "::", "tMOVr", ")", ")", ".", "addReg", "(", "Reg", ",", "RegState", "::", "Define", ")", ".", "addReg", "(", "ARM", "::", "R12", ",", "RegState", "::", "Kill", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Spill", "the", "register", "so", "it", "can", "be", "used", "by", "the", "register", "scavenger", "."], "TS_V_token": ["ARM", "ARM", "ARM", "ARM", "ARM::tMOVr", "ARM::R12", "0", "ARM::R12", "ARM::R12", "ARM::tMOVr", "ARM::R12"], "File": "ThumbRegisterInfo", "Func": "saveScavengerRegister", "Target": "ARM", "Target_Clf": "CPU", "Compiler_Type": "LLVM", "Idx": 12129, "Length": 334}