summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMConstantPoolValue.h
Commit message (Collapse)AuthorAgeFilesLines
* Canonicalize header guards into a common format.Benjamin Kramer2014-08-131-2/+2
| | | | | | | | | | Add header guards to files that were missing guards. Remove #endif comments as they don't seem common in LLVM (we can easily add them back if we decide they're useful) Changes made by clang-tidy with minor tweaks. llvm-svn: 215558
* [C++11] Add 'override' keyword to virtual methods that override their base ↵Craig Topper2014-03-101-20/+20
| | | | | | class. llvm-svn: 203433
* ARM: Deduplicate ConstantPoolValues.Benjamin Kramer2013-09-161-0/+33
| | | | llvm-svn: 190779
* Use a std::string rather than a dynamically allocated char* buffer.Benjamin Kramer2012-12-241-4/+2
| | | | | | | | | | | | | This affords us to use std::string's allocation routines and use the destructor for the memory management. Switching to that also means that we can use operator==(const std::string&, const char *) to perform the string comparison rather than resorting to libc functionality (i.e. strcmp). Patch by Saleem Abdulrasool! Differential Revision: http://llvm-reviews.chandlerc.com/D230 llvm-svn: 171042
* Remove unnecessary classof()'sSean Silva2012-10-111-5/+0
| | | | | | | isa<> et al. automatically infer when the cast is an upcast (including a self-cast), so these are no longer necessary. llvm-svn: 165767
* Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, ↵Jia Liu2012-02-181-1/+1
| | | | | | MSP430, PPC, PTX, Sparc, X86, XCore. llvm-svn: 150878
* Add a convenience method to tell if two things are equal.Bill Wendling2011-10-011-0/+6
| | | | llvm-svn: 140946
* Use the ARMConstantPoolMBB class to handle the MBB values.Bill Wendling2011-10-011-11/+4
| | | | llvm-svn: 140943
* Add ARMConstantPoolMBB to hold an MBB value in the constant pool.Bill Wendling2011-10-011-1/+33
| | | | llvm-svn: 140942
* Remove dead code.Bill Wendling2011-10-011-5/+0
| | | | llvm-svn: 140941
* Remove now dead methods and ivar.Bill Wendling2011-10-011-6/+0
| | | | llvm-svn: 140940
* Use the new ARMConstantPoolSymbol class to handle external symbols.Bill Wendling2011-10-011-0/+3
| | | | llvm-svn: 140939
* Add an ARMConstantPool class for external symbols. This will split out the ↵Bill Wendling2011-10-011-1/+40
| | | | | | support for external symbols from the base class. llvm-svn: 140938
* Remove now dead methods and ivar from ARMConstantPoolValue.Bill Wendling2011-10-011-10/+0
| | | | llvm-svn: 140937
* Some more refactoring.Bill Wendling2011-10-011-0/+18
| | | | | | | | * 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
* Add a Create method that accepts 'kind' and 'pcadj' arguments.Bill Wendling2011-10-011-0/+3
| | | | llvm-svn: 140934
* Refactoring: Separate out the ARM constant pool Constant from the ARM constantBill Wendling2011-10-011-5/+41
| | | | | | | | pool value. It's not used right now, but will be soon. llvm-svn: 140933
* Constify 'isLSDA' and move a method out-of-line.Bill Wendling2011-09-301-14/+6
| | | | llvm-svn: 140868
* Support creating a constant pool value for a machine basic block.Bill Wendling2011-09-291-2/+12
| | | | | | | 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
* Rename AddSelectionDAGCSEId() to addSelectionDAGCSEId().Jim Grosbach2011-09-271-1/+1
| | | | | | Naming conventions consistency. No functional change. llvm-svn: 140636
* 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