Displaying 20 results from an estimated 5000 matches similar to: "Undefined behaviour in command line parser"
2016 Mar 27
0
Undefined behaviour in command line parser
Hi Lorenzo,
Thanks for the report. Can you create a new entry in Bugzilla? With
steps to reproduce (command line options, etc) and how you're getting
the value of the triple (debugger?).
http://llvm.org/bugs/
cheers,
--renato
On 27 March 2016 at 17:15, Lorenzo Laneve via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> In these days I’ve integrated llc code into my compiler.
>
2016 Mar 27
1
Undefined behaviour in command line parser
Done, I added as much info as I could that describes how I got that behavior.
> On Mar 27, 2016, at 7:40 PM, Renato Golin <renato.golin at linaro.org> wrote:
>
> Hi Lorenzo,
>
> Thanks for the report. Can you create a new entry in Bugzilla? With
> steps to reproduce (command line options, etc) and how you're getting
> the value of the triple (debugger?).
>
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
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
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
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
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
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 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
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 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
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
> 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 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
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 19
3
Need help with code generation
I'd like to make my compiler independent, just like Clang. Doesn't Clang call llc and then system's ld by itself? I don't want my compiler to depend by any other program.
I guess there will be a class in the llvm library that generates the object files based on the system's triple and data layout, and then call the system's ld?
> On Mar 19, 2016, at 11:48 AM, Bruce
2016 Jul 19
5
A "Java Backend"
My idea was to create a complete backend treating Java as a normal platform, to enable LLVM to compile programs to Java Bytecode (.class) and Java Archive files (.jar). This could be useful in situations where we need to compile a program for a platform still not natively supported by LLVM.
I don't know if it exists already, I've heard about this "LLJVM" but I don't think it
2016 Mar 20
2
Need help with code generation
Adding back the "all recipients" - sorry, sending message from my phone, I
forgot...
Since my runtime is for a Pascal compiler, it has to "adapt" the C startup
into a suitable Pascal environment. This means running the init portion of
other modules as well as discarding the argc, argv arguments. So, I have a
C main, which calls __PascalMain, which is the "main" for
2016 Mar 21
2
Need help with code generation
On Sat, Mar 19, 2016 at 9:51 PM, James Molloy via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hi Lorenzo,
>
> Clang doesn't call llc; LLVM is compiled into Clang. Clang does call the
> system linker though.
>
> Making your compiler generate *object* code is very simple. Making it
> fixup that object code and execute it in memory (JIT style) is also simple.
>
2016 Mar 19
2
Need help with code generation
If you plan on calling C runtime library functions, you probably want to do
what I did:
Cheat, and make a libruntime.a (with C functions to do stuff your compiler
can't do natively) and then link that using clang or gcc.
https://github.com/Leporacanthicus/lacsap/blob/master/binary.cpp#L124
At some point, I plan to replace my runtime library with native Pascal
code, at which point I will be