- Nov 01, 2012
-
-
Chandler Carruth authored
getIntPtrType support for multiple address spaces via a pointer type, and also introduced a crasher bug in the constant folder reported in PR14233. These commits also contained several problems that should really be addressed before they are re-committed. I have avoided reverting various cleanups to the DataLayout APIs that are reasonable to have moving forward in order to reduce the amount of churn, and minimize the number of commits that were reverted. I've also manually updated merge conflicts and manually arranged for the getIntPtrType function to stay in DataLayout and to be defined in a plausible way after this revert. Thanks to Duncan for working through this exact strategy with me, and Nick Lewycky for tracking down the really annoying crasher this triggered. (Test case to follow in its own commit.) After discussing with Duncan extensively, and based on a note from Micah, I'm going to continue to back out some more of the more problematic patches in this series in order to ensure we go into the LLVM 3.2 branch with a reasonable story here. I'll send a note to llvmdev explaining what's going on and why. Summary of reverted revisions: r166634: Fix a compiler warning with an unused variable. r166607: Add some cleanup to the DataLayout changes requested by Chandler. r166596: Revert "Back out r166591, not sure why this made it through since I cancelled the command. Bleh, sorry about this! r166591: Delete a directory that wasn't supposed to be checked in yet. r166578: Add in support for getIntPtrType to get the pointer type based on the address space. llvm-svn: 167221
-
- Oct 24, 2012
-
-
Micah Villmow authored
llvm-svn: 166607
-
Micah Villmow authored
This checkin also adds in some tests that utilize these paths and updates some of the clients. llvm-svn: 166578
-
- Oct 15, 2012
-
-
Micah Villmow authored
Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis. llvm-svn: 165941
-
- Oct 11, 2012
-
-
Micah Villmow authored
llvm-svn: 165747
-
Micah Villmow authored
Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly. llvm-svn: 165726
-
- Oct 08, 2012
-
-
Micah Villmow authored
llvm-svn: 165402
-
- Sep 25, 2012
-
-
Jim Grosbach authored
Even out-of-line jump tables can be in the code section, so mark them as data-regions for those targets which support the directives. rdar://12362871&12362974 llvm-svn: 164571
-
- Sep 07, 2012
-
-
Benjamin Kramer authored
For some reason .lcomm uses byte alignment and .comm log2 alignment so we can't use the same setting for both. Fix this by reintroducing the LCOMM enum. I verified this against mingw's gcc. llvm-svn: 163420
-
Chad Rosier authored
llvm-svn: 163401
-
Benjamin Kramer authored
- Darwin lied about not supporting .lcomm and turned it into zerofill in the asm parser. Push the zerofill-conversion down into macho-specific code. - This makes the tri-state LCOMMType enum superfluous, there are no targets without .lcomm. - Do proper error reporting when trying to use .lcomm with alignment on a target that doesn't support it. - .comm and .lcomm alignment was parsed in bytes on COFF, should be power of 2. - Fixes PR13755 (.lcomm crashes on ELF). llvm-svn: 163395
-
- Aug 25, 2012
-
-
Richard Smith authored
Reviewed offline by chandlerc. llvm-svn: 162623
-
- Aug 17, 2012
-
-
Bill Wendling authored
make it more consistent with its intended semantics. The `linker_private_weak_def_auto' linkage type was meant to automatically hide globals which never had their addresses taken. It has nothing to do with the `linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix among other things. The intended semantic is more like the `linkonce_odr' linkage type. Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore changing the semantics so that it produces the correct output for the linker. Note: The old linkage name `linker_private_weak_def_auto' will still parse but is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0. <rdar://problem/11754934> llvm-svn: 162114
-
- Jun 28, 2012
-
-
Bill Wendling authored
include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h. The reasoning is because the DebugInfo module is simply an interface to the debug info MDNodes and has nothing to do with analysis. llvm-svn: 159312
-
- Jun 22, 2012
-
-
Rafael Espindola authored
knows dwarf or not. llvm-svn: 158993
-
Nick Lewycky authored
a recommit of r127757. Fixes PR9493. Patch by Paul Robinson! llvm-svn: 158957
-
- Jun 02, 2012
-
-
Jakob Stoklund Olesen authored
No functional change intended. Sorry for the churn. The iterator classes are supposed to help avoid giant commits like this one in the future. The TableGen-produced register lists are getting quite large, and it may be necessary to change the table representation. This makes it possible to do so without changing all clients (again). llvm-svn: 157854
-
- May 18, 2012
-
-
Jim Grosbach authored
Use a dedicated MachO load command to annotate data-in-code regions. This is the same format the linker produces for final executable images, allowing consistency of representation and use of introspection tools for both object and executable files. Data-in-code regions are annotated via ".data_region"/".end_data_region" directive pairs, with an optional region type. data_region_directive := ".data_region" { region_type } region_type := "jt8" | "jt16" | "jt32" | "jta32" end_data_region_directive := ".end_data_region" The previous handling of ARM-style "$d.*" labels was broken and has been removed. Specifically, it didn't handle ARM vs. Thumb mode when marking the end of the section. rdar://11459456 llvm-svn: 157062
-
- Mar 24, 2012
-
-
Jim Grosbach authored
Dump the hex representation to the comment stream as well as the float value. llvm-svn: 153346
-
- Mar 20, 2012
-
-
Bill Wendling authored
i128). In that case, we may not be able to print out the MCExpr as an expression. For instance, we could have an MCExpr like this: 0xBEEF0000BEEF0000 | (0xBEEF0000BEEF0000 << 64) The MCExpr printer handles sizes up to 64-bits, but this expression would require 128-bits. In this situation, try to evaluate the constant expression and emit that as the value into 64-bit chunks. <rdar://problem/11070338> llvm-svn: 153081
-
- Mar 06, 2012
-
-
Jakob Stoklund Olesen authored
llvm-svn: 152153
-
- Mar 05, 2012
-
-
Craig Topper authored
llvm-svn: 152016
-
- Feb 22, 2012
-
-
Hal Finkel authored
The standard function epilog includes a .size directive, but ppc64 uses an alternate local symbol to tag the actual start of each function. Until recently, binutils accepted the .size directive as: .size test1, .Ltmp0-test1 however, using this directive with recent binutils will result in the error: .size expression for XXX does not evaluate to a constant so we must use the label which actually tags the start of the function. llvm-svn: 151200
-
- Feb 15, 2012
-
-
Bill Wendling authored
method. This allows the target lowering code to not have to deal with MDNodes. Also, avoid leaking memory like a sieve by not creating a global variable for the image info section, but just emitting the code directly. llvm-svn: 150624
-
- Feb 14, 2012
-
-
Bill Wendling authored
The MachO back-end needs to emit the garbage collection flags specified in the module flags. This is a WIP, so the front-end hasn't been modified to emit these flags just yet. Documentation and front-end switching to occur soon. llvm-svn: 150507
-
- Feb 05, 2012
-
-
Chris Lattner authored
but with a critical fix to the SelectionDAG code that optimizes copies from strings into immediate stores: the previous code was stopping reading string data at the first nul. Address this by adding a new argument to llvm::getConstantStringInfo, preserving the behavior before the patch. llvm-svn: 149800
-
- Feb 03, 2012
-
-
Akira Hatanaka authored
needed to emit a 64-bit gp-relative relocation entry. Make changes necessary for emitting jump tables which have entries with directive .gpdword. This patch does not implement the parts needed for direct object emission or JIT. llvm-svn: 149668
-
- Feb 01, 2012
-
-
Argyrios Kyrtzidis authored
These are: r149348 r149351 r149352 r149354 r149356 r149357 r149361 r149362 r149364 r149365 llvm-svn: 149470
-
- Jan 31, 2012
-
-
Chris Lattner authored
with recent changes, ConstantArray is never a "string". Remove the associated methods and constant fold the clients to false. llvm-svn: 149362
-
Chris Lattner authored
CodeGen/X86/global-sections.ll to fail with CDArray llvm-svn: 149343
-
Chandler Carruth authored
vectors of all one bits to be printed more cleverly in the AsmPrinter. Unfortunately, the byte value for all one bits is the same with -fsigned-char as the error return of '-1'. Force this to be the unsigned byte value when returning it to avoid this problem, and update the test case for the shiny new behavior. Yay for building LLVM and Clang with -funsigned-char. Chris, please review, and let me know if there is any reason to not desire this change. It seems good on the surface, and certainly intended based on the code written. llvm-svn: 149299
-
- Jan 30, 2012
-
-
Chris Lattner authored
like normal integers. llvm-svn: 149223
-
Chris Lattner authored
llvm-svn: 149222
-
- Jan 26, 2012
-
-
James Molloy authored
Add support for the R_ARM_TARGET1 relocation, which should be given to relocations applied to all C++ constructors and destructors. This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against. llvm-svn: 149057
-
- Jan 25, 2012
-
-
Anton Korobeynikov authored
and let linker handle the rest. This finally fixes PR5329 llvm-svn: 148990
-
Chris Lattner authored
llvm-svn: 148897
-
- Jan 24, 2012
-
-
Chris Lattner authored
and clean up some other misc stuff. Unlike ConstantArray, we will prefer to emit .fill directives for "String" arrays that all have the same value, since they are denser than emitting a .ascii llvm-svn: 148793
-
- Jan 20, 2012
-
-
David Blaikie authored
llvm-svn: 148578
-
- Jan 13, 2012
-
-
Bill Wendling authored
llvm-svn: 148065
-
Bill Wendling authored
The registers are placed into the saved registers list in the reverse order, which is why the original loop was written to loop backwards. llvm-svn: 148064
-