search for: impossible_enum

Displaying 7 results from an estimated 7 matches for "impossible_enum".

2014 Dec 19
3
[LLVMdev] [RFC] Stripping unusable intrinsics
...burden. So, being the silly person I am, I wrote the patches for clang. >> >> I’ve never done any frontend hacking before, so take these with giant cellars of salt, but the concept seems sound to me. >> >> The patches do the following: >> (1) Add a new C++11-style [[impossible_enum]] attribute >> (2) Any case statement that has [[impossible_enum]] applied to it is not emitted during IRGen - the bodies are always emitted so as not to interfere with fall through, but blocks that cannot be entered are optimized away >> (3) Equality comparison against [[impossible_enu...
2014 Dec 19
2
[LLVMdev] [RFC] Stripping unusable intrinsics
...s throughout the code without the maintenance burden. So, being the silly person I am, I wrote the patches for clang. I’ve never done any frontend hacking before, so take these with giant cellars of salt, but the concept seems sound to me. The patches do the following: (1) Add a new C++11-style [[impossible_enum]] attribute (2) Any case statement that has [[impossible_enum]] applied to it is not emitted during IRGen - the bodies are always emitted so as not to interfere with fall through, but blocks that cannot be entered are optimized away (3) Equality comparison against [[impossible_enum]] values are alw...
2014 Dec 20
3
[LLVMdev] [RFC] Stripping unusable intrinsics
...gest that weights could be either float 0 to 1 or 0 to 100, whichever works best with the PGO infrastructure. Alex > On Dec 19, 2014, at 3:39 PM, Chris Bieneman <beanz at apple.com> wrote: > > More diffs to enjoy. > > I’ve updated my tablegen patches to work with the clang::impossible_enum attribute. With these changes I am seeing the same code size regressions that #ifdefs were showing ― without all the ifdefs. > > That’s about a 2% decrease in our library for WebKit. > > See attached patches for llvm & clang. > > -Chris > > <tablegen.diff> >...
2014 Dec 10
9
[LLVMdev] [RFC] Stripping unusable intrinsics
llvm-dev, In my ongoing saga to improve LLVM for embedded use, we would like to support stripping out unused intrinsics based on the LLVM targets actually being built. I’ve attached two patches. The first is a new flag for tablegen to take a list of targets. If passed tablegen will only emit intrinsics that either have empty target prefixes, or target prefixes matching one of the targets in the
2014 Dec 22
2
[LLVMdev] [RFC] Stripping unusable intrinsics
On Fri, Dec 19, 2014 at 3:39 PM, Chris Bieneman <beanz at apple.com> wrote: > More diffs to enjoy. > > I’ve updated my tablegen patches to work with the clang::impossible_enum > attribute. With these changes I am seeing the same code size regressions > that #ifdefs were showing — without all the ifdefs. > > That’s about a 2% decrease in our library for WebKit. > > See attached patches for llvm & clang. > FWIW, I still strongly object to this ent...
2014 Dec 22
2
[LLVMdev] [RFC] Stripping unusable intrinsics
...; On Dec 22, 2014, at 12:02 PM, Chandler Carruth <chandlerc at google.com> > wrote: > > > On Fri, Dec 19, 2014 at 3:39 PM, Chris Bieneman <beanz at apple.com> wrote: > >> More diffs to enjoy. >> >> I’ve updated my tablegen patches to work with the clang::impossible_enum >> attribute. With these changes I am seeing the same code size regressions >> that #ifdefs were showing — without all the ifdefs. >> >> That’s about a 2% decrease in our library for WebKit. >> >> See attached patches for llvm & clang. >> > > FWIW...
2014 Dec 22
2
[LLVMdev] [RFC] Stripping unusable intrinsics
...oogle.com>> wrote: >>> >>> >>> On Fri, Dec 19, 2014 at 3:39 PM, Chris Bieneman <beanz at apple.com <mailto:beanz at apple.com>> wrote: >>> More diffs to enjoy. >>> >>> I’ve updated my tablegen patches to work with the clang::impossible_enum attribute. With these changes I am seeing the same code size regressions that #ifdefs were showing — without all the ifdefs. >>> >>> That’s about a 2% decrease in our library for WebKit. >>> >>> See attached patches for llvm & clang. >>> >>&...