Skip to content
  1. Jul 30, 2007
  2. Jul 29, 2007
    • Reid Spencer's avatar
      Be explicit about which level of optimization is being asked for. The -O option · 7717ff53
      Reid Spencer authored
      is equivalent to -O1.
      
      llvm-svn: 40581
      7717ff53
    • Steve Naroff's avatar
      · ddf5a1d7
      Steve Naroff authored
      Implement pretty diagnostics when doing on-the-fly vector sizing (for vector component access).
      
      For example, before this commit, the following diagnostics would be emitted...
      
      ocu.c:49:12: error: incompatible types assigning 'float  __attribute__((ocu_vector_type(3)))' to 'float4'
          vec4_2 = vec4.rgb; // shorten
          ~~~~~~ ^ ~~~~~~~~
      ocu.c:51:7: error: incompatible types assigning 'float  __attribute__((ocu_vector_type(2)))' to 'float'
          f = vec2.xx; // shorten
          ~ ^ ~~~~~~~
      
      Now, the diagnostics look as you would expect...
      
      ocu.c:49:12: error: incompatible types assigning 'float3' to 'float4'
          vec4_2 = vec4.rgb; // shorten
          ~~~~~~ ^ ~~~~~~~~
      ocu.c:51:7: error: incompatible types assigning 'float2' to 'float'
          f = vec2.xx; // shorten
          ~ ^ ~~~~~~~
      
      llvm-svn: 40579
      ddf5a1d7
    • Christopher Lamb's avatar
      Change the x86 backend to use extract_subreg for truncation operations. Passes... · 5fecb80e
      Christopher Lamb authored
      Change the x86 backend to use extract_subreg for truncation operations. Passes DejaGnu, SingleSource and MultiSource.
      
      llvm-svn: 40578
      5fecb80e
    • Steve Naroff's avatar
      · f7a5da17
      Steve Naroff authored
      Added a new expression, OCUVectorComponent.
      
      llvm-svn: 40577
      f7a5da17
  3. Jul 28, 2007
  4. Jul 27, 2007
    • Devang Patel's avatar
      Add facility to dump pass manager structure · 004937bb
      Devang Patel authored
      to make it easier to understand failure.
      
      llvm-svn: 40567
      004937bb
    • Duncan Sands's avatar
      Trampoline codegen support for X86-32. · ce38853c
      Duncan Sands authored
      llvm-svn: 40566
      ce38853c
    • Duncan Sands's avatar
      Forget to add 'nest' to the list of parameter · 27e9159c
      Duncan Sands authored
      attributes.
      
      llvm-svn: 40565
      27e9159c
    • Devang Patel's avatar
      Fix edge cases in handling basic block split. · 381a2a26
      Devang Patel authored
      llvm-svn: 40564
      381a2a26
    • Devang Patel's avatar
      Use SmallPtrSet. · e3206cb4
      Devang Patel authored
      llvm-svn: 40560
      e3206cb4
    • Chuck Rose III's avatar
      VStudio compiler errors and placing Function*->ExFunc map under ManagedStatic control. · 1a39a2d1
      Chuck Rose III authored
      This commit fixes two things.  One is a pair of VStudio compiler errors stemming from variables
      which defined within the for loop statement and also within the body of the for loop.  I fixed these 
      by renaming one of the two variables.  Additionally, I've made the Function*->ExFunc map in 
      ExternalFunctions.cpp a ManagedStatic object, so that cleanup will be done on llvm_shutdown.  In repeated
      uses of the interpreter, where the same Function* address may get used for completely differnet functions,
      this was causing a crash.
      
      llvm-svn: 40558
      1a39a2d1
    • Chuck Rose III's avatar
      Updates to the VStudio project files: · 8e986971
      Chuck Rose III authored
      1. Switch from VStudio 2k3 to VStudio 2k5
      
      2. All pdb files now will be placed as $(OutputDir)/$(ProjectName).pdb.  This puts them alongside the 
      binaries with the same base name as the binary.  If you need to copy the results of your llvm build 
      into another project's tree, this will simplify that process.
      
      3. Recent files added to the tree were added to the proejects within the VStudio project
      
      4. Project build dependency order fixed so that the build can take place in one pass.  A generated
      file was not being built at the correct time, causing a build error in about half the projects until
      the build was run a second time.
      
      Note you will need flex and bison installed an in your path in order to build properly.
      
      llvm-svn: 40557
      8e986971
    • Owen Anderson's avatar
      Allow SmallPtrSet to hold pointers to const data. · 49f037ac
      Owen Anderson authored
      llvm-svn: 40556
      49f037ac
    • Dan Gohman's avatar
      Re-apply 40504, but with a fix for the segfault it caused in oggenc: · 4788552d
      Dan Gohman authored
      Make the alignedload and alignedstore patterns always require 16-byte
      alignment. This way when they are used in the "Fs" instructions, in which
      a vector instruction is used for a scalar purpose, they can still require
      the full vector alignment. And add a regression test for this.
      
      llvm-svn: 40555
      4788552d
    • Duncan Sands's avatar
      It seems logical that InReg should be incompatible · 5d49bcdc
      Duncan Sands authored
      with StructReturn and ByVal, so make it so.
      
      llvm-svn: 40554
      5d49bcdc
    • Duncan Sands's avatar
      As the number of parameter attributes increases, · 07c90662
      Duncan Sands authored
      Verifier::visitFunction is suffering a combinatorial
      explosion due to the number of mutually incompatible
      attributes.  This patch tidies the whole thing up
      using attribute masks.  While there I fixed some
      small bugs: (1) the ByVal attribute tests cast a
      type to a pointer type, which can fail.  Yes, the
      fact it is of a pointer type is checked before,
      but a failing check does not cause the program
      to exit, it continues on outputting further errors;
      (2) Nothing was checking that an sret attribute is
      on the first parameter; (3) nothing was checking that
      a function for which isStructReturn() is true has a
      parameter with the sret attribute and vice-versa (I
      don't think it is possible for this to go wrong, but
      it seems right to check it).
      
      llvm-svn: 40553
      07c90662
Loading