|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| 
| 
| | MSP430, PPC, PTX, Sparc, X86, XCore.
llvm-svn: 150878 | 
| | 
| 
| 
| | llvm-svn: 140946 | 
| | 
| 
| 
| | llvm-svn: 140943 | 
| | 
| 
| 
| | llvm-svn: 140942 | 
| | 
| 
| 
| | llvm-svn: 140941 | 
| | 
| 
| 
| | llvm-svn: 140940 | 
| | 
| 
| 
| | llvm-svn: 140939 | 
| | 
| 
| 
| 
| 
| | support for external symbols from the base class.
llvm-svn: 140938 | 
| | 
| 
| 
| | llvm-svn: 140937 | 
| | 
| 
| 
| 
| 
| 
| 
| | * Add a couple of Create methods to the ARMConstantPoolConstant class,
* Add its own version of getExistingMachineCPValue, and
* Modify hasSameValue to return false if the object isn't an ARMConstantPoolConstant.
llvm-svn: 140935 | 
| | 
| 
| 
| | llvm-svn: 140934 | 
| | 
| 
| 
| 
| 
| 
| 
| | pool value.
It's not used right now, but will be soon.
llvm-svn: 140933 | 
| | 
| 
| 
| | llvm-svn: 140868 | 
| | 
| 
| 
| 
| 
| 
| | This is used when we want to take the address of a machine basic block, but it's
not associated with a BB in LLVM IR.
llvm-svn: 140823 | 
| | 
| 
| 
| 
| 
| | Naming conventions consistency. No functional change.
llvm-svn: 140636 | 
| | 
| 
| 
| 
| 
| | locations and formatting specially. rdar://7353441
llvm-svn: 120343 | 
| | 
| 
| 
| 
| 
| | help in MC'izing the references that use them.
llvm-svn: 118633 | 
| | 
| 
| 
| | llvm-svn: 105994 | 
| | 
| 
| 
| | llvm-svn: 101334 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | except it doesn't care if the definitions' virtual registers differ. This is
  used by machine LICM and other MI passes to perform CSE.
- Teach Thumb2InstrInfo::isIdentical() to check two t2LDRpci_pic are identical.
  Since pc relative constantpool entries are always different, this requires it
  it check if the values can actually the same.
llvm-svn: 86328 | 
| | 
| 
| 
| | llvm-svn: 85808 | 
| | 
| 
| 
| | llvm-svn: 85806 | 
| | 
| 
| 
| | llvm-svn: 80650 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | makes an eggregious hack somewhat more palatable. Bringing the LSDA forward
and making it a GV available for reference would be even better, but is
beyond the scope of what I'm looking to solve at this point.
Objective C++ code could generate function names that broke the previous
scheme. This fixes that.
llvm-svn: 80649 | 
| | 
| 
| 
| 
| 
| | bunch of nasty code in ARM asm printer.
llvm-svn: 80404 | 
| | 
| 
| 
| 
| 
| 
| 
| | MachineInstr and MachineOperand.  This required eliminating a
bunch of stuff that was using DOUT, I hope that bill doesn't
mind me stealing his fun. ;-)
llvm-svn: 79813 | 
| | 
| 
| 
| | llvm-svn: 78948 | 
| | 
| 
| 
| | llvm-svn: 78666 | 
| | 
| 
| 
| 
| 
| | <cstdlib> in the header.
llvm-svn: 78665 | 
| | 
| 
| 
| | llvm-svn: 78627 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | and short. Well, it's kinda short. Definitely nasty and brutish.
The front-end generates the register/unregister calls into the SjLj runtime,
call-site indices and landing pad dispatch. The back end fills in the LSDA
with the call-site information provided by the front end. Catch blocks are
not yet implemented.
Built on Darwin and verified no llvm-core "make check" regressions.
llvm-svn: 78625 | 
| | 
| 
| 
| | llvm-svn: 76679 | 
| | 
| 
| 
| 
| 
| 
| 
| | pool entry will require relocations against it.  I implemented this
conservatively for ARM, someone who is knowledgable about it should
see if this can be improved.
llvm-svn: 76678 | 
| | 
| 
| 
| | llvm-svn: 75686 | 
| | 
| 
| 
| | llvm-svn: 61715 | 
| | 
| 
| 
| | llvm-svn: 60458 | 
| | 
| 
| 
| | llvm-svn: 58408 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | use raw_ostream instead of std::ostream.  Among other goodness,
this speeds up llvm-dis of kc++ with a release build from 0.85s
to 0.49s (88% faster).
Other interesting changes:
 1) This makes Value::print be non-virtual.
 2) AP[S]Int and ConstantRange can no longer print to ostream directly, 
    use raw_ostream instead.
 3) This fixes a bug in raw_os_ostream where it didn't flush itself 
    when destroyed.
 4) This adds a new SDNode::print method, instead of only allowing "dump".
A lot of APIs have both std::ostream and raw_ostream versions, it would
be useful to go through and systematically anihilate the std::ostream 
versions.
This passes dejagnu, but there may be minor fallout, plz let me know if
so and I'll fix it.
llvm-svn: 55263 | 
| | 
| 
| 
| | llvm-svn: 53471 | 
| | 
| 
| 
| | llvm-svn: 45418 | 
| | 
| 
| 
| | llvm-svn: 36506 | 
| | 
| 
| 
| | llvm-svn: 36324 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
LPCRELL0:
        add r1, pc, #PCRELV0
This is not legal since add r1, pc, #c requires the constant be a multiple of 4.
Do the following instead:
        .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
LPCRELL0:
        mov r1, #PCRELV0
        add r1, pc
- In thumb mode, it's not possible to use .set generate a pc relative stub
  address. The stub is ARM code which is in a different section from the thumb
  code. Load the value from a constpool instead.
- Some asm printing clean up.
llvm-svn: 33664 | 
|  | llvm-svn: 33353 |