search for: getloc

Displaying 20 results from an estimated 59 matches for "getloc".

2010 Jun 21
2
[LLVMdev] MC: Object file specific parsing
...{ return ParseAssignment(Name); } -/// ParseDirectiveSection: -/// ::= .section identifier (',' identifier)* -/// FIXME: This should actually parse out the segment, section, attributes and -/// sizeof_stub fields. -bool AsmParser::ParseDirectiveDarwinSection() { - SMLoc Loc = Lexer.getLoc(); - - StringRef SectionName; - if (ParseIdentifier(SectionName)) - return Error(Loc, "expected identifier after '.section' directive"); - - // Verify there is a following comma. - if (!Lexer.is(AsmToken::Comma)) - return TokError("unexpected token in '.section&...
2015 Feb 16
2
[LLVMdev] alias result
Oh, got it. Thanks for your explain. I misunderstand what getLocation does. If I would like to get the result of alias analysis referring to the stored value, what should I do in llvm? On 2/16/15 1:42 PM, Hal Finkel wrote: > ----- Original Message ----- >> From: "Haopeng Liu" <hyliuhp at gmail.com> >> To: "Hal Finkel"...
2015 Feb 16
2
[LLVMdev] alias result
...bject: [LLVMdev] alias result >>>> >>>> Hi all, >>>> >>>> I am implementing a pass which needs aliasanalysis in llvm. >>>> >>>> My pass firstly records all store or load instructions as follows: >>>> loc[cnt++] = AA.getLocation(si/li); >>>> >>>> Then, get each pairwise alias result. >>>> AliasAnalysis::AliasResult ar = AA.alias(loc[i], loc[j]); >>>> switch(ar){ case 0,1,2,3;} >>>> >>>> And the command is: opt -load mypass.so -mypass -basicaa test...
2018 Sep 28
3
error: expected memory with 32-bit signed offset
...    ^ test/MC/Mips/loongson3a/valid.s:32:32: error: unexpected token in argument list         gslbx           $2,0($3,$4)                                           ^ So I just changed  MipsAsmParser::parseMemOffset :    if (Parser.getTok().isNot(AsmToken::RParen)) { -    Error(Parser.getTok().getLoc(), "')' expected"); -    return MatchOperand_ParseFail; +    if (hasLoongson3A()) { +      if (Parser.getTok().isNot(AsmToken::Comma)) { +        Error(Parser.getTok().getLoc(), "',' expected"); +    return MatchOperand_ParseFail; +      } + +      Parser.Lex();...
2015 Mar 31
4
[LLVMdev] where should volatileness really live in the AA API?
...are volatile loads in the way. I.E. define i32 @test1(i32* nocapture %p, i32* nocapture %q) { entry: %x = load i32, i32* %p %0 = load volatile i32, i32* %q %y = load i32, i32* %p %add = sub i32 %y, %x ret i32 %add } Currently, getModRefInfo will return Mod for getModRefInfo(%0, AA->getLocation(%y)) This is because it punts on saying anything about ordered loads I can certainly watch for this case in the caller, and ignore it if it's volatile load vs non-volatile load. This is what MemDep does. class Location is theoretically about pointers and sizes, but right now, our struct...
2017 Jun 07
1
Operating on RC in a list
...plyr should be able to work with lists too. Right ? Subject <- setRefClass("Subject", fields = list( id = "numeric", measurement = "Measurement", location = "Location"), methods=list(getmeasurement = function() { measurement }, getid = function() { id }, getlocation = function() { location }, summary = function()#Implement other summary methods in appropriate objects as per their responsibilities { paste("Subject summary ID [",id,"] Location [",location$summary(),"]") },show = function(){ cat("Subject summary ID [",...
2013 Dec 12
3
[LLVMdev] [RFC PATCH 1/2] x86: Fix ModR/M byte output in 16-bit addressing mode
...(Disp.isImm() && isDisp8(Disp.getImm())) { + // Use [REG]+disp8 form if we can, and for [BP] which cannot be encoded. + if (BaseRegNo == N86::EBP || Disp.getImm() != 0) { + EmitByte(ModRMByte(1, RegOpcodeField, RMfield), CurByte, OS); + EmitImmediate(Disp, MI.getLoc(), 1, FK_Data_1, CurByte, OS, Fixups); + return; + } else { + // No displacement + EmitByte(ModRMByte(0, RegOpcodeField, RMfield), CurByte, OS); + return; + } + } + EmitByte(ModRMByte(2, RegOpcodeField, RMfield), CurByte, OS); + } else...
2020 Sep 27
3
How to add a new clang-tidy module
...r::MatchResult &Result) { + // FIXME: Add callback implementation. + const auto *MatchedDecl = Result.Nodes.getNodeAs<FunctionDecl>("x"); + if (!MatchedDecl->getIdentifier() || MatchedDecl->getName().startswith("awesome_")) + return; + diag(MatchedDecl->getLocation(), "function %0 is insufficiently awesome") + << MatchedDecl; + diag(MatchedDecl->getLocation(), "insert 'awesome'", DiagnosticIDs::Note) + << FixItHint::CreateInsertion(MatchedDecl->getLocation(), "awesome_"); +} + +} // names...
2015 Feb 16
2
[LLVMdev] alias result
Hi all, I am implementing a pass which needs aliasanalysis in llvm. My pass firstly records all store or load instructions as follows: loc[cnt++] = AA.getLocation(si/li); Then, get each pairwise alias result. AliasAnalysis::AliasResult ar = AA.alias(loc[i], loc[j]); switch(ar){ case 0,1,2,3;} And the command is: opt -load mypass.so -mypass -basicaa test.bc The store/load in test.bc: (1): store i64* %thd, i64** %t, align 8 //int64 *t = &thd; (...
2017 Dec 15
2
InstAlias with tied operands - can it be supported?
Hello, InstAlias does not allow tied operands (repeated operands) in the asm string to be matched. It seems this situation is explicitly prevented in AsmMatcherEmitter.cpp: if (!Hack) PrintFatalError(TheDef->getLoc(), "ERROR: matchable with tied operand '" + Tok + "' can never be matched!"); // FIXME: Should reject these. The ARM backend hits this with $lane in a // bunch of instructions. It is unclear what the righ...
2015 Feb 16
2
[LLVMdev] alias result
...Sent: Monday, February 16, 2015 12:12:18 PM >> Subject: [LLVMdev] alias result >> >> Hi all, >> >> I am implementing a pass which needs aliasanalysis in llvm. >> >> My pass firstly records all store or load instructions as follows: >> loc[cnt++] = AA.getLocation(si/li); >> >> Then, get each pairwise alias result. >> AliasAnalysis::AliasResult ar = AA.alias(loc[i], loc[j]); >> switch(ar){ case 0,1,2,3;} >> >> And the command is: opt -load mypass.so -mypass -basicaa test.bc >> >> The store/load in test.bc:...
2017 Sep 04
2
Issues in Vector Add Instruction Machine Code Emission
...g operand, it must be a trailing immediate. Emit it // according to the right size for the instruction. Some instructions // (SSE4a extrq and insertq) have two trailing immediates. while (CurOp != NumOps && NumOps - CurOp <= 2) { EmitImmediate(MI.getOperand(CurOp++), MI.getLoc(), X86II::getSizeOfImm(TSFlags), getImmFixupKind(TSFlags), CurByte, OS, Fixups); } here CurOp=2 !=NumOps=3 && 3-2<=2 so while condition is satisfied and it goes to emitimmediate which is wrong and there prints error message. Since, there are...
2011 Jul 21
1
[LLVMdev] AA bug?
...ke a bug. See the line marked by '*' below: AliasAnalysis::ModRefResult AliasAnalysis::getModRefInfo(const VAArgInst *V, const Location &Loc) { // If the va_arg address cannot alias the pointer in question, then the // specified memory cannot be accessed by the va_arg. if (!alias(getLocation(V), Loc)) return NoModRef; // If the pointer is a pointer to constant memory, then it could not have been // modified by this va_arg. if (pointsToConstantMemory(Loc)) return NoModRef; ************* // Otherwise, a va_arg reads and writes. return ModRef; } *...
2015 Feb 13
2
[LLVMdev] SIGILL in regex::assign()
Hi, I have this simple program: #include <regex> int main() { std::regex re; re.assign(std::regex("foo")); // SIGILL return 0; } It runs smoothly if compiled with g++ but raises "illegal instruction" when compiled with clang++: g++ -std=c++11 -O0 -g -o test-g++ test.cpp clang++ -std=c++11 -O0 -g -o test-clang++ test.cpp ptomulik at barakus:$ ./test-g++ ptomulik
2016 Jul 15
2
TableGen change in LLVM 3.9 allows only prefix instruction notation
...s/TableGen/AsmMatcherEmitter.cpp (so it needs to be commented to be disabled): // The first token of the instruction is the mnemonic, which must be a // simple string, not a $foo variable or a singleton register. if (AsmOperands.empty()) PrintFatalError(TheDef->getLoc(), "Instruction '" + TheDef->getName() + "' has no tokens"); assert(!AsmOperands[0].Token.empty()); if (HasMnemonicFirst) { Mnemonic = AsmOperands[0].Token; if (Mnemonic[0] == '$') PrintF...
2016 Dec 07
2
Offset too large on scattered relocations
...too large to fit in a scattered relocation, // we're hosed. It's an unfortunate limitation of the MachO format. if (FixupOffset > 0xffffff) { char Buffer[32]; format("0x%x", FixupOffset).print(Buffer, sizeof(Buffer)); Asm.getContext().reportError(Fixup.getLoc(), Twine("Section too large, can't encode " "r_address (") + Buffer + ") into 24 bits of scattered " "relocation entry."); return false; }...
2007 Nov 19
1
Targets firing out of order
> Example class that brings on this behaviour: > > Class ldap::setup { > $loc = getLocation() #Custom function that returns a location > based on IP address fact > > case $loc { > london: { > $bind = "cn=base,dc=site,dc=com" > notice ("Target 1 - bind - ${bind}") > } > ... >...
2010 Jan 09
0
[LLVMdev] [PATCH] - Union types, attempt 2
...ype(PATypeHolder &Result) { ... + if (!EatIfPresent(lltok::lbrace)) { + return Error(EltTyLoc, "'{' expected after 'union'"); + } Please use: if (ParseToken(lltok::lbrace, "'{' expected after 'union'")) return true; + EltTyLoc = Lex.getLoc(); + if (ParseTypeRec(Result)) return true; + ParamsList.push_back(Result); + + if (Result->isVoidTy()) + return Error(EltTyLoc, "union element can not have void type"); + if (!UnionType::isValidElementType(Result)) + return Error(EltTyLoc, "invalid element type for unio...
2017 Dec 15
0
InstAlias with tied operands - can it be supported?
...at lists.llvm.org> wrote: > > Hello, > > InstAlias does not allow tied operands (repeated operands) in the asm string to be matched. > > It seems this situation is explicitly prevented in AsmMatcherEmitter.cpp: > > if (!Hack) > PrintFatalError(TheDef->getLoc(), > "ERROR: matchable with tied operand '" + Tok + > "' can never be matched!"); > // FIXME: Should reject these. The ARM backend hits this with $lane in a > // bunch of instructions. It is unclear wh...
2010 Aug 21
1
error possibly related to sweave, path, and spaces on windows
...s? Here is the error: > source("D:\\My Documents\\Coombes2\\Scripts\\runAll2.R") Writing to file buildRda.cellLinesFromPredictors.tex Processing code chunks ... 1 : echo term verbatim (label=options) 2 : echo term verbatim (label=invokeMatchPredictors) 3 : echo term verbatim (label=getLocation) 4 : echo term verbatim (label=saveStuff) 5 : echo term verbatim (label=sessionInfo) You can now run LaTeX on 'buildRda.cellLinesFromPredictors.tex' Error in system(paste("C:\\Program Files\\MiKTeX 2.6\\miktex\\bin\\pdflatex", : C:\Program not found Thanks for any help...