Go to file
Mike Klein 525fd36dd3 little steps forward
- impl splat, store32, which lets us handle the conceptually simplest
     program, a 32-bit memset.

   - dump bitcode to /tmp on success

Kind of starting to look good!

$ ninja -C out dm && out/dm -m SkVM_Pointless
$ opt --O1 /tmp/skvm-jit-211960346.bc | llvm-dis

    ; Function Attrs: nofree norecurse nounwind writeonly
    define void @skvm-jit-211960346(i64, i8* nocapture) local_unnamed_addr #0 {
    enter:
      %2 = icmp ugt i64 %0, 7
      br i1 %2, label %loopK, label %test1.preheader

    test1.preheader:                                  ; preds = %loopK, %enter
      %.07.lcssa = phi i64 [ %0, %enter ], [ %5, %loopK ]
      %.0.lcssa = phi i8* [ %1, %enter ], [ %6, %loopK ]
      %3 = icmp eq i64 %.07.lcssa, 0
      br i1 %3, label %leave, label %loop1

    loopK:                                            ; preds = %enter, %loopK
      %.012 = phi i8* [ %6, %loopK ], [ %1, %enter ]
      %.0711 = phi i64 [ %5, %loopK ], [ %0, %enter ]
      %4 = bitcast i8* %.012 to <8 x i32>*
      store <8 x i32> <i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42>, <8 x i32>* %4, align 1
      %5 = add i64 %.0711, -8
      %6 = getelementptr i8, i8* %.012, i64 32
      %7 = icmp ugt i64 %5, 7
      br i1 %7, label %loopK, label %test1.preheader

    loop1:                                            ; preds = %test1.preheader, %loop1
      %.110 = phi i8* [ %10, %loop1 ], [ %.0.lcssa, %test1.preheader ]
      %.189 = phi i64 [ %9, %loop1 ], [ %.07.lcssa, %test1.preheader ]
      %8 = bitcast i8* %.110 to i32*
      store i32 42, i32* %8, align 1
      %9 = add i64 %.189, -1
      %10 = getelementptr i8, i8* %.110, i64 4
      %11 = icmp eq i64 %9, 0
      br i1 %11, label %leave, label %loop1

    leave:                                            ; preds = %loop1, %test1.preheader
      ret void
    }

    attributes #0 = { nofree norecurse nounwind writeonly }

Change-Id: I00953c1113739a9ee094cb6cb3c99f1b7f8de9bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273509
Reviewed-by: Herb Derby <herb@google.com>
2020-02-27 13:01:37 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench renable SkM44.h checks 2020-02-26 14:54:55 +00:00
bin [infra] Fix bin/try 2020-01-14 12:05:56 +00:00
build/fuchsia format GN files 2020-02-10 16:32:46 +00:00
build_overrides Update Dawn backend to ToT. This is about 3 months of changes. 2019-10-15 22:26:38 +00:00
dm Adds gpu stats for program cache 2020-02-26 16:11:56 +00:00
docker Revert "fiddle - Don't make warnings into errors." 2020-02-07 21:39:38 +00:00
docs/examples basic, untested BGR 1010102 and 101010x 2020-02-11 21:44:57 +00:00
example Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
experimental Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
fuzz Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
gm Reland "Remove GrDeviceSpaceTextureDecalFragmentProcessor." 2020-02-26 18:57:36 +00:00
gn Add stubbed out GrD3DOpsRenderPass class. 2020-02-26 21:04:16 +00:00
include Fill in more D3DCaps 2020-02-26 18:26:45 +00:00
infra Roll recipe dependencies (trivial). 2020-02-27 08:51:50 +00:00
modules Move all canvaskit example resources to CDN 2020-02-24 21:54:47 +00:00
platform_tools Reland "GrGLMakeNativeInterface_{iOS,mac,win}: clean up" 2020-01-08 16:55:43 +00:00
resources [skottie] Add support for text animator blur 2020-02-24 14:01:16 +00:00
samplecode Remove SkExclusiveStrikePtr. Replace it with sk_sp<SkStrike> 2020-02-24 21:41:05 +00:00
site Update Skia build instructions in build.md 2020-02-13 22:39:23 +00:00
specs [img-decode] Start on proposed new spec 2019-05-06 17:39:19 +00:00
src little steps forward 2020-02-27 13:01:37 +00:00
tests Add most important intrinsics to the interpreter 2020-02-26 20:27:36 +00:00
third_party Manual ANGLE roll. Update to our BUILD.gn to gen ANGLE's commit.h 2020-02-25 20:10:38 +00:00
tools Fill in more D3DCaps 2020-02-26 18:26:45 +00:00
.clang-format restore .clang-format 2019-03-21 15:52:32 +00:00
.clang-tidy add google-build-namespaces to clang-tidy checks 2018-12-12 16:33:59 +00:00
.gitignore clean up some .gitignores 2019-05-15 19:55:45 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Optimize SkSL xor where one argument is constant 2019-12-20 14:50:46 +00:00
BUILD.gn Reland "Create D3D device and queue" 2020-02-24 17:41:55 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll ../src 04383ff221c4..b53f5caacd25 (392 commits) 2020-02-27 04:46:39 +00:00
go.mod Update Go Deps 2020-02-27 05:25:19 +00:00
go.sum Update Go Deps 2020-02-27 05:25:19 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py Fix path to GN on Windows when running presubmit hooks 2020-02-18 20:41:16 +00:00
public.bzl Reland "Create D3D device and queue" 2020-02-24 17:41:55 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
RELEASE_NOTES.txt Add GrContextOption for GL error checking, shader, and program success. 2020-02-25 21:00:19 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.