similar to: llc -O2 vs. llc -O3 --> same debug-pass=Executions but output.obj differs?

Displaying 20 results from an estimated 1100 matches similar to: "llc -O2 vs. llc -O3 --> same debug-pass=Executions but output.obj differs?"

2020 Aug 11
2
opt - replicating multiple passes from -O3 -debug-pass=Executions
Hello, I am trying to replicate the output from opt -O3 foo.bc -o foo.opt.bc by specifying the individual passes instead of the -O3 flag. Looking at the passes from opt -O3 foo.bc -o foo.bc -debug-pass=Executions it seems there are two passes being run. When I run the flags indicated for the two passes specified in the 'Pass Arguments:' as two sequential opt processes or a single opt
2016 Mar 23
2
Help with pass manager
Sorry in advance for the stupid question, i still don’t understand some concepts like passes. I took a piece of code from llc, and I used it to write a function that creates an object (or assembly) file from an IR module. It compiles without any problems. But program crashes when it reaches add() method of the pass manager. Can you help me figuring out what’s the problem please? here is my
2016 Mar 24
2
Help with pass manager
The stack trace: llvm::PMTopLevelManager::addImmutablePass(llvm::ImmutablePass*) llvm::PMTopLevelManager::schedulePass(llvm::Pass*) moduleToObjectFile(llvm::Module*,std::string&,llvm::LLVMContext&) Sometimes it doesn't crash because TargetRegistry::lookupTarget() returns an error which says it doesn't support the current target > On Mar 24, 2016, at 1:14 AM, Mehdi Amini
2016 Mar 24
2
Help with pass manager
Sorry, that's a pure crash I think, assertions are not triggered. Xcode doesn’t map those 2 functions to line numbers because they’re in precompiled libraries On Mar 24, 2016, at 1:44 AM, Mehdi Amini <mehdi.amini at apple.com <mailto:mehdi.amini at apple.com>> wrote: > >> On Mar 23, 2016, at 5:41 PM, Lorenzo Laneve <lore97drk at icloud.com <mailto:lore97drk at
2016 Mar 24
2
Help with pass manager
I’m using LLVM 3.8.0, and no, it’s the precompiled version That’s why it doesn’t give me enough info for debug > On 24 Mar 2016, at 1:53 AM, Mehdi Amini <mehdi.amini at apple.com> wrote: > > This code path is not likely to crash usually. Did you build LLVM yourself? Which version are you using and can you reduce the test case to be "minimal" so that someone can
2016 Mar 24
0
Help with pass manager
Assuming you are talking about this line: passmanager.add(tliwp); I don't see anything obviously wrong. Are you hitting an assertion or a pure crash? (if LLVM not built with assertions, please rebuild). What does your debugger gives you as a stracktrace? -- Mehdi > On Mar 23, 2016, at 3:44 PM, Lorenzo Laneve via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Sorry in
2016 Mar 24
2
Help with pass manager
You may want to try adding this code (copy/pasted from llc.cpp): // Initialize targets first, so that --version shows registered targets. InitializeAllTargets(); InitializeAllTargetMCs(); InitializeAllAsmPrinters(); InitializeAllAsmParsers(); // Initialize codegen and IR passes used by llc so that the -print-after, // -print-before, and -stop-after options work. PassRegistry
2016 Mar 24
0
Help with pass manager
> On Mar 23, 2016, at 5:41 PM, Lorenzo Laneve <lore97drk at icloud.com> wrote: > > The stack trace: > llvm::PMTopLevelManager::addImmutablePass(llvm::ImmutablePass*) > llvm::PMTopLevelManager::schedulePass(llvm::Pass*) > moduleToObjectFile(llvm::Module*,std::string&,llvm::LLVMContext&) Without mapping to line numbers this is not very helpful: moduleToObjectFile
2016 Mar 24
2
Help with pass manager
So we come back to my earlier comment: can you produce a one-file, < 100 lines that reproduce the issue? -- Mehdi > On Mar 24, 2016, at 10:16 AM, Lorenzo Laneve <lore97drk at icloud.com> wrote: > > Those lines of code are in a function that is called before calling the moduleToObjectFile() function > > On Mar 24, 2016, at 6:07 PM, Mehdi Amini <mehdi.amini at
2016 Mar 24
0
Help with pass manager
This code path is not likely to crash usually. Did you build LLVM yourself? Which version are you using and can you reduce the test case to be "minimal" so that someone can reproduce? (for instance you don't need a module to create a pass manager) -- Mehdi > On Mar 23, 2016, at 5:50 PM, Lorenzo Laneve <lore97drk at icloud.com> wrote: > > Sorry, that's a pure
2016 Mar 24
0
Help with pass manager
Update: Sorry my bad. I built llvm and tried it with debugging version. It was an assertion (IR/LegacyPassManager.cpp:764) saying that it expects all immutable passes to be initialized. > On Mar 24, 2016, at 2:00 AM, Lorenzo Laneve <lore97drk at icloud.com> wrote: > > I’m using LLVM 3.8.0, and no, it’s the precompiled version > That’s why it doesn’t give me enough info for
2016 Mar 24
0
Help with pass manager
Those lines of code are in a function that is called before calling the moduleToObjectFile() function > On Mar 24, 2016, at 6:07 PM, Mehdi Amini <mehdi.amini at apple.com> wrote: > > You may want to try adding this code (copy/pasted from llc.cpp): > > // Initialize targets first, so that --version shows registered targets. > InitializeAllTargets(); >
2016 Mar 24
0
Help with pass manager
The problems happens because PMTopLevelManager::findAnalysisPassInfo(AnalysisID AID) returns nullptr in PMTopLevelManager::addImmutablePass(ImmutablePass *P). This because PassRegistry::getPassRegistry()->getPassInfo(AID) call in it returns nullptr as well. Should I probably register the pass I want to add with PassRegistry::registerPass(const PassInfo &PI, bool ShouldFree) ? I didn’t do it
2016 Mar 30
1
Help with pass manager
Passes all need to be initialized before they are added into a pass manager. Are you calling TargetLibraryInfoWrapperPass::initializePass anywhere? -Chris > On Mar 24, 2016, at 10:41 AM, Lorenzo Laneve via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > The problems happens because PMTopLevelManager::findAnalysisPassInfo(AnalysisID AID) returns nullptr in
2020 Jul 03
2
flags to reproduce clang -O3 with opt -O3
Awesome, thanks! I'd like to have the last step (llc in your example) not perform additional optimization passes, such as O3, and simply use the O3 pass from opt in the previous line. Do you happen to know if I should use 'llc -O0 foo_o.bc -o foo.exe' instead to achieve this? On Thu, Jul 2, 2020 at 6:35 PM Mehdi AMINI <joker.eph at gmail.com> wrote: > > > On Thu,
2020 Jul 02
2
flags to reproduce clang -O3 with opt -O3
Hello, I've been trying to figure out how to reproduce the results of a single clang -O3 compilation to a binary with a multi-step process using opt. Specifically I have: clang -O3 foo.c -o foo.exe which I want to replicate with: clang -O0 -c -emit-llvm foo.c opt -O3 foo.bc -o foo_o.bc clang foo_o.bc -o foo.exe Any hints / suggestions on what additional flags I need to produce the same
2011 Mar 11
3
.Library in R 2.12.2 for windows
I installed a custom package which needs to know its own location on the disk. (It runs an executable that is included in the package.) In version 2.11.1 the .Library command gave me the necessary information. It returned the path C:\Program Files\R\R-2.11.1\library. I have noticed that in the 2.12.2 newly installed libraries are installed to something like C:\Documents and Settings\user\My
2004 May 05
0
[LLVMdev] opt, llcc, ll++, -O1, -O2, -O3
Valery A.Khamenya wrote: >>For example: >>$ llvmgcc ackerman.c -o ackerman -Wl,-native-cbe > > > BTW, Chris, what should be then an analogy > of "gcc -O3 -S foo.c" in LLVM framework? > > The invocation of > > $ llvmgcc -S ackerman.c -o ackerman -Wl,-native-cbe > > does not produce native assebler output as one might expect.
2009 Feb 24
1
[LLVMdev] -O2, -O3 in JIT
Hi, Does anyone know an easy way to do same optimisations as 'opt -O2' or 'opt -O3' in the JIT. I can do the tedious way: pass_manager->add(createInstructionCombiningPass()); pass_manager->add(createGVNPass()); etc. etc. but I would rather reuse the code in 'opt' to manage the passes. Cheers, Mark. -------------- next part -------------- A non-text
2009 Mar 12
0
[LLVMdev] opt -O2/-O3 does not Initialize pass?
Anthony Danalis wrote: > Hello, > > I'm writing a pass that adds a function prototype to the module during > doInitialization() and stores the pointer in a global variable. If I > run opt with "-O1" or less, everything works fine. However, If I call > opt with "-O2" or "-O3" then as soon as runOnFunction() is called, the > pointer