Skip to content
  1. Apr 26, 2013
    • Adrian Prantl's avatar
      Cleanup and document MachineLocation. · d4c0dd47
      Adrian Prantl authored
      Clarify documentation and API to make the difference between register and
      register-indirect addressed locations more explicit. Put in a comment
      to point out that with the current implementation we cannot specify
      a register-indirect location with offset 0 (a breg 0 in DWARF).
      No functionality change intended.
      
      rdar://problem/13658587
      
      llvm-svn: 180641
      d4c0dd47
    • Bill Wendling's avatar
      Micro-optimization · 55a9c97c
      Bill Wendling authored
      TLVs probably won't be as common as the other types of variables. Check for them
      last before defaulting to "DATA".
      
      llvm-svn: 180631
      55a9c97c
    • Benjamin Kramer's avatar
      Make CHECK lines a bit less strict so they also match code generated for win64. · 5259bbde
      Benjamin Kramer authored
      Hopefully brings the windows buildbots back to life.
      
      llvm-svn: 180630
      5259bbde
    • Nadav Rotem's avatar
      Teach the interpreter to handle vector compares and additional vector arithmetic operations. · be0e89d9
      Nadav Rotem authored
      Patch by Yuri Veselov.
      
      llvm-svn: 180626
      be0e89d9
    • Rafael Espindola's avatar
      Use llvm/Object/MachO.h in macho-dumper. Drop the old macho parser. · 6e040c0b
      Rafael Espindola authored
      For Mach-O there were 2 implementations for parsing object files. A
      standalone llvm/Object/MachOObject.h and llvm/Object/MachO.h which
      implements the generic interface in llvm/Object/ObjectFile.h.
      
      This patch adds the missing features to MachO.h, moves macho-dump to
      use MachO.h and removes ObjectFile.h.
      
      In addition to making sure that check-all is clean, I checked that the
      new version produces exactly the same output in all Mach-O files in a
      llvm+clang build directory (including executables and shared
      libraries).
      
      To test the performance, I ran macho-dump over all the files in a
      llvm+clang build directory again, but this time redirecting the output
      to /dev/null. Both the old and new versions take about 4.6 seconds
      (2.5 user) to finish.
      
      llvm-svn: 180624
      6e040c0b
    • Rafael Espindola's avatar
      The exception demo needs its symbols exported. · 03ee04be
      Rafael Espindola authored
      llvm-svn: 180622
      03ee04be
    • Tom Stellard's avatar
      R600: Initialize AMDGPUMachineFunction::ShaderType to ShaderType::COMPUTE · 456adc6c
      Tom Stellard authored
      
      
      We need to intialize this to something and since clang does not set
      the shader type attribute and clang is used only for compute shaders,
      initializing it to COMPUTE seems like the best choice.
      
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      llvm-svn: 180620
      456adc6c
    • Adrian Prantl's avatar
      cleanup testcase some more · a8aa97d3
      Adrian Prantl authored
      rdar://problem/13056109
      
      llvm-svn: 180619
      a8aa97d3
    • Adrian Prantl's avatar
      d00333a4
    • Quentin Colombet's avatar
      ARM: Fix encoding of hint instruction for Thumb. · a83d5e9f
      Quentin Colombet authored
      "hint" space for Thumb actually overlaps the encoding space of the CPS
      instruction. In actuality, hints can be defined as CPS instructions where imod
      and M bits are all nil.
      
      Handle decoding of permitted nop-compatible hints (i.e. nop, yield, wfi, wfe,
      sev) in DecodeT2CPSInstruction.
      
      This commit adds a proper diagnostic message for Imm0_4 and updates all tests.
      
      Patch by Mihail Popa <Mihail.Popa@arm.com>.
      
      llvm-svn: 180617
      a83d5e9f
    • Rafael Espindola's avatar
      Add missing ':'. · 37212578
      Rafael Espindola authored
      llvm-svn: 180616
      37212578
    • Adrian Prantl's avatar
      Bugfix for the debug intrinsic handling in InstCombiner: · 29b9de7b
      Adrian Prantl authored
      Since we can't guarantee that the original dbg.declare instrinsic
      is removed by LowerDbgDeclare(), we need to make sure that we are
      not inserting the same dbg.value intrinsic over and over.
      This removes tons of redundant DIEs when compiling optimized code.
      
      rdar://problem/13056109
      
      llvm-svn: 180615
      29b9de7b
    • Ulrich Weigand's avatar
      · 136ac22e
      Ulrich Weigand authored
      PowerPC: Use RegisterOperand instead of RegisterClass operands
      
      In the default PowerPC assembler syntax, registers are specified simply
      by number, so they cannot be distinguished from immediate values (without
      looking at the opcode).  This means that the default operand matching logic
      for the asm parser does not work, and we need to specify custom matchers.
      Since those can only be specified with RegisterOperand classes and not
      directly on the RegisterClass, all instructions patterns used by the asm
      parser need to use a RegisterOperand (instead of a RegisterClass) for
      all their register operands.
      
      This patch adds one RegisterOperand for each RegisterClass, using the
      same name as the class, just in lower case, and updates all instruction
      patterns to use RegisterOperand instead of RegisterClass operands.
      
      llvm-svn: 180611
      136ac22e
    • Silviu Baranga's avatar
      Re-write the address propagation code for pre-indexed loads/stores to take... · af7e8c36
      Silviu Baranga authored
      Re-write the address propagation code for pre-indexed loads/stores to take into account some previously misssed cases (PRE_DEC addressing mode, the offset and base address are swapped, etc). This should fix PR15581.
      
      llvm-svn: 180609
      af7e8c36
    • Ulrich Weigand's avatar
      · 551b085d
      Ulrich Weigand authored
      PowerPC: Fix encoding of vsubcuw and vsum4sbs instructions
      
      When testing the asm parser, I noticed wrong encodings for the
      above instructions (wrong sub-opcodes).
      
      Tests will be added together with the asm parser.
      
      llvm-svn: 180608
      551b085d
    • Ulrich Weigand's avatar
      · 48b949b6
      Ulrich Weigand authored
      PowerPC: Fix encoding of stfsu and stfdu instructions
      
      When testing the asm parser, I noticed wrong encodings for the
      above instructions (wrong sub-opcodes).  Note that apparently
      the compiler currently never generates pre-inc instructions
      for floating point types for some reason ...
      
      Tests will be added together with the asm parser.
      
      llvm-svn: 180607
      48b949b6
    • Ulrich Weigand's avatar
      · fa451ba1
      Ulrich Weigand authored
      PowerPC: Fix encoding of rldimi and rldcl instructions
      
      When testing the asm parser, I noticed wrong encodings for the
      above instructions (wrong operand name in rldimi, wrong form
      and sub-opcode for rldcl).
      
      Tests will be added together with the asm parser.
      
      llvm-svn: 180606
      fa451ba1
    • Ulrich Weigand's avatar
      · 72a7dc0d
      Ulrich Weigand authored
      PowerPC: Support PC-relative fixup_ppc_brcond14.
      
      When testing the asm parser, I ran into an error when using a conditional
      branch to an external symbol (this doesn't occur in compiler-generated
      code) due to missing support in PPCELFObjectWriter::getRelocTypeInner.
      
      llvm-svn: 180605
      72a7dc0d
    • Benjamin Kramer's avatar
      ARM/NEON: Pattern match vector integer abs to vabs. · ae81474a
      Benjamin Kramer authored
      llvm-svn: 180604
      ae81474a
    • Benjamin Kramer's avatar
    • Benjamin Kramer's avatar
      DAGCombiner: Canonicalize vector integer abs in the same way we do it for scalars. · d56ffc70
      Benjamin Kramer authored
      This already helps SSE2 x86 a lot because it lacks an efficient way to
      represent a vector select. The long term goal is to enable the backend to match
      a canonicalized pattern into a single instruction (e.g. vabs or pabs).
      
      llvm-svn: 180597
      d56ffc70
    • Nadav Rotem's avatar
      LoopVectorizer: Calculate the number of pointers to disambiguate at runtime... · 13306816
      Nadav Rotem authored
      LoopVectorizer:  Calculate the number of pointers to disambiguate at runtime based on the numbers of reads and writes.
      
      llvm-svn: 180593
      13306816
    • Michael Gottesman's avatar
      Use 'git svn find-rev' in git-svnrevert instead of shell script fu. · 68be5200
      Michael Gottesman authored
      Thanks Chandler!
      
      llvm-svn: 180592
      68be5200
    • Michael Gottesman's avatar
      Revert "[objc-arc] Added ImpreciseAutoreleaseSet to track autorelease calls... · 47cf8a4c
      Michael Gottesman authored
      Revert "[objc-arc] Added ImpreciseAutoreleaseSet to track autorelease calls that were once autoreleaseRV instructions."
      
      This reverts commit r180222.
      
      I think this might tie in with a different problem which will require a
      different approach potentially. I am reverting this in the case I need to go
      down that second path.
      
      My apologies for the noise. = /.
      
      llvm-svn: 180590
      47cf8a4c
    • Michael Gottesman's avatar
      Updated GettingStarted.rst so that it references utils/git-svn for git-svnup... · a0509add
      Michael Gottesman authored
      Updated GettingStarted.rst so that it references utils/git-svn for git-svnup instead of catting it into the documentation itself.
      
      llvm-svn: 180589
      a0509add
    • Michael Gottesman's avatar
      Added the scripts git-svnup/git-svnrevert to utils/git-svn. · d8134208
      Michael Gottesman authored
      It makes more sense to have git-svnup here than catting said file in the
      documentation (where we should rather point users to this directory).
      I included git-svnrevert as an additional gift to the community. I will update
      the documentation in a second commit later today.
      
      git-svnrevert takes in a git hash for a commit, looks up the svn revision for
      said commit and then creates the normal git revert commit message with the one
      liner message, except instead of saying
      
        Revert "<<<INSERT ONELINER HERE>>>"
      
        This reverts commit <<<INSERT GITHASH HERE>>>
      
      It says:
      
        Revert "<<<INSERT ONELINER HERE>>>"
      
        This reverts commit r<<<INSERT SVN REVISION HERE>>>
      
      so git hashes will not escape into our svn logs (which just look unseemly).
      
      llvm-svn: 180587
      d8134208
    • Jack Carter's avatar
      Mips assembler: .set reorder support · c15c1d24
      Jack Carter authored
      Mips have delayslots for certain instructions 
      like jumps and branches. These are instructions 
      that follow the branch or jump and are executed
      before the jump or branch is completed.
      
      Early Mips compilers could not cope with delayslots
      and left them up to the assembler. The assembler would
      fill the delayslots with the appropriate instruction,
      usually just a nop to allow correct runtime behavior.
      
      The default behavior for this is set with .set reorder.
      To tell the assembler that you don't want it to mess with
      the delayslot one used .set noreorder.
      
      For backwards compatibility we need to support
      .set reorder and have it be the default behavior in the 
      assembler.
      
      Our support for it is to insert a NOP directly after an
      instruction with a delayslot when in .set reorder mode.
      
      Contributer: Vladimir Medic
      llvm-svn: 180584
      c15c1d24
  2. Apr 25, 2013
Loading