summaryrefslogtreecommitdiffstats
path: root/llvm/include
Commit message (Collapse)AuthorAgeFilesLines
* Privatize the StructType table, which unfortunately involves routing ↵Owen Anderson2009-08-052-6/+11
| | | | | | contexts through a number of APIs. llvm-svn: 78258
* Make block and function count available via ProfileInfo.Daniel Dunbar2009-08-051-0/+6
| | | | | | - Part of optimal static profiling patch sequence by Andreas Neustifter. llvm-svn: 78247
* Fix some column padding bugs, reorganize things as suggested by ChrisDavid Greene2009-08-052-2/+11
| | | | | | and eliminate complexity. Yay! llvm-svn: 78243
* remove the 'DataSectionStartSuffix' and 'TextSectionStartSuffix' knobs.Chris Lattner2009-08-051-14/+0
| | | | llvm-svn: 78242
* Fix FindExecutable to use sys::Path::GetMainExecutable instead ofDan Gohman2009-08-051-4/+4
| | | | | | | | | | | | | just argv[0]. And remove the code for searching the current working directory and for searching PATH; the point of FindExecutable is not to find whatever version of the executable can be found by searching around, but to find an executable that accompanies the current executable. Update the tools to use sys::Program::FindProgramByName when they want PATH searching. llvm-svn: 78240
* Add an explicit keyword.Dan Gohman2009-08-051-1/+1
| | | | llvm-svn: 78208
* Delete an obsolete sentance from a comment.Dan Gohman2009-08-051-2/+1
| | | | llvm-svn: 78206
* Remove unnecessary ProfileInfoLoader methods.Daniel Dunbar2009-08-051-30/+13
| | | | | | - Part of optimal static profiling patch sequence by Andreas Neustifter. llvm-svn: 78199
* Add StringRef::endswithDaniel Dunbar2009-08-051-0/+5
| | | | llvm-svn: 78197
* only point to dest labels if the graph has themAndrew Lenharth2009-08-051-2/+6
| | | | llvm-svn: 78192
* Remove unused forward decls.Benjamin Kramer2009-08-052-24/+2
| | | | llvm-svn: 78187
* - Remove custom handling of jumptables by the elf writter (this wasBruno Cardoso Lopes2009-08-051-9/+2
| | | | | | | | | | | | a dirty hack and isn't need anymore since the last x86 code emitter patch) - Add a target-dependent modifier to addend calculation - Use R_X86_64_32S relocation for X86::reloc_absolute_word_sext - Use getELFSectionFlags whenever possible - fix getTextSection to use TLOF and emit the right text section - Handle global emission for static ctors, dtors and Type::PointerTyID - Some minor fixes llvm-svn: 78176
* ZIV tester for LDA.Andreas Bolka2009-08-051-0/+2
| | | | llvm-svn: 78157
* expose SectionKindForGlobal to curious clients, named asChris Lattner2009-08-051-1/+15
| | | | | | getKindForGlobal. llvm-svn: 78156
* Major calling convention code refactoring.Dan Gohman2009-08-055-150/+119
| | | | | | | | | | | | | | | | | | | Instead of awkwardly encoding calling-convention information with ISD::CALL, ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering provides three virtual functions for targets to override: LowerFormalArguments, LowerCall, and LowerRet, which replace the custom lowering done on the special nodes. They provide the same information, but in a more immediately usable format. This also reworks much of the target-independent tail call logic. The decision of whether or not to perform a tail call is now cleanly split between target-independent portions, and the target dependent portion in IsEligibleForTailCallOptimization. This also synchronizes all in-tree targets, to help enable future refactoring and feature work. llvm-svn: 78142
* 1) Proper emit displacements for x86, using absolute relocations where necessaryBruno Cardoso Lopes2009-08-053-0/+21
| | | | | | | | | | for ELF to work. 2) RIP addressing: Use SIB bytes for absolute relocations where RegBase=0, IndexReg=0. 3) The JIT can get the real address of cstpools and jmptables during code emission, fix that for object code emission llvm-svn: 78129
* revert r78048, it isn't worth using assertingvh here.Chris Lattner2009-08-042-3/+2
| | | | llvm-svn: 78119
* Factor some of the constants+context related code out into a separate ↵Owen Anderson2009-08-0429-30/+30
| | | | | | | | header, to make LLVMContextImpl.h not hideous. Also, fix some MSVC compile errors. llvm-svn: 78115
* Privatize the last bit of Constant-creation state.Owen Anderson2009-08-041-13/+1
| | | | llvm-svn: 78097
* rip out SectionEndDirectiveSuffix support, only uses byChris Lattner2009-08-041-7/+0
| | | | | | | the masm backend. If anyone cares about masm in the future, we'll have semantic sections it can hang off of. llvm-svn: 78096
* Add some type traits that are used for Clang's statically-checkedDouglas Gregor2009-08-041-0/+27
| | | | | | canonical types. llvm-svn: 78076
* enhance codegen to put 16-bit character strings into the Chris Lattner2009-08-041-0/+1
| | | | | | __TEXT,__ustring section on darwin. llvm-svn: 78068
* fix a fixme: don't create an explicit "CStringSection" for ELF,Chris Lattner2009-08-041-2/+0
| | | | | | it is just being used as a prefix, so forward substitute it directly. llvm-svn: 78067
* make MergeableCString be a SectionKind "abstract class", andChris Lattner2009-08-041-10/+32
| | | | | | | | add new concrete versions for 1/2/4-byte mergable strings. These are not actually created yet. llvm-svn: 78055
* switch ValueMap to using AssertingVH. This is an old patch I had layingChris Lattner2009-08-042-2/+3
| | | | | | around in a tree I forgot about. llvm-svn: 78048
* Remove unused function.Daniel Dunbar2009-08-041-5/+0
| | | | llvm-svn: 78046
* Remove now unused Module argument to createTargetMachine.Daniel Dunbar2009-08-041-25/+8
| | | | llvm-svn: 78043
* eliminate CurrentSection, rename CurrentSection_ -> CurrentSection, make it ↵Chris Lattner2009-08-031-8/+7
| | | | | | | | private, eliminate IsInTextSection. llvm-svn: 78017
* Kill off SwitchToDataSection and SwitchToTextSection, woo.Chris Lattner2009-08-031-28/+0
| | | | llvm-svn: 78015
* Keep track of metadata used by other metadata.Devang Patel2009-08-031-35/+64
| | | | llvm-svn: 78012
* Minor whitespace fix, so this doesn't look like a unary *.Dan Gohman2009-08-031-1/+1
| | | | llvm-svn: 78010
* Add a new Constant::getIntegerValue helper function, and convert aDan Gohman2009-08-031-0/+6
| | | | | | | few places in InstCombine to use it, to fix problems handling pointer types. This fixes the recent llvm-gcc bootstrap error. llvm-svn: 78005
* Re-apply LiveInterval index dumping patch, with fixes suggested by BillDavid Greene2009-08-034-6/+111
| | | | | | and others. llvm-svn: 78003
* Eliminate textual section switching from the x86 backend, oneChris Lattner2009-08-031-1/+10
| | | | | | more step towards "semantics sections" llvm-svn: 78002
* make getObjFileLowering() return a non-const reference.Chris Lattner2009-08-032-2/+2
| | | | llvm-svn: 77984
* llvm_report_error already prints "LLVM ERROR:". So stop reporting errors ↵Benjamin Kramer2009-08-031-1/+1
| | | | | | like "LLVM ERROR: llvm: error:" or "LLVM ERROR: ERROR:". llvm-svn: 77971
* Add 'Indirect' LocInfo class and use to pass __m128 on win64. Also minore ↵Anton Korobeynikov2009-08-032-18/+29
| | | | | | fixes here and there (mostly __m64). llvm-svn: 77964
* Add NamedMDNode destructor.Devang Patel2009-08-031-0/+9
| | | | llvm-svn: 77959
* Fix a race condition in getting the process exit code on Win32.Daniel Dunbar2009-08-031-3/+6
| | | | llvm-svn: 77953
* Remove now unused arguments from TargetRegistry::lookupTarget.Daniel Dunbar2009-08-031-8/+1
| | | | llvm-svn: 77950
* Pass target triple string in to TargetMachine constructor.Daniel Dunbar2009-08-032-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | This is not just a matter of passing in the target triple from the module; currently backends are making decisions based on the build and host architecture. The goal is to migrate to making these decisions based off of the triple (in conjunction with the feature string). Thus most clients pass in the target triple, or the host triple if that is empty. This has one important change in the way behavior of the JIT and llc. For the JIT, it was previously selecting the Target based on the host (naturally), but it was setting the target machine features based on the triple from the module. Now it is setting the target machine features based on the triple of the host. For LLC, -march was previously only used to select the target, the target machine features were initialized from the module's triple (which may have been empty). Now the target triple is taken from the module, or the host's triple is used if that is empty. Then the triple is adjusted to match -march. The take away is that -march for llc is now used in conjunction with the host triple to initialize the subtarget. If users want more deterministic behavior from llc, they should use -mtriple, or set the triple in the input module. llvm-svn: 77946
* Restrict LDA to affine subscripts.Andreas Bolka2009-08-031-0/+9
| | | | llvm-svn: 77932
* Fix some comments referring to std::cerr.Daniel Dunbar2009-08-037-12/+12
| | | | llvm-svn: 77931
* Move most targets TargetMachine constructor to only taking a target triple.Daniel Dunbar2009-08-021-0/+16
| | | | | | - The C, C++, MSIL, and Mips backends still need the module. llvm-svn: 77927
* Remove unneeded intrinsics from Blackfin backend.Jakob Stoklund Olesen2009-08-021-17/+0
| | | | | | | | | | __builtin_bfin_ones does the same as ctpop, so it can be implemented in the front-end. __builtin_bfin_loadbytes loads from an unaligned pointer with the disalignexcpt instruction. It does the same as loading from a pointer with the low bits masked. It is better if the front-end creates a masked load. We can always instruction select the masked to disalignexcpt+load. We keep csync/ssync/idle. These intrinsics represent instructions that need workarounds for some silicon revisions. We may even want to convert inline assembler to intrinsics to enable the workarounds. llvm-svn: 77917
* Adjust comment to distinguish between target name and triple target name theyDaniel Dunbar2009-08-021-15/+15
| | | | | | match. llvm-svn: 77908
* Scavenger asserts.Jakob Stoklund Olesen2009-08-021-0/+3
| | | | | | | Allow imp-def and imp-use of anything in the scavenger asserts, just like the machine code verifier. Allow redefinition of a sub-register of a live register. llvm-svn: 77904
* Add some basic blackfin intrinsics.Jakob Stoklund Olesen2009-08-022-0/+52
| | | | llvm-svn: 77903
* Analog Devices Blackfin back-end.Jakob Stoklund Olesen2009-08-021-0/+1
| | | | | | | | | | | | | | Generate code for the Blackfin family of DSPs from Analog Devices: http://www.analog.com/en/embedded-processing-dsp/blackfin/processors/index.html We aim to be compatible with the exsisting GNU toolchain found at: http://blackfin.uclinux.org/gf/project/toolchain The back-end is experimental. llvm-svn: 77897
* Remove duplicated colons and spaces.Benjamin Kramer2009-08-021-7/+7
| | | | llvm-svn: 77892
OpenPOWER on IntegriCloud