search for: llvm_unreachable

Displaying 20 results from an estimated 191 matches for "llvm_unreachable".

2011 Mar 12
4
[LLVMdev] [patch] Change llvm_unreachable to use __builtin_unreachable() in -asserts
This patch implements the current consensus of PR8973: http://llvm.org/bugs/show_bug.cgi?id=8973. The macro llvm_unreachable is used in LLVM to indicate that a particular place in a function is not supposed to be reachable during execution. Like an assert macro, it takes a string argument. In +Asserts builds, this string argument, together with some location information, is passed to a function which prints the informa...
2011 Dec 01
3
[LLVMdev] anchoring explicit template instantiations
...+294,7 @@ static inline bool ProvideOption(Option *Handler, StringRef ArgName, break; default: - errs() << ProgramName - << ": Bad ValueMask flag! CommandLine usage error:" - << Handler->getValueExpectedFlag() << "\n"; - llvm_unreachable(0); + llvm_unreachable("Bad ValueMask flag!"); } and --- a/lib/Support/APInt.cpp +++ b/lib/Support/APInt.cpp @@ -1440,16 +1440,14 @@ APInt APInt::sqrt() const { APInt nextSquare((x_old + 1) * (x_old +1)); if (this->ult(square)) return x_old; - else if (this->ule...
2011 Mar 12
0
[LLVMdev] [patch] Change llvm_unreachable to use __builtin_unreachable() in -asserts
Hi John, > This patch implements the current consensus of PR8973: > http://llvm.org/bugs/show_bug.cgi?id=8973. > > The macro llvm_unreachable is used in LLVM to indicate that > a particular place in a function is not supposed to be reachable > during execution. Like an assert macro, it takes a string > argument. In +Asserts builds, this string argument, together with > some location information, is passed to a function which...
2011 Mar 12
3
[LLVMdev] [patch] Change llvm_unreachable to use __builtin_unreachable() in -asserts
On 12.03.2011, at 11:17, Duncan Sands wrote: > Hi John, > >> This patch implements the current consensus of PR8973: >> http://llvm.org/bugs/show_bug.cgi?id=8973. >> >> The macro llvm_unreachable is used in LLVM to indicate that >> a particular place in a function is not supposed to be reachable >> during execution. Like an assert macro, it takes a string >> argument. In +Asserts builds, this string argument, together with >> some location information, is passed to a...
2011 Dec 01
0
[LLVMdev] anchoring explicit template instantiations
...ption(Option *Handler, > StringRef ArgName, > break; > > default: > - errs() << ProgramName > - << ": Bad ValueMask flag! CommandLine usage error:" > - << Handler->getValueExpectedFlag() << "\n"; > - llvm_unreachable(0); > + llvm_unreachable("Bad ValueMask flag!"); This patch would lose the expected flag value, which is unfortunate. > +++ b/lib/Support/APInt.cpp > @@ -1440,16 +1440,14 @@ APInt APInt::sqrt() const { > APInt nextSquare((x_old + 1) * (x_old +1)); > if (this->ul...
2011 Mar 12
1
[LLVMdev] [patch] Change llvm_unreachable to use __builtin_unreachable() in -asserts
This patch implements the current consensus of PR8973: http://llvm.org/bugs/show_bug.cgi?id=8973. The macro llvm_unreachable is used in LLVM to indicate that a particular place in a function is not supposed to be reachable during execution. Like an assert macro, it takes a string argument. In +Asserts builds, this string argument, together with some location information, is passed to a function which prints the informa...
2011 Mar 12
0
[LLVMdev] [patch] Change llvm_unreachable to use __builtin_unreachable() in -asserts
...ement to what we can effectively express to help the compiler optimize more effectively. Thanks for doing this. -Jim On Mar 11, 2011, at 6:55 PM, John McCall wrote: > This patch implements the current consensus of PR8973: > http://llvm.org/bugs/show_bug.cgi?id=8973. > > The macro llvm_unreachable is used in LLVM to indicate that > a particular place in a function is not supposed to be reachable > during execution. Like an assert macro, it takes a string > argument. In +Asserts builds, this string argument, together with > some location information, is passed to a function whic...
2011 Mar 12
0
[LLVMdev] [patch] Change llvm_unreachable to use __builtin_unreachable() in -asserts
Hi Sebastian, >>> This patch implements the current consensus of PR8973: >>> http://llvm.org/bugs/show_bug.cgi?id=8973. >>> >>> The macro llvm_unreachable is used in LLVM to indicate that >>> a particular place in a function is not supposed to be reachable >>> during execution. Like an assert macro, it takes a string >>> argument. In +Asserts builds, this string argument, together with >>> some location information...
2011 Dec 01
2
[LLVMdev] anchoring explicit template instantiations
...StringRef ArgName, >>     break; >> >>   default: >> -    errs() << ProgramName >> -         << ": Bad ValueMask flag! CommandLine usage error:" >> -         << Handler->getValueExpectedFlag() << "\n"; >> -    llvm_unreachable(0); >> +    llvm_unreachable("Bad ValueMask flag!"); > > This patch would lose the expected flag value, which is unfortunate. It is unfortunate - though I'm not sure whether you're suggesting that the change should be made anyway, or not. I'd say the whole unreac...
2020 Mar 23
4
[RFC] Coding standard for error/warning messages
...would you prefer to see? As well as "regular" errors you'll see in typical 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,...
2016 Mar 28
2
Ignoring coverage for noreturn decls
Hi all, Recently I’ve noticed in coverage profiles that llvm_unreachable and the like are considered uncovered because there’s no special behavior in instrumentation to ‘ignore’ noreturn paths. While I don’t necessarily think it’s ideal to ignore all noreturn decls, I think there’s definitely room for some heuristics around ignoring things like llvm_unreachable (perhap...
2016 Mar 29
0
Ignoring coverage for noreturn decls
+ cfe-dev > On Mar 28, 2016, at 1:23 PM, Harlan Haskins via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Hi all, > > Recently I’ve noticed in coverage profiles that llvm_unreachable and the like are considered uncovered because there’s no special behavior in instrumentation to ‘ignore’ noreturn paths. FWIW, Daniel Dunbar and a few others have brought up the lack of a flexible "suppress coverage" mechanism as a pain-point. There are two separate but related solution...
2011 Dec 01
0
[LLVMdev] anchoring explicit template instantiations
On Nov 29, 2011, at 12:26 AM, David Blaikie wrote: > For a bit of an experiment I've been trying to compile LLVM & Clang > with -Weverything (disabling any errors that seem like more noise/less > interesting). One warning I've recently hit a few instances of is > -Wweak-vtable which is, in fact, an explicitly documented LLVM coding > standard (
2011 Dec 01
0
[LLVMdev] anchoring explicit template instantiations
...gt; break; >>> >>> default: >>> - errs() << ProgramName >>> - << ": Bad ValueMask flag! CommandLine usage error:" >>> - << Handler->getValueExpectedFlag() << "\n"; >>> - llvm_unreachable(0); >>> + llvm_unreachable("Bad ValueMask flag!"); >> >> This patch would lose the expected flag value, which is unfortunate. > > It is unfortunate - though I'm not sure whether you're suggesting that > the change should be made anyway, or not. &...
2020 Apr 06
2
F18 ready to be merged + preview of merge
...ol alignment of code. We have not come to an agreement as a community on the best way forward here. This flang-dev thread<http://lists.llvm.org/pipermail/flang-dev/2020-March/000243.html> summarises the debate. We would like to continue this debate after F18 becomes part of the monorepo. [2] llvm_unreachable Previously we stated that we would try to use llvm_unreachable in F18 whenever possible. Presently, F18 has a similar function called die, but this is used to cover multiple run-time error cases only some of which should be covered by llvm_unreachable. We would like to handle all cases together whi...
2011 Nov 29
2
[LLVMdev] anchoring explicit template instantiations
For a bit of an experiment I've been trying to compile LLVM & Clang with -Weverything (disabling any errors that seem like more noise/less interesting). One warning I've recently hit a few instances of is -Wweak-vtable which is, in fact, an explicitly documented LLVM coding standard ( http://llvm.org/docs/CodingStandards.html#ll_virtual_anch ). Some instances of this have been easy to
2013 Nov 18
3
[LLVMdev] possible thumb bug in constant islands
...lled in the epilogue, then we can use BL to implement a far jump. /// Otherwise, add an intermediate branch instruction to a branch. bool ARMConstantIslands::fixupUnconditionalBr(ImmBranch &Br) { MachineInstr *MI = Br.MI; MachineBasicBlock *MBB = MI->getParent(); if (!isThumb1) llvm_unreachable("fixupUnconditionalBr is Thumb1 only!"); // Use BL to implement far jump. Br.MaxDisp = (1 << 21) * 2; MI->setDesc(TII->get(ARM::tBfar)); BBInfo[MBB->getNumber()].Size += 2; adjustBBOffsetsAfter(MBB); HasFarJump = true; ++NumUBrFixed; DEBUG(dbgs() &...
2020 Apr 07
3
F18 ready to be merged + preview of merge
...ol alignment of code. We have not come to an agreement as a community on the best way forward here. This flang-dev thread<http://lists.llvm.org/pipermail/flang-dev/2020-March/000243.html> summarises the debate. We would like to continue this debate after F18 becomes part of the monorepo. [2] llvm_unreachable Previously we stated that we would try to use llvm_unreachable in F18 whenever possible. Presently, F18 has a similar function called die, but this is used to cover multiple run-time error cases only some of which should be covered by llvm_unreachable. We would like to handle all cases together whi...
2011 Oct 18
4
[LLVMdev] Question about MCExpr and subclasses
I have a question about MCExpr and its subclasses defined in MCExpr.h. I am trying to get Mips' direct object emission working. Line 283 of MCElfStreamer.cpp reads like this: 00283 case MCExpr::Target: llvm_unreachable("Can't handle target exprs yet!"); Does this mean that if I use a subclass of MCTargetExpr to lower MachineOperands to MCOperands, it won't work? Currently, symbol operands are lowered to MipsMCSymbolRefExpr (a subclass of MCTargetExpr) objects.
2020 Apr 07
3
F18 ready to be merged + preview of merge
...o an agreement as a community on the best way forward here. > This flang-dev thread > <http://lists.llvm.org/pipermail/flang-dev/2020-March/000243.html> > summarises the debate. We would like to continue this debate after F18 > becomes part of the monorepo. > > > > [2] llvm_unreachable > > Previously we stated that we would try to use llvm_unreachable in F18 > whenever possible. Presently, F18 has a similar function called die, but > this is used to cover multiple run-time error cases only some of which > should be covered by llvm_unreachable. We would like to hand...