search for: sunkaddr

Displaying 4 results from an estimated 4 matches for "sunkaddr".

2011 Sep 06
1
[LLVMdev] sunkaddr var names
When viewing generated IR code in a module I generated, I'm seeing %sunkaddr?? IR variables, being created that I did not generate. What is the point of these var names, and implementations of their use such as: %sunkaddr16 = sext i32 %25 to i64 %sunkaddr15 = ptrtoint i8* %addr to i64 %sunkaddr17 = mul i64 %sunkaddr16, 4 %sunkaddr18 = add i64 %sunkaddr15, %sunk...
2014 May 21
5
[LLVMdev] [CodeGenPrepare] Sinking incoming values of a PHI Node
...bel %if.else if.then: ; preds = %entry br label %merge if.else: ; preds = %entry br label %merge merge: ; preds = %if.else, %if.then %0 = bitcast float* %a to i8* %sunkaddr = getelementptr i8* %0, i64 16 %1 = bitcast i8* %sunkaddr to float* %w1 = load float* %1 ret void } saving registers on %p1 and %q1. However, this approach misses optimization opportunities in two cases. First, if an incoming value of a PHI node is used in multiple memory instructions, CGP...
2010 Oct 26
0
[LLVMdev] Reproducible testcase for r100044
Attached is a .ll with a reproducible test case for the bug addressed by r100044 -- "Fix a nasty dangling-pointer heisenbug that could generate wrong code pretty much anywhere AFAICT." Doing llvm-as < sunkaddr.ll | llc which a llc after r100044 will generate .LBB1_2: # %if-false-block movl $1, 16(%rdi) movl 120(%rdi), %eax ret while one before will generate: .LBB1_2: # %if-false-block movl $1, 1...
2018 Jun 29
2
Cleaning up ‘br i1 false’ cases in CodeGenPrepare
...loop until no more transformations are made fixes this issue. Is this reasonable ? My simple fix (without any indentation changes) is: --- a/llvm/lib/CodeGen/CodeGenPrepare.cpp +++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp @@ -316,7 +316,9 @@ bool CodeGenPrepare::runOnFunction(Function &F) { SunkAddrs.clear(); if (!DisableBranchOpts) { + MadeChange = true; + while (MadeChange) { MadeChange = false; SmallPtrSet<BasicBlock*, 8> WorkList; for (BasicBlock &BB : F) { @@ -352,6 +354,7 @@ bool CodeGenPrepare::runOnFunction(Function &F) { EverMadeChange |= MadeC...