Skip to content
  1. Jun 19, 2015
    • Rafael Espindola's avatar
      Fix the build. · 9fed2505
      Rafael Espindola authored
      Sorry, I have no idea how grep failed to find this.
      
      llvm-svn: 240133
      9fed2505
    • Alexander Potapenko's avatar
      [ASan] Initial support for Kernel AddressSanitizer · b9b73ef9
      Alexander Potapenko authored
      This patch adds initial support for the -fsanitize=kernel-address flag to Clang.
      Right now it's quite restricted: only out-of-line instrumentation is supported, globals are not instrumented, some GCC kasan flags are not supported.
      Using this patch I am able to build and boot the KASan tree with LLVMLinux patches from github.com/ramosian-glider/kasan/tree/kasan_llvmlinux.
      To disable KASan instrumentation for a certain function attribute((no_sanitize("kernel-address"))) can be used.
      
      llvm-svn: 240131
      b9b73ef9
    • Rafael Espindola's avatar
      Make all temporary symbols unnamed. · 284a750c
      Rafael Espindola authored
      What this does is make all symbols that would otherwise start with a .L
      (or L on MachO) unnamed.
      
      Some of these symbols still show up in the symbol table, but we can just
      make them unnamed.
      
      In order to make sure we produce identical results when going thought assembly,
      all .L (not just the compiler produced ones), are now unnamed.
      
      Running llc on llvm-as.opt.bc, the peak memory usage goes from 208.24MB to
      205.57MB.
      
      llvm-svn: 240130
      284a750c
    • Ahmed Bougacha's avatar
      [ARM] Look through concat when lowering in-place shuffles (VZIP, ..) · 9a909426
      Ahmed Bougacha authored
      Currently, we canonicalize shuffles that produce a result larger than
      their operands with:
        shuffle(concat(v1, undef), concat(v2, undef))
      ->
        shuffle(concat(v1, v2), undef)
      
      because we can access quad vectors (see PerformVECTOR_SHUFFLECombine).
      
      This is useful in the general case, but there are special cases where
      native shuffles produce larger results: the two-result ops.
      
      We can look through the concat when lowering them:
        shuffle(concat(v1, v2), undef)
      ->
        concat(VZIP(v1, v2):0, :1)
      
      This lets us generate the native shuffles instead of scalarizing to
      dozens of VMOVs.
      
      Differential Revision: http://reviews.llvm.org/D10424
      
      llvm-svn: 240118
      9a909426
    • Ahmed Bougacha's avatar
      [ARM] Factor out two-result shuffle matching. NFCI. · 2ffa91f9
      Ahmed Bougacha authored
      In preparation for a future patch: makes it easier to do the same
      matching to generate different nodes, without duplication.
      
      llvm-svn: 240116
      2ffa91f9
    • Tobias Grosser's avatar
      cdb89147
    • Eric Christopher's avatar
      Fix "the the" in comments. · 572e03a3
      Eric Christopher authored
      llvm-svn: 240112
      572e03a3
    • Rafael Espindola's avatar
      Improve the --expand-relocs handling of MachO. · 9ac06a0e
      Rafael Espindola authored
      In a relocation target can take 3 basic forms
      
      * A r_value in scattered relocations.
      * A symbol in external relocations.
      * A section is non-external relocations.
      
      Have the dump reflect that. With this change we go from
      
      CHECK-NEXT:       Extern: 0
      CHECK-NEXT:       Type: X86_64_RELOC_SUBTRACTOR (5)
      CHECK-NEXT:       Symbol: 0x2
      CHECK-NEXT:       Scattered: 0
      
      To just
      
      // CHECK-NEXT:       Type: X86_64_RELOC_SUBTRACTOR (5)
      // CHECK-NEXT:       Section: __data (2)
      
      Since the relocation is with a section, we print the seciton name and don't
      need to say that it is not scattered or external.
      
      Someone motivated can add further special cases for things like
      ARM64_RELOC_ADDEND and ARM_RELOC_PAIR.
      
      llvm-svn: 240073
      9ac06a0e
    • Yi Jiang's avatar
      Avoid redundant select node in early if-conversion pass · e0b3499d
      Yi Jiang authored
      llvm-svn: 240072
      e0b3499d
    • Hans Wennborg's avatar
      Switch lowering: enable whole-switch jump tables at -O0. · 67d492a5
      Hans Wennborg authored
      To same compile time, the analysis to find dense case-clusters in switches is
      not done at -O0. However, when the whole switch is dense enough, it is easy to
      turn it into a jump table, resulting in much faster code with no extra effort.
      
      llvm-svn: 240071
      67d492a5
  2. Jun 18, 2015
  3. Jun 17, 2015
Loading