Skip to content
  1. Mar 28, 2011
  2. Mar 27, 2011
  3. Mar 26, 2011
    • Douglas Gregor's avatar
      Improve -Wheader-hygiene to warn about using directives inside linkage · a172e088
      Douglas Gregor authored
      specifications within the global scope, from Elliot Glaysher.
      
      llvm-svn: 128352
      a172e088
    • Jakob Stoklund Olesen's avatar
      Use individual register classes when spilling snippets. · e4663456
      Jakob Stoklund Olesen authored
      The main register class may have been inflated by live range splitting, so that
      register class is not necessarily valid for the snippet instructions.
      
      Use the original register class for the stack slot interval.
      
      llvm-svn: 128351
      e4663456
    • Howard Hinnant's avatar
      Jonathan Sauer found a bug in the way ^ was handled · 382600ff
      Howard Hinnant authored
      llvm-svn: 128350
      382600ff
    • Howard Hinnant's avatar
      Jonathan Sauer updated is_base_of traits status · 8e261778
      Howard Hinnant authored
      llvm-svn: 128349
      8e261778
    • Fariborz Jahanian's avatar
      More coherent diagnostic attempting to assign to a member of a const object returned · 071caefe
      Fariborz Jahanian authored
      from an objective-c message: // rdar://9005189
      
      llvm-svn: 128348
      071caefe
    • Greg Clayton's avatar
      Added the ability to get the min and max instruction byte size for · 357132eb
      Greg Clayton authored
      an architecture into ArchSpec:
      
      uint32_t
      ArchSpec::GetMinimumOpcodeByteSize() const;
      
      uint32_t
      ArchSpec::GetMaximumOpcodeByteSize() const;
      
      Added an AddressClass to the Instruction class in Disassembler.h.
      This allows decoded instructions to know know if they are code,
      code with alternate ISA (thumb), or even data which can be mixed
      into code. The instruction does have an address, but it is a good
      idea to cache this value so we don't have to look it up more than 
      once.
      
      Fixed an issue in Opcode::SetOpcodeBytes() where the length wasn't
      getting set.
      
      Changed:
      
      	bool
      	SymbolContextList::AppendIfUnique (const SymbolContext& sc);
      
      To:
      	bool
      	SymbolContextList::AppendIfUnique (const SymbolContext& sc, 
      									   bool merge_symbol_into_function);
      
      This function was typically being used when looking up functions
      and symbols. Now if you lookup a function, then find the symbol,
      they can be merged into the same symbol context and not cause
      multiple symbol contexts to appear in a symbol context list that
      describes the same function.
      
      Fixed the SymbolContext not equal operator which was causing mixed
      mode disassembly to not work ("disassembler --mixed --name main").
      
      Modified the disassembler classes to know about the fact we know,
      for a given architecture, what the min and max opcode byte sizes
      are. The InstructionList class was modified to return the max
      opcode byte size for all of the instructions in its list.
      These two fixes means when disassemble a list of instructions and dump 
      them and show the opcode bytes, we can format the output more 
      intelligently when showing opcode bytes. This affects any architectures
      that have varying opcode byte sizes (x86_64 and i386). Knowing the max
      opcode byte size also helps us to be able to disassemble N instructions
      without having to re-read data if we didn't read enough bytes.
      
      Added the ability to set the architecture for the disassemble command.
      This means you can easily cross disassemble data for any supported 
      architecture. I also added the ability to specify "thumb" as an 
      architecture so that we can force disassembly into thumb mode when
      needed. In GDB this was done using a hack of specifying an odd
      address when disassembling. I don't want to repeat this hack in LLDB,
      so the auto detection between ARM and thumb is failing, just specify
      thumb when disassembling:
      
      (lldb) disassemble --arch thumb --name main
      
      You can also have data in say an x86_64 file executable and disassemble
      data as any other supported architecture:
      % lldb a.out
      Current executable set to 'a.out' (x86_64).
      (lldb) b main
      (lldb) run
      (lldb) disassemble --arch thumb --count 2 --start-address 0x0000000100001080 --bytes
      0x100001080:  0xb580 push   {r7, lr}
      0x100001082:  0xaf00 add    r7, sp, #0
      
      Fixed Target::ReadMemory(...) to be able to deal with Address argument object
      that isn't section offset. When an address object was supplied that was
      out on the heap or stack, target read memory would fail. Disassembly uses
      Target::ReadMemory(...), and the example above where we disassembler thumb
      opcodes in an x86 binary was failing do to this bug.
      
      llvm-svn: 128347
      357132eb
    • Argyrios Kyrtzidis's avatar
    • Chris Lattner's avatar
      fix the second part of rdar://8366474 - clang fails to parse ObjC selectors... · 85222c6b
      Chris Lattner authored
      fix the second part of rdar://8366474 - clang fails to parse ObjC selectors with '::', when :: isn't the first part of the selector.
      
      llvm-svn: 128344
      85222c6b
    • Fariborz Jahanian's avatar
      Make diagnostic clearer. · c85269fb
      Fariborz Jahanian authored
      llvm-svn: 128343
      c85269fb
    • Benjamin Kramer's avatar
      Turn SelectionDAGBuilder::GetRegistersForValue into a local function. · 355ce074
      Benjamin Kramer authored
      It couldn't be used outside of the file because SDISelAsmOperandInfo
      is local to SelectionDAGBuilder.cpp. Making it a static function avoids
      a weird linkage dance.
      
      llvm-svn: 128342
      355ce074
    • Oscar Fuentes's avatar
      Removed workaround for unspecified build problem on MinGW. · 4f444d7c
      Oscar Fuentes authored
      Tested that MinGW/MSYS builds fine without that.
      
      llvm-svn: 128341
      4f444d7c
Loading