- Mar 24, 2012
-
-
Kostya Serebryany authored
llvm-svn: 153353
-
Bill Wendling authored
destination module, but one of them isn't used in the destination module. If another module comes along and the uses the unused type, there could be type conflicts when the modules are finally linked together. (This happened when building LLVM.) The test that was reduced is: Module A: %Z = type { %A } %A = type { %B.1, [7 x x86_fp80] } %B.1 = type { %C } %C = type { i8* } declare void @func_x(%C*, i64, i64) declare void @func_z(%Z* nocapture) Module B: %B = type { %C.1 } %C.1 = type { i8* } %A.2 = type { %B.3, [5 x x86_fp80] } %B.3 = type { %C.1 } define void @func_z() { %x = alloca %A.2, align 16 %y = getelementptr inbounds %A.2* %x, i64 0, i32 0, i32 0 call void @func_x(%C.1* %y, i64 37, i64 927) nounwind ret void } declare void @func_x(%C.1*, i64, i64) declare void @func_y(%B* nocapture) (Unfortunately, this test doesn't fail under llvm-link, only during an LTO linking.) The '%C' and '%C.1' clash. The destination module gets the '%C' declaration. When merging Module B, it looks at the '%C.1' subtype of the '%B' structure. It adds that in, because that's cool. And when '%B.3' is processed, it uses the '%C.1'. But the '%B' has used '%C' and we prefer to use '%C'. So the '@func_x' type is changed to 'void (%C*, i64, i64)', but the type of '%x' in '@func_z' remains '%A.2'. The GEP resolves to a '%C.1', which conflicts with the '@func_x' signature. We can resolve this situation by making sure that the type is used in the destination before saying that it should be used in the module being merged in. With this fix, LLVM and Clang both compile under LTO. <rdar://problem/10913281> llvm-svn: 153351
-
Jim Grosbach authored
No functional change, just tidy up the code and nomenclature a bit. llvm-svn: 153347
-
Jim Grosbach authored
Dump the hex representation to the comment stream as well as the float value. llvm-svn: 153346
-
Akira Hatanaka authored
entries in the relocation table before they are written out to the file. llvm-svn: 153345
-
- Mar 23, 2012
-
-
Dan Gohman authored
is retaining the return value of an invoke that it immediately follows. llvm-svn: 153344
-
Dan Gohman authored
same basic block, and it's not safe to insert code in the successor blocks if the edges are critical edges. Splitting those edges is possible, but undesirable, especially on the unwind side. Instead, make the bottom-up code motion to consider invokes to be part of their successor blocks, rather than part of their parent blocks, so that it doesn't push code past them and onto the edges. This fixes PR12307. llvm-svn: 153343
-
Owen Anderson authored
Make it feasible for clients using EngineBuilder to capture the TargetMachine that is created as part of selecting the appropriate target. This is necessary if the client wants to be able to mutate TargetOptions (for example, fast FP math mode) after the initial creation of the ExecutionEngine. llvm-svn: 153342
-
Lang Hames authored
llvm-svn: 153341
-
Benjamin Kramer authored
This should unbreak the msvc build. llvm-svn: 153329
-
Benjamin Kramer authored
llvm-svn: 153328
-
Benjamin Kramer authored
New code should use raw_ostream. llvm-svn: 153326
-
Anton Korobeynikov authored
Patch from Mageia! llvm-svn: 153324
-
Duncan Sands authored
dominated by Root, check that B is available throughout the scope. This is obviously true (famous last words?) given the current logic, but the check may be helpful if more complicated reasoning is added one day. llvm-svn: 153323
-
Duncan Sands authored
llvm-svn: 153322
-
Bill Wendling authored
llvm-svn: 153315
-
Bill Wendling authored
llvm-svn: 153314
-
Bill Wendling authored
of memory during LTO. llvm-svn: 153313
-
Eric Christopher authored
llvm-svn: 153307
-
Eric Christopher authored
llvm-svn: 153306
-
Eric Christopher authored
the PassManager annoying and should be reimplemented as a decorator on top of existing passes (as should the timing data). llvm-svn: 153305
-
Nick Lewycky authored
llvm-svn: 153296
-
- Mar 22, 2012
-
-
Andrew Trick authored
llvm-svn: 153287
-
Andrew Trick authored
Tests cases have been removed but attached to open PR12330. llvm-svn: 153286
-
Bill Wendling authored
llvm-svn: 153278
-
Bill Wendling authored
llvm-svn: 153277
-
Bill Wendling authored
few comments where none existed before. Also change a function's name to match the current coding standard. No functionality change. llvm-svn: 153276
-
-
-
Dan Gohman authored
llvm-svn: 153267
-
Andrew Trick authored
Keep the public interface clean, even though LLVM proper does not currently use it. llvm-svn: 153263
-
Andrew Trick authored
llvm-svn: 153262
-
Andrew Trick authored
llvm-svn: 153260
-
Andrew Trick authored
llvm-svn: 153259
-
Andrew Trick authored
llvm-svn: 153258
-
Andrew Trick authored
llvm-svn: 153257
-
Andrew Trick authored
canonical indvars. llvm-svn: 153256
-
Andrew Trick authored
llvm-svn: 153255
-
Silviu Baranga authored
Added soft fail checks for the disassembler when decoding some corner cases of the STRD, STRH, LDRD, LDRH, LDRSH and LDRSB instructions on ARM. llvm-svn: 153252
-
Silviu Baranga authored
llvm-svn: 153251
-