Skip to content
  1. Jun 18, 2018
    • Florian Hahn's avatar
      [VPlanRecipeBase] Add insertBefore helper. · 7591e4e9
      Florian Hahn authored
      Reviewers: dcaballe, mkuper, hfinkel, hsaito, mssimpso
      
      Reviewed By: dcaballe
      
      Differential Revision: https://reviews.llvm.org/D48080
      
      llvm-svn: 334933
      7591e4e9
    • Clement Courbet's avatar
      [llvm-exegesis] Optionally ignore instructions without a sched class. · e752fd65
      Clement Courbet authored
      Summary: See PR37602.
      
      Reviewers: RKSimon
      
      Subscribers: llvm-commits, tschuett
      
      Differential Revision: https://reviews.llvm.org/D48267
      
      llvm-svn: 334932
      e752fd65
    • Sander de Smalen's avatar
      [AArch64][SVE] Asm: Support for vector element compares. · d521c435
      Sander de Smalen authored
      This patch adds instructions for comparing elements from two vectors, e.g.
        cmpgt p0.s, p0/z, z0.s, z1.s
      
      and also adds support for comparing to a 64-bit wide element vector, e.g.
        cmpgt p0.s, p0/z, z0.s, z1.d
      
      The patch also contains aliases for certain comparisons, e.g.:
        cmple p0.s, p0/z, z0.s, z1.s => cmpge p0.s, p0/z, z1.s, z0.s
        cmplo p0.s, p0/z, z0.s, z1.s => cmphi p0.s, p0/z, z1.s, z0.s
        cmpls p0.s, p0/z, z0.s, z1.s => cmphs p0.s, p0/z, z1.s, z0.s
        cmplt p0.s, p0/z, z0.s, z1.s => cmpgt p0.s, p0/z, z1.s, z0.s
      
      llvm-svn: 334931
      d521c435
    • David L. Jones's avatar
      [ASTMatchers] Add support for matching the type of a friend decl. · 82e08bd7
      David L. Jones authored
      This allows matchers like:
      
        friendDecl(hasType(cxxRecordDecl(...)))
        friendDecl(hasType(asString(...)))
      
      It seems that hasType is probably the most reasonable narrowing matcher to
      overload, since it is already used to narrow to other declaration kinds.
      
      Differential Revision: https://reviews.llvm.org/D48242
      
      Reviewers: klimek, aaron.ballman
      
      Subscribers: cfe-commits
      llvm-svn: 334930
      82e08bd7
    • David L. Jones's avatar
      [ASTMatchers] Don't assert-fail in specifiesTypeLoc(). · 8f7adcd7
      David L. Jones authored
      The specifiesTypeLoc() matcher narrows a nestedNameSpecifier matcher based on a
      typeloc within the NNS. However, the matcher does not guard against NNS which
      are a namespace, and cause getTypeLoc to assert-fail.
      
      llvm-svn: 334929
      8f7adcd7
    • Petr Hosek's avatar
      [Fuzzer] Set an explicit libc++ dependency when needed · 06824688
      Petr Hosek authored
      On targets that don't link internal libc++ (Fuchsia and Linux) but
      use libc++ as their C++ library and libFuzzer is being built using
      the just built compiler together with libc++ as part of runtimes, we
      need an explicit dependency from libFuzzer object library to libc++ to
      make sure the headers are available by the time we start building
      libFuzzer.
      
      Differential Revision: https://reviews.llvm.org/D48261
      
      llvm-svn: 334928
      06824688
    • Clement Courbet's avatar
      [X86] Fix NOOP sched overrides on BDW/HSW/SKL. · 0d9da88d
      Clement Courbet authored
      Summary: Noop certainly does not use resources.
      
      Reviewers: RKSimon, craig.topper, andreadb
      
      Subscribers: gbedwell, llvm-commits, gchatelet
      
      Differential Revision: https://reviews.llvm.org/D48028
      
      llvm-svn: 334927
      0d9da88d
    • Vitaly Buka's avatar
      Fix libcxxabi tests after clang r334924 · e26d5f4b
      Vitaly Buka authored
      llvm-svn: 334926
      e26d5f4b
    • Craig Topper's avatar
      [X86] Create X86InstrFMA3Group objects fully in a static table instead of on the heap. NFCI · f0ab7bd1
      Craig Topper authored
      Previously we heap allocated the X86InstrFMA3Group objects which were created by passing them small register/memory opcode arrays that existed as individual static tables.
      
      Rather than a bunch of small static arrays we now have one large static table of X86InstrFMA3Group objects. Rather than storing a pointer to the opcode arrays in the X86InstrFMA3Group object, we now store have a register and memory array as part of the object. If a group doesn't have memory or register opcodes, the array entries will be 0.
      
      This greatly simplifies the destruction of the X86InstrFMA3Info object. We no longer need to delete the X86InstrFMA3Group objects as we destruct the DenseMap. And we don't need to keep track of which ones we already deleted.
      
      This reduces the llc binary size on my local machine by ~50k. I can only assume that's really due to the fact that we had something like 512 small static arrays that we passed to the init functions either one at a time or in pairs. So there were between 256 and 512 distinct calls to the init functions in the initOnceImpl method.
      
      llvm-svn: 334925
      f0ab7bd1
    • Vitaly Buka's avatar
      Fix libcxx tests after clang r334677. · db666a44
      Vitaly Buka authored
      llvm-svn: 334924
      db666a44
    • Vitaly Buka's avatar
      [sanitizer] Suppress unused function warning · 7fd0d388
      Vitaly Buka authored
      llvm-svn: 334923
      7fd0d388
    • Craig Topper's avatar
      [X86] Add '.s' aliases to the assembler for the various redundant move... · 16fdde5e
      Craig Topper authored
      [X86] Add '.s' aliases to the assembler for the various redundant move encodings to match gas and our EVEX instructions.
      
      We already have these aliases for EVEX enocded instructions, but not for the GPR, MMX, SSE, and VEX versions.
      
      Also remove the vpextrw.s EVEX alias. That's not something gas implements.
      
      llvm-svn: 334922
      16fdde5e
    • Frederic Riss's avatar
      Fix the 'tb' alias command · 49c9d8b8
      Frederic Riss authored
      No idea when this broke or if it ever worked. Added a small test
      for one-shot breakpoints while I was there.
      
      llvm-svn: 334921
      49c9d8b8
    • Craig Topper's avatar
      [X86] Move the 'vmovq.s' and similar assembly strings for EVEX vector moves... · 916d0cf6
      Craig Topper authored
      [X86] Move the 'vmovq.s' and similar assembly strings for EVEX vector moves with reversed operands to InstAliases.
      
      The .s assembly strings allow the reversed forms to be targeted from assembly which matches gas behavior. But when printing the instructions we should print them without the .s to match other tooling like objdump. By using InstAliases we can use the normal string in the instruction and just hide it from the assembly parser.
      
      Ideally we'd add the .s versions to the legacy SSE and VEX versions as well for full compatibility with gas. Not sure how we got to state where only EVEX was supported.
      
      llvm-svn: 334920
      916d0cf6
    • Craig Topper's avatar
      [TableGen] Prevent double flattening of InstAlias asm strings in the asm matcher emitter. · 2be74395
      Craig Topper authored
      Unlike CodeGenInstruction, CodeGenInstAlias was flatting asm strings in its constructor. For instructions it was the users responsibility to flatten the string.
      
      AsmMatcherEmitter didn't know this and treated them the same. This caused double flattening of InstAliases. This is mostly harmless unless the desired assembly string contains curly braces. The second flattening wouldn't know to ignore these and would remove the curly braces. And for variant 1 it would remove the contents of them as well.
      
      To mitigate this, this patch makes removes the flattening from the CodeGenIntAlias constructor and modifies AsmWriterEmitter to account for the flattening not having been done.
      
      llvm-svn: 334919
      2be74395
    • Lang Hames's avatar
      [ORC] Remove redundant condition · 0705ee8d
      Lang Hames authored
      llvm-svn: 334918
      0705ee8d
  2. Jun 17, 2018
  3. Jun 16, 2018
Loading