Displaying 20 results from an estimated 114 matches for "report_fatal_error".
2017 Jul 27
2
llvm 5.0 release rc1 : ExecutionEngine fatal error on MCJIT::getFunctionAddress
...ly) { std::string MangledName; { raw_string_ostream
MangledNameStream(MangledName);
Mangler::getNameWithPrefix(MangledNameStream, Name, getDataLayout()); }
if (auto Sym = findSymbol(MangledName, CheckFunctionsOnly)) { if (auto
AddrOrErr = Sym.getAddress()) return *AddrOrErr; else {
report_fatal_error(AddrOrErr.takeError()); } } else {
report_fatal_error(Sym.takeError()); }}*
If the function findSymbol return nullptr, we are executing
report_fatal_error and kill everything :(
What is the reason for this change? Is this a bug?
If this is intended, how can we check from the ExecutionEngine...
2015 Aug 22
2
SSE return w/ elf64 ABI
.../show_bug.cgi?id=23203
Report of rust bug: https://github.com/rust-lang/rust/issues/26449
Discussion on why Rust doesn't want to fix (a refused patch to libcore):
https://github.com/rust-lang/rust/pull/26749
The error is coming from one of these files:
lib/Target/X86/X86FastISel.cpp:3166: report_fatal_error("SSE register
return with SSE disabled");
lib/Target/X86/X86ISelLowering.cpp:2107: report_fatal_error("SSE
register return with SSE disabled");
lib/Target/X86/X86ISelLowering.cpp:2261: report_fatal_error("SSE
register return with SSE disabled");
test/CodeGen/...
2015 Jan 23
2
[LLVMdev] Fwd: Bitcode abbreviations for something that's not a record
Ok, I'll submit a patch to turn that into a report_fatal_error saying you
can't start an abbrev with an array or blob.
Thanks,
Filipe
F
On Fri, Jan 23, 2015 at 2:12 PM, Rafael Espíndola <
rafael.espindola at gmail.com> wrote:
> The restriction looks reasonable: A record starts with a code. The code
> can be encoded as a literal or be p...
2016 Mar 21
2
Need help with code generation
...signed").
> For example the fact that clang forks itself to be able to report diagnostics
That seems like just trying to make our own job easier to me. I think
the entire point of the fork is to get a backtrace we can fix, and
point out where the user should send it.
> llvm is full of report_fatal_error() (or worse, assertions that can fire on unexpected user input).
A bit of a grey area since LLVM isn't itself a user-facing tool, but I
think I'd still say that a report_fatal_error that's not actionable by
the user is actually an LLVM bug. And a segfault definitely so.
Cheers.
Tim.
2020 Mar 23
4
[RFC] Coding standard for error/warning messages
...usage, there are 3 other
kinds of errors that are widely used, with the following output styles:
Assertion failures:
Assertion failed: false && "this is the message", file <filepath>
llvm_unreachable failures:
this is the message
UNREACHABLE executed at <filepath>
report_fatal_error failures:
LLVM ERROR: this is the message
Looking at the existing output, and how they are used, I think
llvm_unreachable and assertions do not need standardising, since they are
purely for internal usage, whilst report_fatal_error should be standardised
to the same as other normal errors (i.e. l...
2016 Mar 21
7
Need help with code generation
...elf to be able to report
> diagnostics
> >
> > That seems like just trying to make our own job easier to me. I think
> > the entire point of the fork is to get a backtrace we can fix, and
> > point out where the user should send it.
> >
> >> llvm is full of report_fatal_error() (or worse, assertions that can
> fire on unexpected user input).
> >
> > A bit of a grey area since LLVM isn't itself a user-facing tool, but I
> > think I'd still say that a report_fatal_error that's not actionable by
> > the user is actually an LLVM bug. A...
2010 Jul 20
0
[LLVMdev] MC-JIT
...setCodeModelForStatic();
For the JIT, this should be setCodeModelForJIT; it makes a difference
on, for example, x86-64. I'd also suggest changing the name of the
method appropriately.
- llvm::OwningPtr<MCObjectWriter> Writer(getBackend().createObjectWriter(OS));
- if (!Writer)
- report_fatal_error("unable to create object writer!");
+ MCObjectWriter *Writer = Writer_;
+ if (Writer == 0) {
+ Writer = getBackend().createObjectWriter(OS);
+ if (!Writer)
+ report_fatal_error("unable to create object writer!");
+ }
It would be cleaner if you kept around...
2016 Mar 21
3
Need help with code generation
...; >
> >> > That seems like just trying to make our own job easier to me. I think
> >> > the entire point of the fork is to get a backtrace we can fix, and
> >> > point out where the user should send it.
> >> >
> >> >> llvm is full of report_fatal_error() (or worse, assertions that can
> fire on unexpected user input).
> >> >
> >> > A bit of a grey area since LLVM isn't itself a user-facing tool, but I
> >> > think I'd still say that a report_fatal_error that's not actionable by
> >> >...
2010 Jul 20
2
[LLVMdev] MC-JIT
...or the JIT, this should be setCodeModelForJIT; it makes a difference
> on, for example, x86-64. I'd also suggest changing the name of the
> method appropriately.
>
> - llvm::OwningPtr<MCObjectWriter> Writer(getBackend().createObjectWriter(OS));
> - if (!Writer)
> - report_fatal_error("unable to create object writer!");
> + MCObjectWriter *Writer = Writer_;
> + if (Writer == 0) {
> + Writer = getBackend().createObjectWriter(OS);
> + if (!Writer)
> + report_fatal_error("unable to create object writer!");
> + }
>
>...
2020 Aug 28
2
End-to-end -fembed-bitcode .llvmbc and .llvmcmd
...(Buffer.getBufferStart());
const unsigned char *EndBufPtr =
reinterpret_cast<const unsigned char *>(Buffer.getBufferEnd());
if (isBitcodeWrapper(BufPtr, EndBufPtr)) {
const unsigned char *FixedBufPtr = BufPtr;
if (SkipBitcodeWrapperHeader(FixedBufPtr, EndBufPtr, true))
report_fatal_error("Invalid bitcode wrapper");
return EndBufPtr - BufPtr;
}
if (!isRawBitcode(BufPtr, EndBufPtr))
report_fatal_error("Invalid magic bytes; not a bitcode file?");
BitstreamCursor Reader(Buffer);
Reader.Read(32); // skip signature
while (true) {
size_t EntrySt...
2016 Nov 16
4
[RFC] Runtime checks for ABI breaking build of LLVM
...ks(true);
+#else
+bool ABICheckDisabled = setABIBreakingChecks(true);
+#endif
+}
+#endif
+
#endif
diff --git a/llvm/lib/Support/Error.cpp b/llvm/lib/Support/Error.cpp
index 7436a1fd38ee..151fcdcbfb27 100644
--- a/llvm/lib/Support/Error.cpp
+++ b/llvm/lib/Support/Error.cpp
@@ -112,3 +112,17 @@ void report_fatal_error(Error Err, bool GenCrashDiag) {
}
}
+
+
+bool llvm::setABIBreakingChecks(bool Enabled) {
+ static char abi_breaking_checks_enabled = 0;
+ static char abi_breaking_checks_disabled = 0;
+ if (Enabled)
+ abi_breaking_checks_enabled = 1;
+ else
+ abi_breaking_checks_disabled = 1;
+ if (a...
2015 Jan 23
2
[LLVMdev] Fwd: Bitcode abbreviations for something that's not a record
...f0fa38c2687c65b2bcea5c/),
which took the code to read the first argument and put it outside of the
loop, but didn't take the Array/Blob verification + reading code too (It's
a bug because that commit was supposed to not have changed functionality
:-) ).
This could be “fixed” with, either a report_fatal_error (if we eventually
have better error handling on that code, we can make that non-fatal and
report to the caller), or by hoisting the Array/Blob reading code out of
the loop too (actually, write a helper function).
What should be done about this?
Thanks,
Filipe
-------------- next part ---------...
2010 Jul 21
0
[LLVMdev] MC-JIT
...+
-void MCAssembler::Finish() {
+void MCAssembler::Finish(MCObjectWriter *Writer_) {
Why two variables Writer_ and Writer? I don't know of any rules against
modifying parameters.
...
- llvm::OwningPtr<MCObjectWriter> Writer(getBackend().createObjectWriter(OS));
- if (!Writer)
- report_fatal_error("unable to create object writer!");
+
+ llvm::OwningPtr<MCObjectWriter> OwnWriter(0);
+ MCObjectWriter *Writer = Writer_;
+ if (Writer == 0) {
+ //no custom Writer_ : create the default one life-managed by OwningPtr
+ OwnWriter.reset(getBackend().createObjectWriter(OS));
+...
2016 Mar 21
2
Need help with code generation
...t;> >
>>> > That seems like just trying to make our own job easier to me. I think
>>> > the entire point of the fork is to get a backtrace we can fix, and
>>> > point out where the user should send it.
>>> >
>>> >> llvm is full of report_fatal_error() (or worse, assertions that can
>>> fire on unexpected user input).
>>> >
>>> > A bit of a grey area since LLVM isn't itself a user-facing tool, but I
>>> > think I'd still say that a report_fatal_error that's not actionable by
>>>...
2017 Aug 26
2
Unaligned atomic load/store
...%"atomic::AtomicI16", %"atomic::AtomicI16"* %0, i16 0, i32 0, i32 0
%2 = load atomic i16, i16* %1 seq_cst, align 1
ret void
}
This trips up the following assertion in CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:
if (I.getAlignment() < VT.getSizeInBits() / 8)
report_fatal_error("Cannot generate unaligned atomic load");
I've tried commenting out the check and llc finishes, generating
not-obviously-wrong machine code, so there doesn't seem to be anything
further downstream breaking because of this.
So my questions are:
* What is the purpose of this a...
2013 Dec 03
2
[LLVMdev] Reporting errors when applying fixups
...error if a fixup cannot be applied because, for example, the destination of a branch is out of range?
I suppose I could use asserts just like AArch64 is doing but that won't stop the assembler of emitting a branch to an undesired location in release builds.
Does anyone see any problem in using report_fatal_error to report errors in the target Asm backend ?
Regards,
Matheus
Matheus Almeida
MIPS processor IP
www.imgtec.com<http://www.imgtec.com/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131203/0be6607c/...
2016 Mar 21
1
Need help with code generation
...an important part.
>
>
> My understanding is that clang and llvm themselves are designed this way
> (crash when the unexpected happens). For example the fact that clang forks
> itself to be able to report diagnostics is a good indication that this is
> assumed, and llvm is full of report_fatal_error() (or worse, assertions
> that can fire on unexpected user input).
>
So far as I know, any place where LLVM asserts on user input is a bug -
maybe not a high priority bug in some cases, maybe a difficult bug in some
cases, but a bug.
report_fatal_error is a bit of a wart, to be sure (but th...
2016 Nov 16
2
[RFC] Runtime checks for ABI breaking build of LLVM
...t;> +}
>> +#endif
>> +
>> #endif
>> diff --git a/llvm/lib/Support/Error.cpp b/llvm/lib/Support/Error.cpp
>> index 7436a1fd38ee..151fcdcbfb27 100644
>> --- a/llvm/lib/Support/Error.cpp
>> +++ b/llvm/lib/Support/Error.cpp
>> @@ -112,3 +112,17 @@ void report_fatal_error(Error Err, bool GenCrashDiag) {
>> }
>>
>> }
>> +
>> +
>> +bool llvm::setABIBreakingChecks(bool Enabled) {
>> + static char abi_breaking_checks_enabled = 0;
>> + static char abi_breaking_checks_disabled = 0;
>> + if (Enabled)
>> + a...
2020 Aug 28
4
End-to-end -fembed-bitcode .llvmbc and .llvmcmd
...har *EndBufPtr =
>> reinterpret_cast<const unsigned char *>(Buffer.getBufferEnd());
>> if (isBitcodeWrapper(BufPtr, EndBufPtr)) {
>> const unsigned char *FixedBufPtr = BufPtr;
>> if (SkipBitcodeWrapperHeader(FixedBufPtr, EndBufPtr, true))
>> report_fatal_error("Invalid bitcode wrapper");
>> return EndBufPtr - BufPtr;
>> }
>>
>> if (!isRawBitcode(BufPtr, EndBufPtr))
>> report_fatal_error("Invalid magic bytes; not a bitcode file?");
>>
>> BitstreamCursor Reader(Buffer);
>>...
2020 Feb 04
3
Reporting source errors from MCCodeEmitter::encodeInstruction() ?
...methods
and tablegen). Emitting diagnostics through
SourceManager::PrintMessage() "works" in the limited sense of
communicating the problem to a human, however it doesn't prevent
generation of an incorrect output file or change the process exit
code.
We'd prefer not to resort to report_fatal_error() since that isn't a
polite way to diagnose problems in the source.
Is there a sensible way to properly signal a source error from the
level of encodeInstruction()? Or is it expected that all such errors
are reported earlier?