summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMConstantPoolValue.h
Commit message (Collapse)AuthorAgeFilesLines
* Nuke a FIXME. No need to be fancier here, as ARM handles constant poolsJim Grosbach2010-11-291-5/+1
| | | | | | locations and formatting specially. rdar://7353441 llvm-svn: 120343
* Change the ARMConstantPoolValue modifier string to an enumeration. This willJim Grosbach2010-11-091-6/+31
| | | | | | help in MC'izing the references that use them. llvm-svn: 118633
* Add <cstddef> include to get ptrdiff_t, for gcc-4.6; patch by Dimitry Andric.Daniel Dunbar2010-06-151-0/+1
| | | | llvm-svn: 105994
* Add const qualifiers to CodeGen's use of LLVM IR constructs.Dan Gohman2010-04-151-5/+5
| | | | llvm-svn: 101334
* - Add TargetInstrInfo::isIdentical(). It's similar to MachineInstr::isIdenticalEvan Cheng2009-11-071-0/+4
| | | | | | | | | | 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
* Hyphenate some comments.Bob Wilson2009-11-021-3/+2
| | | | llvm-svn: 85808
* Add support for BlockAddress values in ARM constant pools.Bob Wilson2009-11-021-7/+13
| | | | llvm-svn: 85806
* Fix compiler warningsJim Grosbach2009-09-011-1/+1
| | | | llvm-svn: 80650
* Clean up LSDA name generation and use for SJLJ exception handling. ThisJim Grosbach2009-09-011-0/+10
| | | | | | | | | | | 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
* Let Darwin linker auto-synthesize stubs and lazy-pointers. This deletes a ↵Evan Cheng2009-08-281-15/+1
| | | | | | bunch of nasty code in ARM asm printer. llvm-svn: 80404
* remove various std::ostream version of printing methods fromChris Lattner2009-08-231-8/+0
| | | | | | | | 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
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-131-1/+2
| | | | llvm-svn: 78948
* Whitespace cleanup. Remove trailing whitespace.Jim Grosbach2009-08-111-2/+2
| | | | llvm-svn: 78666
* Move ~ARMConstantPoolValue() to the .cpp file to avoid needing to include ↵Jim Grosbach2009-08-111-2/+1
| | | | | | <cstdlib> in the header. llvm-svn: 78665
* Add stdlib.hJim Grosbach2009-08-111-0/+1
| | | | llvm-svn: 78627
* SjLj based exception handling unwinding support. This patch is nasty, brutishJim Grosbach2009-08-111-0/+2
| | | | | | | | | | | | | 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
* no really, I can spell!Chris Lattner2009-07-211-1/+1
| | | | llvm-svn: 76679
* add an API so target-independent codegen can determine if a constantChris Lattner2009-07-211-0/+7
| | | | | | | | 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
* Fix bad indentation and 80-col violation.Bob Wilson2009-07-141-1/+2
| | | | llvm-svn: 75686
* Tidy up #includes, deleting a bunch of unnecessary #includes.Dan Gohman2009-01-051-1/+1
| | | | llvm-svn: 61715
* Fix a missing #include.Dan Gohman2008-12-031-0/+1
| | | | llvm-svn: 60458
* Add debugging support.Evan Cheng2008-10-291-1/+15
| | | | llvm-svn: 58408
* Switch the asmprinter (.ll) and all the stuff it requires over toChris Lattner2008-08-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Trim unnecessary #includes.Dan Gohman2008-07-111-0/+2
| | | | llvm-svn: 53471
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* ARM TLS: implement "general dynamic", "initial exec" and "local exec" models.Lauro Ramos Venancio2007-04-271-2/+6
| | | | llvm-svn: 36506
* Implement PIC for arm-linux.Lauro Ramos Venancio2007-04-221-2/+8
| | | | llvm-svn: 36324
* - Fix codegen for pc relative constant (e.g. JT) in thumb mode:Evan Cheng2007-01-301-3/+18
| | | | | | | | | | | | | | | | | | | .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
* ARM backend contribution from Apple.Evan Cheng2007-01-191-0/+50
llvm-svn: 33353
OpenPOWER on IntegriCloud