{"push_id":817864958,"size":4,"distinct_size":4,"ref":"refs/heads/master","head":"2b5a37f36e743ed9ec594a4f0e0802c491397ac1","before":"4e74f185be9363868fc6a25dfc8e58bba59b1764","commits":[{"sha":"4109622a7938b0e5dfcad7217c0b82e269539a0d","author":{"email":"fbe9e45cbb51ebd86366cc402735e3c7e9b1e064@gmail.com","name":"David Majnemer"},"message":"[WinEH] Create a separate MBB for funclet prologues\n\nOur current emission strategy is to emit the funclet prologue in the\nCatchPad's normal destination.  This is problematic because\nintra-funclet control flow to the normal destination is not erroneous\nand results in us reevaluating the prologue if said control flow is\ntaken.\n\nInstead, use the CatchPad's location for the funclet prologue.  This\ncorrectly models our desire to have unwind edges evaluate the prologue\nbut edges to the normal destination result in typical control flow.\n\nDifferential Revision: http://reviews.llvm.org/D13424\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249483 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/earl/llvm-mirror/commits/4109622a7938b0e5dfcad7217c0b82e269539a0d"},{"sha":"c71725a54f3ca0a79824821973d002214ab0a7d0","author":{"email":"05f726f834638679f776bde9b9fcd7e9d7242de5@gmail.com","name":"David Blaikie"},"message":"DebugInfo: Include the decl_line/decl_file in subprogram definitions if they differ from those in the declaration\n\nThis is handy for some AutoFDO stuff, and seems like a minor improvement\nto correctness (otherwise a debug info consumer might think the decl\nline/file of the def was the same as that of the declaration - though\nwhat a consumer might use that for, I'm not sure - maybe \"list <func>\"\nwould've misbehaved with the old behavior?) and at a minor cost (in my\nexperiment, with fission, without type units, without compression, 0.01%\ngrowth in debug info in the executable/objects, 0.02% growth in the .dwo\nfiles).\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249487 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/earl/llvm-mirror/commits/c71725a54f3ca0a79824821973d002214ab0a7d0"},{"sha":"3beeff4c2db5e1cfd9bb54d358e88381486b6ffa","author":{"email":"05f726f834638679f776bde9b9fcd7e9d7242de5@gmail.com","name":"David Blaikie"},"message":"Move test to X86-specific due to some IR invalid on other targets\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249489 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/earl/llvm-mirror/commits/3beeff4c2db5e1cfd9bb54d358e88381486b6ffa"},{"sha":"2b5a37f36e743ed9ec594a4f0e0802c491397ac1","author":{"email":"8800578b51f022c8d8adb9606a8b3db4fedbdac6@hanshq.net","name":"Hans Wennborg"},"message":"InstCombine: Fold comparisons between unguessable allocas and other pointers\n\nThis will allow us to optimize code such as:\n\n  int f(int *p) {\n    int x;\n    return p == &x;\n  }\n\nas well as:\n\n  int *allocate(void);\n  int f() {\n    int x;\n    int *p = allocate();\n    return p == &x;\n  }\n\nThe folding can only be done under certain circumstances. Even though p and &x\ncannot alias, the comparison must still return true if the pointer\nrepresentations are equal. If a user successfully generates a p that's a\ncorrect guess for &x, comparison should return true even though p is an invalid\npointer.\n\nThis patch argues that if the address of the alloca isn't observable outside the\nfunction, the function can act as-if the address is impossible to guess from the\noutside. The tricky part is keeping the act consistent: if we fold p == &x to\nfalse in one place, we must make sure to fold any other comparisons based on\nthose pointers similarly. To ensure that, we only fold when &x is involved\nexactly once in comparison instructions.\n\nDifferential Revision: http://reviews.llvm.org/D13358\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249490 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/earl/llvm-mirror/commits/2b5a37f36e743ed9ec594a4f0e0802c491397ac1"}]}